All is fine (or mostly fine) if you are working with a single database and are processing, say, web requests in the cache. After all, if you only have one database and no other resources then you don't even need something like a transaction manager (or Atomikos, for that matter). There are at least two situations where things change:
In both cases you should at least consider using a transaction manager. In both cases, Atomikos is a good choice for the following reasons:
So in that way, Atomikos provides "reliability for the cloud".
"Cheap and buggy. Sometimes it will work, sometimes not, and nobody will really know why".Given the perspective of such a world, it seems like some precautions are justified. Since it can't be repeated often enough, here is the Atomikos view on how to alleviate all this:
Regards
2018 UPDATE: the link seems to be broken by now, apologies for that…
According to more than one analyst we spoke to, web service transactions are supposedly incompatible with the loose coupling desired by SOA (Service Oriented Architecture), with the following being cited as the main reasons (read: problems):
With Atomikos, these are all non-issues for the following reasons: