Enabling Distributed Transactions Between Glassfish and .Net 3.0
WSIT Milestone 4 is now available on the Project Tango website and it includes support for WS-Coordination and WS-AtomicTransactions.
Supporting these standards in our web services stack allows you to write fault tolerant applications that bridge across heterogeneous systems. Java EE developers can easily write applications that take advantage of distributed transactions that span multiple Java EE application servers (without needing WSIT). What WSIT adds is the ability to include transacted web service methods (think "container managed transactions for servlets") and also bridge across heterogeneous systems (think "Microsoft"). In a homogeneous GlassFish system, distributed transactions flow across RMI/IIOP. In a heterogenous web service environment, the transactions use the WS-Coordination and WS-AtomicTransaction protocols to flow transactional context and execute the two-phase commit protocol.
I've recorded a screencast that demonstrates how to implement some transacted Java web service methods and then invoke them with a Microsoft .NET 3.0 client. It runs about 30 minutes and covers using NetBeans 5.5.1 and the WSIT Plug-In(screencast) to create and configure the transacted web service methods, installing the necessary security certificates, and examining the MS client code. I don't go into much detail about WS-Coordination and WS-AtomicTransaction in the screencast, so you may want to take a look at our 2006 JavaOne session(pdf) before watching the video.
The web service code in the screencast was taken from the WSIT Tutorial (or you can jump directly to the "Using Atomic Transactions" chapter). The WSIT Tutorial illustrates a Java-to-Java scenario using an installation of GF with two domains because the security requirements are less restrictive. In the screencast, I use a MS client app and show all of the necessary security configuration steps. For more information about the MS security requirements please refer to their docs here and here.
Watch the screencast! (30min SWF, 14MB)
If you would like to learn more about Project Tango, please:
- visit our website
- take a look at our tutorial
- watch our other WSIT screencasts
- read and participate in our forum and "users" mailing list
- subscribe to our web service blog feeds