Lately, I have been reading a lot about SOA and this is something I am really good at (don’t get me wrong, I just meant the reading!). The more I read about it, the more I am convinced that SOA is the way to move forward. After all, it helps you to a large extent to define what the heck a service is anyway!
I am fully convinced about SOA after having read a miniscule percentage on the possibilities of what SOA can do for you, if done right. This is primarily the most important aspect of implementing SOA, which is getting it right. That defines the need for SOA Governance.
I am planning a series of pieces, which would be mostly acquired knowledge and translating my understanding into these series of pieces and would not be borne by experience of having implemented or consulted on SOA. Though, this is something that I would not be averse to doing in the long run.
When we say for getting SOA right, governance is really important, it brings us to why getting SOA is so damn difficult. This will be the gist of this post; pardon me for the long introduction before getting into the post.
Reasons why SOA is so damn difficult:
- It is unfamiliar and designing services is very different from building applications
- It is built to be re-used or leveraged in to new environments or applications
- SOA technologies are pretty complex and the standards are even more complex; SOA being loosely coupled and distributed makes it even more complex
- Ones who build SOA services don’t really know the consumers
In short, there is no way to instant “soafication” and it is a strategy that has to be put in place brick by brick where collaborations between various stakeholders and the infrastructure is of paramount importance. Doing SOA right simply boils down to effective governance mechanism in place. As the famous adage goes, “I dont know how to do this, but I believe that my team is doing it”. How many times have we heard this before?