60 Broker Interactions for Intra- and Inter-enterprise
Benefits
The Serial Workflow application pattern improves the flexibility and
responsiveness of an organization by implementing end-to-end process flows
that externalize process logic from individual applications. Further flexibility is
introduced by the externalization of task-resource resolution rules.
In addition, it provides a foundation for automated support for Business Process
Management that enables monitoring and measurements of the effectiveness of
business processes.
Limitations
It does not support the parallel execution of multiple tasks. Under such
circumstances, consider the more advanced Parallel Process application pattern
and Parallel Workflow variation 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 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 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.
The main change from the scenario used in Serial Process application pattern
section is documented below. If both Wholesale A and Wholesale B cannot offer
delivery within 7 days a retail dept. manager must review the shortest anticipated
delivery date proposed by the wholesale department systems and approve the
order before placing the same. The intent of this review is to determine if other
sourcing options must be considered.
To meet these business process automation requirements, ITSO Electronics
chooses the Serial Workflow variation of Serial Process application pattern. The
primary drivers for this selection include the need for externalization of process
logic from individual application thus promoting flexibility and responsiveness to
changing business needs and need to support human interaction.
3.4.8 Parallel Process application pattern
The Parallel Process application pattern, shown in Figure 3-9, extends the basic
serial process orchestration capability provided by the Serial Process application
pattern by supporting parallel (concurrent) execution of the sub-processes.
Chapter 3. Application Integration pattern 61
Figure 3-9 Parallel Process application pattern
Business and IT drivers
All the business and IT drivers listed under the Serial Process application pattern
apply to this Application pattern as well. The additional business driver for
selecting this pattern is the need to reduce cycle time through the parallel
execution of certain portions of the process flow.
Solution
The Parallel Process application pattern is broken down into three logical tiers:
? The Source Application tier is the same as for the Serial Process application
pattern.
? The Parallel Process Rules tier supports all the services provided by the
serial process rules tier within the Serial Process application pattern. In
addition, the interaction initiated by the source application may control parallel
(concurrent) sub-processes on multiple target applications. Each sub-process
may consist of a sequence of operations executed in succession on a target
application. This parallelism requires that additional start and join conditions
be defined for sub-processes executing in parallel. This requires
sophisticated runtime engines that can initiate parallel threads of control, and
ensure these threads join upon completion, and manage them as a unit (for
example to allow cancellation of the process, or to report its status).
? The Target Application tier is the same as for the Serial Process application
pattern.
Source
Application
Parallel Process
Rules Tier
R/O
WIP
Intermediate
Results
Process Execution
Rules
Tar ge t
Application
Target
Application
Tar ge t
Application
62 Broker Interactions for Intra- and Inter-enterprise
Guidelines for use
The following guidelines apply to this variation in addition to the guidelines that
are documented under the Serial Process application pattern.
The implementation of parallel processes without sufficient support from the
selected runtime engine would require the development of excessive custom
code. The need for parallel process execution must be analyzed before
middleware selection decisions are finalized.
Judicious use of parallelism is a powerful tool for reducing the cycle time of a
process in the right circumstances. However, in practice, it is critical to ensure
that all the error scenarios are carefully analyzed, and that the impact of these
scenarios upon the end user experience is thoroughly understood. The number
of error scenarios and processing complexity increases exponentially with the
degree of parallelism. Hence best practice is to start serial, and introduce limited
parallelism only where there is a clear and worthwhile benefit.
Benefits
In addition to providing all the benefits provided by the Serial Process application
pattern, this pattern provides a foundation for the reduction of cycle times by
implementing parallel processes.
Limitations
Parallel processes are more complex to design, test, and operate than serial
processes.
In addition, 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.
Putting the Application pattern to use
ITSO Electronics, an electronics retailer/wholesaler, wants to integrate their retail
department with their two 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 automating the
inventory replenishment process.
The main difference from the scenario used in Serial Process and Serial
Workflow application patterns sections is that here both Wholesalers are queried
in parallel to find who offers the shortest delivery time. In other words here
Wholesale Dept. A is not considered as the defacto supplier of parts. The order is
then automatically placed with the wholesale department that offers the shortest
delivery date.
Chapter 3. Application Integration pattern 63
To meet these business process automation requirements, ITSO Electronics
chooses the Parallel Process application pattern. The primary drivers for this
selection include the need for externalization of process logic from individual
application thus promoting flexibility and responsiveness to changing business
needs and the need for reducing cycle time of queries by simultaneously
enquiring the two departments for the best delivery date.
3.4.9 Parallel Process: Workflow variation
The Parallel Process Workflow variation of the Parallel Process application
pattern, shown in Figure 3-10, extends the basic parallel process orchestration
capability by supporting human interaction for completing certain process steps.
This is the most sophisticated Process-focused application pattern in the domain
of Application Integration patterns.
Figure 3-10 Parallel Workflow variation
Business and IT drivers
All the business and IT drivers listed under the Parallel Process application
pattern apply to this variation as well. The additional business driver for selecting
Source
Application
Parallel Workflow
Rules Tier
R/O
WIP
Human
Interaction
Resolution
Intermediate
Results
Process Execution
Rules including
task-resource relationship
Parallel Process
Rules Tier
Target
Application
Ta rg e t
Application
Target
Application
64 Broker Interactions for Intra- and Inter-enterprise
this variation is the need to support human interaction and intervention within the
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 Parallel Workflow variation is broken down into three logical tiers:
? The Source Application tier is the same as for the Parallel Process application
pattern.
? The Parallel Workflow Rules tier supports all the services provided by the
parallel process rules tier within the Parallel 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 Parallel Process application
pattern.
Guidelines for use
The following guidelines apply to this variation in addition to the guidelines that
are documented under the Parallel Process application pattern.
It is recommended that people-based exception handling be implemented for all
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
3.145.33.235