This section explains how the Process Manager EIP can be implemented using WSO2 ESB. The following topics are covered:
Introduction to Process Manager EIP
The Process Manager EIP routes a message through multiple processing steps, when the required steps might not be known at design-time and might not be sequential. It maintains the state of the sequence and determines the next processing step based on intermediate results. For more information, refer to http://www.eaipatterns.com/ProcessManager.html.
Figure 1: Process Manager EIP
How WSO2 ESB implements the EIP
Message routing can take different series of processing steps. In the Routing Slip EIP, a message contains the routing path (a sequence of processing steps), which is decided at design stage. But in many cases the routing decisions have to be made based on intermediate results, and processing steps might need to be executed in parallel. In order to achieve this dynamic behavior, a processing unit called Process Manager has been introduced, which determines the next processing step based on intermediate results.
Designing and configure a Process Manager is a fairly big area of study. WSO2 has implementing patterns related to designing of workflows or business process management. The WSO2 Business Process Server (http://wso2.com/products/business-process-server) enables you to easily develop business processes using WS-BPEL standards, and provides hosting environment.