Integration of Web server and legacy applications in SOA

Integration of Web server and legacy applications in SOA is generally done via wrappers as illustrated in this figure. Such integration does not naturally fit into the nature of SOA and imposes a lot of constraints.

Traditional transactional based programs are generally Remote Procedure Call (RPC) style and support the transmission of a single data context. SOA on the other hand standardizes the use of a document-style messaging that can bundle data related to more than one data context. A service with wrapped legacy transaction imposes an RPC-style of messaging. Composition of a number of services with wrapped legacy transactions into a single service would require multiple instances of cross-platform communication.

To optimize the potential of SOA in an Enterprise IT system, design solutions to meet the following requirements are necessary:

1. Support document-style messaging across all new and legacy platforms.
2. Allow composition of services to form a compound service across all platforms.
3. Provide a mechanism to invoke the correct services depending on the content in the service context.
4. Provide a mechanism so that each service would be able to retrieve its required information from the input document and insert its output into the output document without the concern of the hierarchy tree structure of the documents.

Our solution is to use a service context that can be serialized and expanded. This service context can be passed from one language environment to the other. Integration Object Document Model (IDOM) is used for this purpose. Detail description of IDOM can be found in SOA-IDOM.pdf. The underlying architecture can be found in this figure.