Have you faced such a problem and if so, can you please share your experience and recommend a framework that will support this specification?
What you are looking for is Indigo, the next generation of .NET. Indigo will provide a service-oriented programming model that encapsulates the process of promoting transactions from lightweight transactions that do not require the Distributed Transaction Coordinator (DTC), to DTC-enabled transactions that support cross process and distributed .NET components, to Web service transactions that require WS-AtomicTransaction. All of this will be done through a similar declarative (implicit) programming model as is done today with EnterpriseServices in .NET 1.1. An explicit programming model will also be available for greater control. Today, in .NET 2.0, a transitional set of functionality is already available. The Lightweight Transaction Manager (LTM) will automatically promote to DTC transactions when more than one Resource Manager is participates in a transaction, for example.
For more information on 2.0 transactions with a 1.x backgrounder, read my colleague Juval Lowy's white paper.
So, what can you do today? Sigh. Roll your own I'm afraid. In my opinion you are in for a long road if you try to implement your own plumbing for the WS-Coordination (WS-COOR) and WS-AtomicTransaction (WS-AT) protocol. You're better off waiting, and taking the plumbing for free. Mind you the specifications for WS-Coordination and WS-AtomicTransactions although far along, are not yet ratified. By the time platform support is available on the .NET and Java side they should be. They will handle all of the state management and XML serialization requirements for incorporating a service operation into a transaction, and you can work as you do today, applying declarative transaction attributes to the operation.
I should also mention that on the Java side, there are a few vendor platforms that include implementations for WS-COOR and WS-AT, they are:
- IBM WebSphere offer WS-AT for WAS
- Choreology offers a Business Transaction Management (BTM) product called Cohesions
These won't help you with your .NET services obviously, but it is at least interesting that there are vendors out there that have begun to support these standards even in their interim state.
Dig Deeper on Topics Archive
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.