Databases Reference
In-Depth Information
A BPEL process can define multiple correlation sets, and messages
exchanged within a BPEL process can be exchanged in zero, one, or more
correlation sets. When a message is involved in multiple correlations sets,
it can be the same or different fields that are mapped to a corresponding
property. You will of course require a separate property alias for each
correlation set.
Message aggregation
A typical messaging requirement is to aggregate multiple related messages for
processing within a single BPEL process instance. Messages are aggregated using a
common correlation ID, in much the same way as we covered previously.
The other challenge is to determine when we have all the messages that belong to the
aggregation. Typically, most use cases fall into two broad patterns:
Fixed Duration : In this scenario, we don't know how many messages we
expect to receive, so we will process all those received within a specified
period of time.
Wait For All : In this scenario, we know how many messages we expect
to receive. Once they have been received, we can then process them as an
aggregated message. It's usual to combine this with a timeout in case some
messages aren't received, so that the process doesn't wait forever.
An example of the first pattern is the oBay auction process. Here, during the period
for which the auction is in progress, we need to route zero or more bids from various
sources to the appropriate instance of the auction, and then once the auction has
finished, select the highest bid as the winner. The outline of the process is shown on
the next page.
 
Search WWH ::




Custom Search