Chapter 3. Application Integration pattern 51
This Application pattern is particularly important when a processing request
requires execution of multiple interactions concurrently, or where the source
application should be relieved of the need to know anything about its targets.
The primary IT driver for selecting this Application pattern is to allow loose
coupling of clients and services with minimum modification to each. The solution
should allow for multiple transmission protocols to be used and for
transformation of protocols between client and service.
Solution
This Application pattern, as shown in Figure 3-6 on page 53, is divided into a
number of logical components:
? The Source Application tier represents one or more applications that are
interested in interacting with the target applications.
? The Broker Rules tier reduces the proliferation of direct connections. In
addition, it supports message routing, decomposition and recomposition,
message enhancement and transformation. These rules are often captured
as business rules that govern the behavior of the broker tier. This tier also
uses a work-in-progress data store to retain the intermediate results from the
responses coming back from target applications until all the necessary
responses are received.
? The Target Application tier represents new, modified existing, or unmodified
existing applications. These applications are responsible for implementing the
necessary business services.
Guidelines for use
To increase the flexibility of the solution and responsiveness to changing
business requirements, it is recommended that particular attention is paid to
definition of reusable messages/services that pass through the Broker tier.
Robust transaction processing systems should be used to implement the
back-end applications to ensure availability, scalability, and performance.
A decomposition implementation (one source call to multiple target calls)
requires state persistence and re-composition of the response messages.
Standards should be used where possible to minimize future changes required to
the source and target applications.
Benefits
The benefits of this Application pattern are:
? It allows the integration of multiple, diverse applications.