How to propagate a global transaction between Oracle WebLogic 11g and IBM WebSphere 8.0 using WS-AT
1 Comment | Posted by Marcel Križevnik in Java, Java EE, Transactions, Web Services
A few weeks ago we faced an interesting challenge: how to propagate a transaction context between Oracle WebLogic 11g and IBM WebSphere 8. Propagating a transaction context between different Java EE servers can sometimes present a problem, especially if those servers support different Java EE versions. WebLogic 11g (10.3.5.0) supports Java EE 5 while WebSphere 8 supports Java EE 6. We successfully solved the problem using WS-Atomic Transaction (WS-AT).
In this post, I will present the main steps how we propagated a transaction from WebLogic (WLS) to WebSphere (WAS). The solution for the opposite direction will follow in a separate post.
Short description of the solution:
We implemented three JAX-WS Web Services: two Web Services (one deployed on WLS and one on WAS) that insert a row in a database table, and a facade Web Service deployed on WLS. The facade WS starts a global transaction and invokes other two services inside this transaction. Each environment uses a separate database and has configured a corresponding XA Data Source.
Main steps:
- On each environment create an XA-enabled Data Source
- Implement web services that participate in a global transaction. Each web service has to support WS-AT (we used WS-AT version 1.2). On WebLogic, WS-AT support can be added easily using WebLogic annotations. On WebSphere, WS-AT support can be added by attaching a WS-AT policy using the WebSphere administrative console.
- Implement the facade Web Service. The trick here is that we have to create a transactional and an addressing feature objects and pass them as an argument when retrieving the web service port. Invocation of both web services has to be done inside a global transaction. Therefore we have to use the Java Transaction API (JTA).
1 Comment for How to propagate a global transaction between Oracle WebLogic 11g and IBM WebSphere 8.0 using WS-AT
How to propagate a global transaction between Oracle WebLogic 11g and IBM WebSphere 8.0 using WS-AT – part 2-SOA Competence Center | December 21, 2011 at 2:54 pm



[...] How to propagate a global transaction between Oracle WebLogic 11g and IBM WebSphere 8.0 using WS-AT >> Copyright © 2011 soa.si and cloud.si jQuery(function() { }); [...]