The Routing Slip demonstrates how a message can be routed through a dynamic series of processing steps. The solution of the Routing Slip is based on two key assumptions: the sequence of processing steps has to be determined up-front and the sequence is linear. In many cases, these assumptions may not be fulfilled. For example, routing decisions might have to be made based on intermediate results. Or, the processing steps may not be sequential, but multiple steps might be executed in parallel.
How do we route a message through multiple processing steps when the required steps may not be known at design-time and may not be sequential?
Use a central processing unit, a Process Manager, to maintain the state of the sequence and determine the next processing step based on intermediate results.
First of all, let me clarify that the design and configuration of a Process Manager is a pretty extensive topic. We could probably fill a whole book (Volume 2, maybe?) with patterns related to the design of workflow or business process management. Therefore, this pattern is intended primarily to "round off" the topic of routing patterns and to provide a pointer into the direction of workflow and process modeling. By no means is it a comprehensive treatment of business process design....
Related patterns: Aggregator, Asynchronous Implementation with MSMQ, Asynchronous Implementation with TIBCO ActiveEnterprise, Content-Based Router, Correlation Identifier, Emerging Standards and Futures in Enterprise Integration, Message Channel, Message History, Message Store, Message Translator, Pipes and Filters, Publish-Subscribe Channel, Routing Slip, Claim Check
Find the full description of this pattern in:|
Enterprise Integration Patterns
Gregor Hohpe and Bobby Woolf
Parts of this page are available under
the Creative Commons Attribution license.
You can reuse the pattern icon, the pattern name, the problem and solution statements (in bold), and the sketch
under this license. Other portions of the text, such as text chapters or the full pattern text, are protected