Miko Matsumura had a thoughtful reply to my last post on whether SOA governance can make you less agile. He's absolutely right that it depends on how you use governance. So, I think it's worth clarifying then, the pitfalls of using it right and wrong.
First, as Miko pointed out, agility and efficiency are very different. I think of it in the following way:
So, let's get to what this means with a real-world example relevant to SOA implementations...
Let's say your organization standardizes on SOAP 1.1 - every service must be built using SOAP 1.1. No doubt about it, you will definitely be able to gain efficiency with this decision.
But, the real question is, how does this impact your agility?
To see, let's look at a (not totally unlikely) unknown: What version of SOAP will the industry standardize on? Let's say, in three years, the industry standardizes on SOAP 1.2, not SOAP 1.1 (the current front runner). This means that every packaged application, tool, and platform will support SOAP 1.2 (and a subset support SOAP 1.1 just for backwards compatibility).
You will assume that every one of your applications will be able to talk to each other because they share a common standard, but the truth is that no one supports your "common standard." Are you more agile? Definitely not - the unexpected change of standard will dramatically impact your future efficiency.
On the other hand, if you standardize on SOAP 1.1 now, but decouple your service interactions by having them flow through a SOAP intermediary that supports multiple standards (and is hot-pluggable to support future ones), you will be seamlessly able to migrate your current standard to SOAP 1.2 at a later date, with little or no impact to your IT environment.
So, by combining these approaches (common standards and decoupling), you get both efficiency and agility. Now we're talking.
View all posts from dan foody on the Progress blog. Connect with us about all things application development and deployment, data integration and digital business.
Let our experts teach you how to use Sitefinity's best-in-class features to deliver compelling digital experiences.
Learn MoreSubscribe to get all the news, info and tutorials you need to build better business apps and sites
Progress collects the Personal Information set out in our Privacy Policy and the Supplemental Privacy notice for residents of California and other US States and uses it for the purposes stated in that policy.
You can also ask us not to share your Personal Information to third parties here: Do Not Sell or Share My Info
We see that you have already chosen to receive marketing materials from us. If you wish to change this at any time you may do so by clicking here.
Thank you for your continued interest in Progress. Based on either your previous activity on our websites or our ongoing relationship, we will keep you updated on our products, solutions, services, company news and events. If you decide that you want to be removed from our mailing lists at any time, you can change your contact preferences by clicking here.