56 Broker Interactions for Intra- and Inter-enterprise
From an IT perspective the key driver for selecting this Application pattern is
improving the flexibility and responsiveness of IT by externalizing the process
flow logic from individual applications.
Solution
The Serial Process application pattern is broken down into three logical tiers:
? The Source Application tier is the same as for the Broker application pattern.
? 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. In addition, it supports the separation of business process flow
logic from individual application logic. The process logic is governed by serial
process rules that define execution rules for each target application, together
with control flow and data 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 utilizes a work-in-progress
(WIP) database to store the intermediate results from the execution of
different process steps.
? The Target Application tier is the same as for the Broker application pattern.
Guidelines for use
The flexibility and responsiveness provided by this Application pattern is heavily
dependent on the externalization of process execution logic from individual
applications. Applications designed based on a Service Oriented Architecture
(SOA) approach, with well defined coarse-grained business services that
represent a unit of work, are better suited for participation in this Application
pattern. One must be able to compose these business services into an
end-to-end process flow. A given service may need to participate in more than
one end-to-end process.
Typically, legacy applications are not designed with this thinking in mind.
Similarly, many of the legacy applications have significant amounts of process
logic embedded within them. These constraints in existing environments may
pose challenges to fully implementing the vision promised by this Application
pattern. Careful refactoring of legacy and packaged applications by wrappering
them into business services is a good starting point for the eventual wide-spread
implementation of this Application pattern within an enterprise.