You are here: Blog » Vision » Web service transactions
So what's the best way to do transactions that span multiple services?

We used to support 'heavy' web service transaction standards like WS-Transactions. It was a mistake. A huge one, for that matter. Here is why:

  • It's overly complex: to think that different vendors' SOAP interceptors can seamlessly interoperate is wishful thinking. It just doesn't work that way.
  • It's a disaster in terms of performance: it takes about 8 or 9 roundtrips (!) to commit just one transaction. Performance, anyone?
  • It's a design-by-committee thing, meaning it makes for a compromise between vendor offerings rather than a best-of-breed solution.

So if you want transactions across (web) services then what do you do? There are a few options:

  • Use BASE whenever possible: publish significant events to a JMS bus in a reliable way with ACID transactions - available in any of our products.
  • For REST-based reservation processes, use our Transactions for SOA approach because it is pure, simple and compliant with pure REST.
  • For REST-based microservices: see Transactional REST microservices with Atomikos

So what do you think: what is your favourite approach? If you think we missed one, feel free to comment smile

Contact Us

Atomikos Corporate Headquarters
Hoveniersstraat, 39/1, 2800
Mechelen, Belgium

T +3215613055

Subscribe to our newsletter

Never miss an update

Copyright 2021 Atomikos BVBA | Our Privacy Policy
By using this site you agree to our cookies. More info. That's Fine