Service Oriented Integration
Service-oriented Integration (SOI) – a logical extension of functional integration – is where the applications integrate by using service interactions in an SOA environment. Service are provided by source application (service provider) and consumed by target applications (service consumers). Typically, SOI is implemented as systems that consume and provide XML-based Web services.
SOI addresses the issues of integrating heterogeneous and inflexible systems while overcoming the difficulties of functional Integration in terms of location and technology of the function. For example, functionality in a mainframe can be exposed as a web service implemented using a .Net framework.
In SOI, the service defines a contract – such as the technology, communications protocols, and message definitions – that all service consumers must conform to in order to communicate with the service. SOI enables loose coupling, thereby bringing flexibility and interoperability to newer heights – to the extent that the service provider as well as consumers need not be fixed – and the change in the service provider can be transparent to the service consumers.
In spite of its various benefits, Web Services using XML is not a panacea for all integration scenarios – as it involves considerable effort (for implementation) and overhead (during runtime). For example, usage of XML while providing maximum level of data independence does have a performance overhead due to transformations required.
Let us look at the W3 Definition of Web Services – “Web services architecture is an interoperability architecture that provides a standard means of interoperating between different software applications, running on a variety of platforms and/or frameworks”.
Web Service and XML make the most sense in case of Integration between Unknowns, applications running in heterogeneous environment, and applications that change frequently.
If the organization has application predominantly running on a single platform and hence do not have the complexities associated with integration between disparate platforms – which is chiefly addressed by SOI, using SOI makes most sense for integration with external world – web portals, other web sites etc. – where the flexibility and interoperability is most required.
If SOI is considered for integration of applications internal to the organization – as they provide the maximum flexibility and interoperability, use of Enterprise Service Bus concept and use of commercial tools is strongly recommended.
For basic information on SOA, Web Services and ESB, refer to earlier blogs http://itknowledgeexchange.techtarget.com/enterprise-IT-tech-trends/essentials-of-soa-web-services-and-esb-in-the-integration-context-part-i/.