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