12 Broker Interactions for Intra- and Inter-enterprise
Suppose that the situation is a little more complicated than that. Let's say that the
automobile policies and the homeowner policies are kept in two separate and
dissimilar databases. The user request would actually need data from multiple,
disparate back-end systems. In this case there is a need to break the request
down into multiple requests (decompose the request) to be sent to the two
different back-end databases, then to gather the information sent back from the
requests, and then put this information into the form of a response (recompose).
In this case the Self-Service::Decomposition application pattern shown in
Figure 1-5 would be more appropriate.
Figure 1-5 Self-Service::Decomposition
This Application pattern extends the idea of the application tier that accesses the
back-end data by adding decomposition and recomposition capabilities.
1.2.3 Review Runtime patterns
The Application pattern can be further refined with more explicit functions to be
performed. Each function is associated with a runtime node. In reality these
functions, or nodes, can exist on separate physical machines or can co-exist on
the same machine. In the Runtime pattern this is not relevant. The focus is on the
logical nodes required and their placement in the overall network structure.
As an example, let's assume that our customer has determined that their solution
fits into the Self-Service business pattern and that the Directly Integrated Single
Channel pattern is the most descriptive of the situation. The next step is to
determine the Runtime pattern that is most appropriate for their situation.
Presentation
synchronous
Decomp/
Recomp
synch/
asynch
Application node
containing new
or modified
components
Application node
containing existing
components with no need
for modification or which
cannot be changed
Read/
Write data
Transient data
- Work in progress
- Cached committed data
- Staged data (data replication
flow)
Back-End
Application 1
Back-End
Application 2