Problem solve Get help with specific problems with your technologies, process and projects.

Is there a framework that will support the WS-AtomicTransaction spec?

We are publishing certain interfaces through Web services. The Web service performs one unit of work. There are scenarios where the client can have this Web service participating in a transaction originating in the client. The problem is this: The clients are able to rollback or execute updates via other non Web service components, but they are not able to do so with those done via the Web service. The Web service and the client are all implemented in .NET. I have read the WS-AtomicTransaction specification but have struggled to find a framework which supports it.

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:

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.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.