Chapter 3. Application Integration pattern 55
Putting the application pattern to use
ITSO Electronics consists of multiple Retail stores and Wholesale departments.
The Retail stores get their supplies from the Wholesale departments and have a
need to request the delivery dates of those supplies before ordering. Currently
there is no integration of the Retail and Wholesale applications. All interaction
between the two are done over the phone or by mail. A solution must be found to
allow the Retail stores to request delivery dates from the Wholesale
departments. To eliminate the need for the Retail departments to know which
Wholesale department carries which supplies, a Router is needed to take
incoming requests and direct them based on part numbers to the Wholesale
department that carries them. This differs from the example outlined in the
Broker pattern in that only one Wholesale department will carry a part. There is
no need to distribute one request to multiple Wholesale departments
simultaneously to see who can supply the part at the earliest date.
3.4.6 Serial Process application pattern
The Serial Process application pattern, shown in Figure 3-7, extends the 1-to-N
topology provided by the Broker application pattern by facilitating the sequential
execution of business services hosted by a number of target applications. Thus it
enables the orchestration of a serial business process in response to an
interaction initiated by the source application.
Figure 3-7 Serial Process application pattern
Business and IT drivers
The primary business driver for selecting this Application pattern is to support the
composition of end-to-end business process flows by leveraging business
services implemented by a number of target applications.
Source
Application
Serial Process
Rules Tier
Ta r ge t
Application
Target
Application
Target
Application
R/O
WIP
Intermediate
Results
Process
Execution Rules
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.
Chapter 3. Application Integration pattern 57
Composition of process flows by tieing together different applications may
introduce the need for compensating transaction support. This is especially the
case when certain participating target applications do not leverage XA compliant
transaction processing engines. In such cases, it may be necessary to design
compensating transaction pairs for every affected transaction and execute them
if there is a need to reverse a particular portion of the process flow. Participating
legacy and packaged target applications may need to be modified to introduce
compensating transactions if they do not already implement such mechanisms.
Finally, in selecting middleware products that facilitate automation of business
processes pay particular attention to the Business Process Management
capabilities supported by the business process design tools and the process
execution engines. The eventual 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 the process design to
measure the effectiveness of process implementation and support monitoring of
the metrics in the process execution engine.
Benefits
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.
In addition, it provides a foundation for automated support for Business Process
Management that enables the monitoring and measurement of the effectiveness
of business processes.
Limitations
This Application pattern is ideally suited for straight through processing where
human interactions are not necessary to complete an end-to-end process. If
support for human interactions are needed to complete certain process steps,
consider the Workflow variation of this Application pattern.
Similarly it does not support the parallel execution of multiple tasks. Under such
circumstances, consider the more advanced Parallel Process application pattern
discussed later in this chapter.
Putting the Application pattern to use
ITSO Electronics, an electronics retailer/wholesaler, wants to integrate their retail
department with their two inventory wholesale departments, namely Wholesale A
and Wholesale B. Currently, these three departments have proven IT
infrastructures but have no interconnectivity. ITSO Electronics wants to focus on
58 Broker Interactions for Intra- and Inter-enterprise
automating the inventory replenishment process. Typically, the retail department
places orders with Wholesale A. However, when the Wholesale A is unable to
guarantee delivery within 7 days, Wholesale B is contacted to check the
anticipated delivery date and the order is placed with departments that
guarantees the shortest delivery date.
To meet these business process automation requirements, ITSO Electronics
chooses the Serial Process application pattern. The primary driver for this
selection is the need for externalization of process logic from individual
application thus promoting flexibility and responsiveness to changing business
needs.
3.4.7 Serial Process: Workflow variation
The Serial Process Workflow variation of the Serial Process application pattern,
shown in Figure 3-8, extends the basic serial process orchestration capability by
supporting human interaction for completing certain process steps.
Figure 3-8 Serial Workflow variation
Business and IT drivers
All the business and IT drivers listed under the Serial Process application pattern
apply to this variation as well. The additional business driver for selecting this
variation is the need to support human interaction and intervention within the
Source
Application
Serial Workflow
Rules Tier
Tar ge t
Application
Ta r ge t
Application
Target
Application
R/O
WIP
Human
Interaction
Resolution
Intermediate
Results
Process Execution
Rules including
task-resource relationship
Chapter 3. Application Integration pattern 59
process flow. Support for long running transactions is another IT driver, which is
often a pre-requisite for the automation of complex process flows involving
human interaction.
Solution
The Serial Workflow variation is broken down into three logical tiers:
? The Source Application tier is the same as for the Serial Process application
pattern.
? The Serial Workflow Rules tier supports all the services provided by the serial
process rules tier within the Serial Process application pattern. In addition, it
supports certain tasks within the process to be routed to human actors for
completion. To accomplish this the process execution rules are augmented
with task-resource relationships that define which resources are capable of
performing which tasks. In this context:
A task is a portion of the end-to-end process.
Resources are capable of executing these tasks.
People, departments, and target applications can all be resources capable
of executing a particular task.
This tier resolves the task-resource relationship during the execution of a
process. If the need for human interaction is identified, the task is added to a
worklist associated with an individual or a department as a work item to be
completed by a human and the process is typically suspended until the
completion of the task.
Finally, this tier provides support for long running transactions and utilizes a
work-in-progress (WIP) database to store the intermediate results from the
execution of different process steps until the complete execution of the
end-to-end process.
? The Target Application tier is the same as for the Serial Process application
pattern.
Guidelines for use
The following guidelines apply to this variation in addition to the guidelines that
are documented under the Serial Process application pattern.
It is recommended that people-based exception handling be implemented for
majority of the automated tasks within the process. In other words, if an
automated task reaches certain error conditions, human actors must be able to
intervene and handle the exceptions.
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
13.58.220.83