- anybody else with distributed transaction implementation experience able to offer some comments and views?
- Distributed transactions are possible outside EJBs, and even outside J2EE app servers. They can be quite difficult to cobble together from various pieces, but the tools are out there. See JOTM (Java Open Transaction Manager) for one open source XA transaction manager. -- EricHodges
See also an excerpt from the EnterpriseJavaProgrammingWithIbmWebSphere
book at http://web.archive.org/web/20041129164337/http://www.sys-con.com/websphere/articleprint.cfm?id=470
Check this quote out. Db weenies better hang onto their eyebrows lest they end up on the ceiling. Note this is a change in the double point release. :
Finally, there is a difference in how you set up the optimistic predicate in WebSphere
5.0.0 and 5.0.1. In WebSphere
5.0, by default, all non binary columns were added to the predicate (as we saw was true in the 4.0.2 version as well). The problem here was that this is slow since typically not all the columns will be indexed. Also, this can lead to problems because now the predicate is too constrained. In version 5.0.1, the default is instead not to add any columns to the predicate, meaning that for optimistic locking, no locking will take place. Instead, you need to manually set which columns are part of the predicate by selecting the mapping of a column in the overview of the WebSphere
Studio map editor and then setting the OptimisticPredicate?
property to true.
What about transactions? Sorry, I do this myself. I very rarely have to syncrhonize transactions across multiple data sources. And that's a kicker too, ain't it? That's EJB's
entire notion of transaction: Databases.
I've got to take issue with one of Jeff's points. EJB transactions aren't just about databases. They haven't been for a while now. For instance, with WebSphere
I can now have a single transaction cross DB2 or nearly any other popular relational database, MQ Series, CICS and about a half-dozen other EIS systems that have JCA connectors. That
is powerful. Sure, you don't need it a lot, but when you do, it's really
Well, but you don't need EJBs for that, or do you ?
Actually, at this point, to do it in Java yes you do. There is no other way to do the transaction coordination except with EJB's. --KyleBrown
Mid 2005 update on DistributedTransaction on JavaPlatform
Aiming to get more information on ServiceOrientedArchitecture related considerations