Thursday, 31 May 2007

Integration Cubed

"Integration" is a many faceted term.
  • The SOA/ESB/middleware business is all about "integrating" applications so they can share data and functionality - Integration Once.
  • When delivering these integrated applications you need "Integrated" tools which work together to make you productive - Integration Twice.
  • When deploying integrated applications you want a common platform for managing and monitoring the integrated apps - Integration 3 times.
It is important when you are choosing an integration platform that the platform delivers in all three aspects - Integration Cubed.

Too many integration solutions today offer a disjointed experience. They focus on one layer of the architecture without properly considering the end-to-end use-cases. In doing so they create solutions that dont quite fit together and are less than the sum of their parts.

Take for example BPEL orchestration in the SOA context - there are a number of vendors offering orchestration as a standalone offering. In some cases these products are quite sophisticated however they fail for the following reasons:
  • BPEL engines are often combined with a Web Services stack and an ESB container to provide SOAP and transport/data integration capabilities respectively. The setup, configuration and support of these three can be quite difficult for simple applications - but for mission-critical applications with high availability, performance and resilience requirements the architecture becomes like a house of cards.
  • BPEL processes are themselves Web services, and, just like other Web Services they must be managed and monitored. However if they are deployed to a separate engine then you probably need two consoles instead of one to manage them. If you want to apply security to your services then you probably need to specify policy for your services in different places for your BPEL Services and their children.
  • BPEL Orchestrations are dependant on the underlying web services from which they are created. In a perfect world these services are complete when the orchestration is being authored. In this idyll the developer has access to everything they require in order to build their orchestrated service - the WSDL - and this does not change. Sadly the blue planet that we call earth is not perfect - the reality is that Web Service implementations and the BPEL which orchestrates them are often evolving in parallel. In this case it is important that changes in the WSDL get reflected in the BPEL. This does not happen when you have separate development environments for BPEL and Web Services.
At Cape Clear we work to deliver Integration Cubed - providing integration capabilities that are functionally, operationally, and from a development perspective coherent. We believe that a successful SOA framework must be verified top-down to mirror the applications that are built upon it. Solutions which take specific layers in the SOA and offer these in isolation provide little or no support for end-to-end capabilities required by SOA Applications like reliability, performance, management & monitoring.