Patterns for service-oriented integration
Service-oriented integration is based on two fundamental patterns:
Process integration: The process integration pattern extends the 1: N topology of the broker pattern. It simplifies the serial execution of business services, which are provided by the target applications.
Workflow integration: This is basically a variant of the serial process pattern. It extends the capability of simple serial process orchestration to include support for user interaction during the execution of individual process steps.
Process integration
The process integration pattern extends the 1: N topology of the broker pattern seen in EAI. It simplifies the serial execution of business services, which are provided by the target applications, and therefore enables the orchestration of serial business processes, based on the interaction of the source application. The serial sequence is defined using process rules, which allows for decoupling from the process logic (flow logic and the domain logic) of the individual application. The rules define not only the control and data flow, but also the permitted call rules for each target application. Interim results (process data) are stored in individual results databases.
The process integration pattern can be broken down into three building blocks:
The source applications consist of one or more applications that want to interact with the target applications.
The serial process rules support the same services as the broker in the broker pattern, including routing queries, protocol conversion, message broadcasting, and message decomposition and re-composition. In addition, externalization of the process flow logic from the individual applications is also supported. The process logic is determined by serial process rules which, together with the control and data flow rules, define the execution rules for each target application. These rules are stored in a process rules database.
The target applications consist of both new and existing (modified or unmodified) applications. These applications are responsible for implementing the necessary business services.
The advantages and disadvantages of the process integration pattern are shown in the following table:
Advantages |
Disadvantages |
---|---|
|
|
Uses
Process integration is used for the following reasons:
Support for end-to-end process flows which use the services provided by the target applications
Improves the flexibility and responsiveness of IT by externalizing process logic from individual applications
Variants
There are two variants of this pattern:
The parallel process pattern extends the simple serial process orchestration provided by the serial process patterns, by supporting concurrent execution and orchestration of business service calls. The concurrent execution of sub-processes requires the sub-steps to be split up and brought together, so that they can be executed in parallel. Different patterns are available for this purpose at an implementation level (for example, patterns for parallel computing and different architecture styles (for example, pipes-and-filters architectures). The interim results of a sub-step may or may not influence the overall results. It is also possible for the interim results of a sub-step to influence the execution of other sub-steps.
The external business rules variant adds the option of externalizing business rules from the serial process, into a business rule engine, where they can be evaluated. The process only reacts to the responses of the rule engine. The complex rule evaluations are carried out by the specialized rule engine. Externalizing the rules improves flexibility and responsiveness, because the business rules can be adapted much more easily and quickly.
Workflow integration
The workflow integration pattern represents an extension of the process integration pattern, as illustrated in the following diagram:
It extends the capability of simple serial process orchestration to include support for user interaction during the execution of individual process steps. As a result, it supports a classic workflow.
Variants
The parallel workflow integration pattern is a variant of the workflow integration pattern, and corresponds to the parallel process integration pattern which forms part of the process integration pattern. It extends the capability of parallel process orchestration to include support for user interaction during the execution of individual process steps. As a result, it supports a parallel workflow.