There has been a lot of talk about SOA lately. People want to use solutions that will provide them the benefit of providing them the benefits of this buzzword, and tend to migrate towards one particular product or solution focusing on the technology, not necessarily the principles of what SOA is intending to offer. The conference that I attended recently was targeting what it meant to be a practitioner of SOA, rather than a consumer of SOA hype.
I originally announced the conference, in another blog. The focus was purposely not about a single vendors stack of technologies, but rather known techniques, issues in building systems, solutions and new trends, such as Mashups and REST and how they benefit service oriented thinking and design. Of course, there were large vendors that talked about the benefits of their own product roadmap, but the intention of the organizers in the conference was to promote service oriented design which could be applied to generating solutions using the technology, not specifically about a single vendors bag of goodies.
As a matter of fact, an interesting talk was given by Anne Thomas Manes who talked about whether SOA has been oversold. In the end, it is the principles people should be focusing on for design and people should not overlook to practice these principles, rather than focusing on a specific technology stack.
It was an interesting conference overall and I am looking forward to the next year’s gathering.
In the conference, a book that I have colloborated in writing with other colleagues in the field was also launched. The book is called “Web Services Contract Design and Versioning for SOA“. At the end of the conference, several of the authors who were gathered in front of the audience was asked why we wrote such a book, that focused on the Web service technology in the SOA practice. The book took 2 1/2 years to complete and it took a lot of hard work to finish it. You can find the pictures of the ceremony in the SOA symposium website where we discuss the content of the book and why we wrote it. I will repeat some of this below.
When the idea of writing a colloborative book which would be led by Thomas Erl came about, I was attracted to the idea along with my other colleagues. Kevin Liu from SAP is also an author of the book. Wouldn’t be nice to provide insight and guidance about what we have learned for many years in the creating the standards? Wouldn’t it be nice to shot how they collectively apply in many realistic scenerios for creating, using and deploying services focusing on contracts first?
Many to us who authored the book worked in the standards and colloborated in many standards bodies. Those web services standards are now the backbone of services that people use today. They are implemented by several vendors that target interoperability so that one can use their toolset to consume services that are built by other vendors easily and also expose their services to others. It took a long time and many discussions to finalize them for public consumption, even to get many vendors to agree and participate in interoperability testing before a single specification gets to be standardized. A lot of detail that we see in the specs are the result of discussion and many hours of negotiation in most cases, but may be hidden in little nuances and a lot of speceze that mere mortals would be horrified to decipher.
The bits and bytes are all fine and dandy, but what do all this mean for the practitioner. In particular:
- What do the standards really provide for the real practitioner who needs to utilize these standards?
- What are the guidelines to keep in mind in creating services in end2end scenerios?
- What are the gotchas? What are the hard parts?
- How does one evolve the contracts? What are versioning implications?
There are many standards to use, from service description in WSDL and XML Schema to wire formats in SOAP and addressing, to policy definitions with WS-Policy and putting it all together does not seem to be addressed in one place. Further, creating effective contracts are still an art and we thought putting together a reference book that addresses these end2end scenerios would be beneficial to anyone who is utilizing, developing or deploying these contracts. There are “practices” or “guidelines” but where should one look to get these collectively? The focus in the book is not necessarily WS, but service orientation and patterns that one should think about in real world scenerios in using service orientation concepts with WS.
During the conference, I gave a talk on policy specifications, focusing on primarily WS-Policy and SCA policy. It became obvious to me that there are a lot of folks out there who are new to WS and SOA, and what it means to combine the practice of service orientation with the specific WS stack. The book intends to cover that gap. I also gave a talk on enterprise mashups but I will follow up with another post for that one later.
I do hope that the community finds the book that we have created useful and they can find a different perspective that they can not find elsewhere collectively in a single source. Further, examples are intended that explain the practice of creating contracts to illustrate the underlying concepts and intentions. Hopefully, some of you will find it useful and use as it as part of your learning experience in applying SOA concepts to web services. Please do not hesitate to send us your feedback.