Chapter 4. Application Integration and Extended Enterprise patterns 53
4.1.2 Serial Process application pattern
The Serial Process application pattern, shown in Figure 4-2, supports the
sequential execution of business services hosted by a number of target
applications. The source application initiates a serial business process.
Figure 4-2 Serial Process application pattern
Business and IT drivers
The primary business driver for this pattern is composing a set of business
services into an end-to-end business process.
From an IT perspective, the key driver is improving the flexibility and
responsiveness of IT by externalizing the process flow logic from individual
The Serial Process application pattern is broken down into three logical tiers:
The Source Application tier represents one or more applications that are
interested in interacting with the target applications.
The Serial Process Rules tier supports most of the services provided by the
broker tier in the Broker application pattern, including routing of requests,
protocol conversion, message broadcasting, and message decomposition/
recomposition. It also supports the separation of business process flow logic
from individual application logic.
The process logic is governed by the serial process rules that define
execution rules for each target application, together with control flow and data
54 Patterns: Building Serial and Parallel Processes for IBM WebSphere Process Server V6
flow rules. It may also include any necessary adapter rules. The combination
of these process execution rules are stored in read-only databases.
This externalization of process flow logic is essential for the implementation of
a flexible and responsive IT environment that can respond quickly to changing
business needs. It also makes it possible to compose new end-to-end
processes by combining different business services provided by different
applications. Finally, this tier uses a work-in-progress (WIP) database to store
the intermediate results from the execution of different process steps.
The Target Application tier represents new, modified existing, or unmodified
existing applications that implement the necessary business services.
Guidelines for use
The flexibility and responsiveness provided by this Application pattern depend on
externalizing process execution logic from individual applications. Applications
designed with a service-oriented architecture (SOA) approach, which have
well-defined and coarse-grained business services, are better suited for
participation in this pattern. A service may participate in more than one
Typically, traditional applications are not designed with this approach in mind.
Moreover, many have significant amounts of process logic embedded within
them. These constraints in existing environments may pose challenges to fully
implementing this Application pattern. A good starting point is to wrap traditional
and packaged applications into business services.
Composing process flows by tying together different applications may introduce
the need for compensating transaction support. This is especially true when
participating applications do not leverage XA-compliant transaction processing
engines. You may need to design compensating transaction pairs for every
affected transaction. You may also need to modify participating traditional and
packaged target applications to introduce compensating transactions.
Finally, pay particular attention to the business process management capabilities
supported by the business process design tools and the process execution
engines when you select middleware products. The goal is to enable business
users to compose business processes and make necessary changes with
minimal involvement from IT professionals. The business processes thus defined
must be easily exported into a process execution engine. More sophisticated
business process management tools allow for the definition of metrics during
process design and support monitoring of the metrics in the process execution
Chapter 4. Application Integration and Extended Enterprise patterns 55
The Serial Process application pattern improves the flexibility and
responsiveness of an organization by implementing end-to-end process flows
and by externalizing process logic from individual applications.
It integrates multiple, diverse applications.
It minimizes the impact to existing applications.
It relieves the source application from being aware of the target application.
It can provide transformation services that allow the source and target to use
different communication protocols.
It minimizes the impact of changes in location of the target application.
It provides a foundation for automated support for business process
management, enabling monitoring and measurement of the effectiveness of
This Application pattern supports straight-through processing without human
interaction. If human interaction is needed to complete certain process steps,
consider the Workflow variation of this Application pattern as described in 4.1.4,
“Serial Workflow variation” on page 58.
It also does not support the parallel execution of multiple tasks. Under such
circumstances, consider the Parallel Process application pattern discussed in
4.1.3, “Parallel Process pattern” on page 56.