To improve is to change; to be perfect is to change often – Winston Churchill
Sir Churchill seems to be completely right in a general sense, and it is very much relevant in this modern era of information technology. In a competitive, complex and dynamic business environment, organizations are fast realizing that the ability to transform their IT for their future business needs will determine their success. An agile enterprise or an organization that continuously reinvents itself, would be successful only if they have a flexible IT infrastructure that depicts their current organizational structure and business domain. The need for this kind of flexibility resulted in what is called an enterprise architecture that is nothing but a bundle of loosely coupled functions and processes from the organizations’ point of view.
An enterprise architecture gets even better if it is a Service Oriented Architecture (SOA). An SOA is a collection of services that can interact with each other to carry out the business processes. Each service in this case, would be self-sufficient, in terms of data and state maintenance, and would form a node in a distributed computing environment. Each business process, thus becomes a series of request-response cycles involving one or more services. Please note that we are not necessarily talking about web services here.
SOA really puts some of the beautiful technology concepts into practice – Reusability, Encapsulation and common protocol for usage and data exchange to name a few. Each independent service as such could be implemented in any language or technology platform. It also provides tremendous possibility for organizations to integrate their existing solutions with other external systems by keeping similar protocols for publishing and accessing the services. This is achieved via the standardization of protocols by leading independent research & standards organizations like World Wide Web Consortium (W3C). We may recall that first generation service oriented architectures like DCOM or CORBA didn’t help everyone mainly because access protocols across heterogenic systems were not standardized.
Enterprise SOA seems to be the new buzzword now, that promises a scaleable, adaptable and open service oriented architecture for developing and/or adapting enterprise solutions. Leading business software vendors like SAP is investing heavily to port their traditional ERP and domain specific enterprise applications and suites towards service orientation. While newer applications can be fully service compliant and will work as per the current vision, it is yet to be seen how organizations can adapt their existing applications to the SOA platforms that these vendors offer. One-time adaptation may not be a feasible option for many huge organizations. So they can buy the new enterprise SOA applications for fresh requirements and integrate them to their existing infrastructure. Over a period of time, probably they can adapt the systems towards enterprise SOA, and until it is fully achieved they have to be satisfied with a side-by-side model in their IT infrastructure.
A clean enterprise SOA solution is not there in the market yet. However the next two or three years could witness a surge of service oriented enterprise offerings for both medium and large scale organizations. The success of these solutions at the end may depend on enterprise-wide protocol standardization (how long the current standards last?) and lower cost to get started (for IT optimization). After all, these technological shifts should help the enterprises to concentrate more on their core business rather than spending time and resources on IT infrastructure alone.