Support for transactional communication with an
integration tier like BizTalk is an important feature in an enterprise
application. BizTalk has had transaction support previously using other
adapters such as MSMQ and SQL, but these are limited to Windows
platforms. Now with Windows Communication Foundation and its support for
the WS-AtomicTransaction protocol, heterogeneous platforms can enlist
in BizTalk transactions.
WS-AtomicTransaction,
or WS-AT for short, is an interoperable transaction protocol. It enables
you to flow distributed transactions by using web service messages and
to coordinate in an interoperable manner between heterogeneous
transaction infrastructures. WS-AT uses the two-phase commit protocol to
drive an atomic outcome between distributed applications, transaction
managers, and resource managers. When using WS-AT, the service's
transaction is enlisted up to and including the point where the message
has been committed to the Messagebox.
BizTalk's WS-AtomicTransaction
support is defined within a WCF receive location by simply clicking the
Enable Transactions check box on the Binding tab. Figure 1 shows the receive location with the Enable Transactions check box.
The scope of the
transaction is limited to a one-way receive port. When the receive
location is bound to a request-response receive port, the Transactions
section will be disabled. BizTalk will flow the WSAtomicTransaction
request until the message has been committed to the Messagebox for
processing.
|
|
When the Enable Transactions
check box is selected and a message is received that requires
WS-AtomicTransactions, the WCF adapter will enlist the request using the
Microsoft Distributed Transaction Coordinator (MSDTC) and
transactionally commit the request to the Messagebox when the WS-AT
request completes.