ObjectWeb Consortium announced today the release of JOTM 1.2. JOTM (Java Open Transaction Manager) is a fully functional open source standalone transaction manager which implements the XA protocol and is compliant with JTA. It can be easily integrated in other projects such as EJB or Servlets containers to provide full distributed transactions support.
- Posted by: Jeff Mesnil
- Posted on: January 28 2003 09:43 EST
Check out JOTM 1.2.
JOTM is the transaction manager of used by JOnAS, an open source J2EE server, which was extracted to be reused by other projects. JOTM is a relatively small project by its line number but a very big one given the importance of transactions in distributed systems.
o a full standalone transaction manager implementing JTA (Java Transaction API)
o support for both RMI/JRMP and RMI/IIOP through CAROL library.
Its distribution comes with:
o JDBC example showing transactional access to database
o JMS example for transactional messaging
o documentation on installation and examples
A test suite is also available to test JTA compliance.
A BTP (Business Transaction Protocol) implementation is downloadable as well as an example of transactional web services (classical hotel/airline registration).
Work is in progress to integrate JOTM to Jetty to provide distributed transactions support for Servlets.
JOTM goal is to develop a transaction manager which can be integrated in a wide range of applications (EJB or Servlets containers, Java application, Web Services,...) to provide full distributed transaction support.
Check out JOTM and enjoy!
- ObjectWeb Releases Java Open Transaction Manager 1.2 by Andreas Mueller on January 29 2003 12:37 EST
- ObjectWeb Releases Java Open Transaction Manager 1.2 by Jeff Mesnil on January 30 2003 04:20 EST
- Other app servers? by O N on January 29 2003 12:56 EST
- JOTM and Tyrex by Alireza Taherkordi on January 29 2003 16:17 EST
- Fully functional? Not without recovery after restart or crash! by Guy Pardon on April 06 2004 09:51 EDT
Does the TM store log records and thus is able to recover in-doubt tx after a cold start?
not yet! but adding recovery is on our workplan. The classes to do so are already in JOTM but are empty for now.
We also need to write test cases for recovery.
Do you plan to offer JOTM on other app servers such as JBoss, WebLogic or WebSphere?
Actually, is it feasible? Do you need to modify the app server kernel?
From what I've seen of JBoss documentation, all they require from a Transaction Manager is (mostly) to get the two main JTA interfaces (UserTransaction and TransactionManager) from JNDI.
So, nothing prevents to use JOTM with JBoss. If anybody from JBoss (or WebLogic or Websphere) is interested to integrate JOTM, the JOTM team is ready to give a hand.
Discussion already happens on JOTM mailing list about integrating JOTM to Jetty
Have you already thought about integration with Tomcat 4.1? Currently, Tomcat 4.1 provides either its standard resource management via Commons DBCP without JTA support, or Tyrex resource and transaction management including JTA support. Wouldn't it be nice to provide JOTM integration for Tomcat's standard resource manager, as an alternative to delegating both JDNI resources and JTA support to Tyrex?
Have you already thought about integration with Tomcat 4.1?
I think it could be a very nice feature to rely on Commons DBCP for resource management and JOTM for transaction management, so we can take advantage of what each project does best.
Unfortunately, we lacks manpower to dig into Tomcat 4.1 code for now.
However,if Tomcat developpers (or users) can give us a hand and point to us where we can integrate JOTM, we're ready to help them to quickly integrate it.
I think there can be a tremendous opportunity for Servlets developpers to take advantage of transactions in their code.
This is great to see ObjectWeb implementing another open source j2ee app server. JONAS is another alternative to expensive app servers. Great quality, clean implementation (INRIA,BULL,....). and easy to configure !
Objectweb had already a JTA implementation named Tyrex,
Tyrex is now on sourceforge, what is the differences between JOTM and Tyrex? Why they are working on
a new transaction manager?
Tyrex belongs to exolab and is part of openejb etc.
Jon is right Tyrex and JOTM belongs to two different organizations (ObjectWeb and Exolab).
I think there's also a different philosophy behind these 2 projects. JOTM goal is to be only a transaction manager, doing only one thing (transaction management) but doing it good.
Tyrex provides more functionalities (JDNI, JDBC,...).
I'm not an expert of Tyrex but it seems that it is both a transaction manager and a resource manager.
We don't plan to add resource management (JDBC, JCA or JMS) to JOTM. We prefer to keep it simple and keep transactions
and resources management as separate aspects.
However, we want to collaborate with other projects to provide what they need as far as transactions are concerned.
Interesting, but I don't think you should call it "a full standalone transaction manager implementing JTA" since it doesn't handle recovery. In fact, it doesn't even do logging.
So there goes database integrity...
Same thing for the "fully functional".
Of course, it's all a matter of definitions. But the JTA specification clearly mentions that recovery is part of the way it should work. So frankly, I think this news item's formulation is misleading to anyone but the experts who know the product a bit better.