Atomic transactions between web services located on the same server using the same database

Our architecture includes web services developed to the JAX-WS specification using

Metro These services are deployed on a single Glass Fish App server as a separate war.

. All web services use a single database. The data layer is used using Hibernate, and Spring is used to implement transactions within the service. Now that we want to make a transaction involving several web services, what approaches are possible?

  • Do we need to use JTA or can we avoid the same?
  • Do I need to use the WS-AtomicTransaction specification supported by Metro?
+4
source share
1 answer

I answer my question because there are still no answers. However, the views will be appreciated. I believe that the best architecture will consider each web service as separate and use WS-AtomicTransactions / WS-Coodrination for transactions through web services. It will also help when some web services need to be deployed in different domains in the form of glass or on different servers for all performance or other reasons. Internally, these JAX-WS Metro services will use JTA on the glass planet to implement 2PC. However, this is hidden in the implementation of Metro

Vipul Shah

0
source

All Articles