Service oriented architecture (SOA) , the latest advancement in software architecture and technology enabled architects to embrace the best of distributed computing and open service architecture. It allowed disparate teams to operate independently and publish their software artifacts for others to reuse.
The ultimate business objective is achieved by the orchestra between independent artifacts talking to each other to achieve the overall systems object.
Downside of SOA
Though this orchestra between system increase reusable and increase modularisation , just like any other technology it has bought its own disadvantages with it.
This distributed nature allowed the software to scale to an extent that it is unmanageable. More over when the software artifact is highly distributed the interconnection these artifact have with each other becomes complex. As the system grows in the SOA paradigm the coupling between independent system also grows. The result is the independent system which originally intended to be independent becomes dependent on each other because of a new problem which is introduced.
The provider & Consumer issue- The provider system as it is open architecture allows unidentified consumers to consume their service. Being withing the same organization the provider cannot modify or discontinue a service untile it is sure that its there are no consumer for the service which it intends to modify. The architecture which intented to advocate independence is actually hypocrate if it also does not have a way to govern the interconnections.
This brings in the need for a new area called SOA Governance. A way to maintain a repository of the sharable assets and that providers exposes and a the consumers of the assets. Governance should also give the ablity for the provider to maintain contract for the consumption with the consumers.
Governance is not achievable unless the needed process is introduced into the regular development process. And It should be supported with the needed tools to make it happen in the organization.
An exciting challenge that im designing and driving to get it done for my Organization. Once it is fully embraced by the organization and its people Govrnance becomes an intangible asset to the organization enabling it to fully realize the power of SO Architecture of software design.