Database Reference
In-Depth Information
Let's move on to the middle lane. If more than two participants in a synchronous composi-
tion can be expected, for example, one composition initiator and two or more composition
members, the number of WS-* standards and specifications involved will be doubled.
Composition Controller becomes mandatory in this scenario. In addition to WSDL MEPs
and WS-RM from primitive activities, the transaction coordination based on WS-Atom-
icTransaction arguably will be one of the most important specifications for these
types of composition. It will address typical ACID requirements related to multiphase
commits:
• At design time, define all the Atomic Transaction Coordinators ( ATC ) phases
in WSDL with specific messages such as wsat:Prepare , wsat:Prepared ,
wsat:Aborted , wsat:Commit , wsat:Rollback , wsat:Commited , and
wsat:Reply . Bind ATC messages to the operations.
• At runtime, initiate the transaction, send messages, collect votes, commit if all
participants have voted positively, send the rollback signal if any vote is not re-
ceived in the designated time slot or is negative, repeat operations if necessary,
and propagate the response to the initial sender.
With many services involved in this complex activity, some from different domains with
different data models (which is common in the adapter technology layer), requirements
for complex transformations could be anticipated. The transformation technique could be
different, of course; sometimes, you may come across a proprietary technique. However,
here we will discuss the standard XSLT/XQuery approaches. Most common complex
transformations that we will be coming across in our designs are as follows:
The message aggregations design : Here, we combine several messages in one
that are further processed by a service that can accept only coarse-grained data
models. If messages arrive sequentially, XSLT alone will not be enough; some
transformation's intermediate store will be necessary if we do not want to keep the
messages in.
The message debatching or splitting design : Here, we separate one message
that contains a batch of similar messages into a sequence of messages suitable for
processing by a service with a fine-grained data model. This task is very com-
mon; inbound messages usually in a non-XML format and whole processing will
require a WS-RM implementation, as ordered sequential processing is involved in
providing possible acknowledgements for batch or individual messages.
Finally, for the middle lane, the most common standard WS-Addressing will be com-
pulsory if message mediation is required for complex service activities. Usually, it's
Search WWH ::




Custom Search