358 Patterns: Serial and Parallel Processes
13.1 Business scenario
From a business point of view, this scenario of using a second process manager
is identical to the scenario that introduced parallel processing. The order clerk
places an order specifying the part number and the quantity. An immediate
response is received indicating which wholesaler the order was placed with,
along with a confirmation number and a delivery date.
Behind the scenes, the user is unaware that two process managers are being
used. This scenario is implemented as a WebSphere MQ Workflow process that
invokes a WebSphere Process Choreographer process as a single UPES
activity. For illustrative purposes, this chapter also implements a WebSphere MQ
Workflow process invoking the WebSphere Process Choreographer process.
This scenario is different than the one described in “An alternative solution” on
page 273. The alternative solution has one process manager spawn another
process manager as the process in the first process manager ends. The process
is started with a
fire and forget mentality, or in other words, an asynchronous
process invocation. In this scenario, we are embedding a process run in a
second process manager, with a process running in the first process manager.
The form of sub-process is run synchronously.
It can be speculated that since WebSphere MQ Workflow is a mature product in
production at many sites around the world, an existing WebSphere MQ Workflow
customer may consider using WebSphere Process Choreographer to build a
non-interruptible process within an existing WebSphere MQ Workflow process.
Several UPES activities may be taken out of a current WebSphere MQ Workflow
process template and replaced with a single activity that calls the WebSphere
Process Choreographer non-interruptible process. This could be the first step to
migrating towards a WebSphere Process Choreographer runtime.
13.2 Business process model
The swimlane diagram to depict this process is shown in Figure 13-1 on
page 359.