152 Patterns: Serial and Parallel Processes
9.3 General design guidelines
In this scenario, it is acceptable to have a user initiate a short-running process
and await a response when the process completes. Precautions need to be
taken to ensure that the process does not stop during execution. If any
exceptions occur during the processing, the process should complete and the
response from the process should indicate that there was some form of failure.
For a short-running process, timeouts must be included on all of the activities to
ensure that the process does not get stranded.
In this Serial Process pattern scenario, there is no human intervention other than
from the order clerk who initiates the process. We can assume that the order
clerk will launch the process when he submits an order and that he will receive a
response when the order process is completed.
9.3.1 Design overview
This scenario is an implementation of the Process-focused Application
Integration::Serial Process pattern.
For information about the Serial Process Application pattern see:
3.4.6, “Serial Process Application pattern” on page 55
For information about the Serial Process Runtime pattern see:
5.1.1, “Serial Process Runtime pattern” on page 84
Process or workflow?
The term
process is used throughout this redbook to generically describe a
business process. A process may or may not contain human interaction.
The term
workflow is taken to mean a long-running process. A distinction of a
workflow or long-running process is that it persists process instance data
within the process manager’s database during the execution of the process. A
workflow may or may not include human interaction.
A
short-running process can be defined as a process that contains all
automated steps and will complete in a very short period of time. Contrary to a
long-running process, a short-running process does not persist any process
instance data. A WebSphere Process Choreographer non-interruptible
process falls into the category of a short-running process.