Keywords : Component-Based Software Framework, Middleware Transaction Services.
Participants : Philippe Merle, Romain Rouvoy [ correspondant ] .
GoTM is a Fractal component-based software framework to build middleware transaction services.
GoTM is composed of an extensible set of Fractal components providing basic building blocks (Transaction, Resource, Coordination, Concurrency, etc.) to build various transaction models and services (OMG OTS, Sun JTA, etc.)  . This framework provides personalities to build Java Transaction Services (JTS) and Object Transaction Services (OTS). To deal with the transaction demarcation concern, GoTM provides the Open Transaction Demarcation Framework (OTDF) as a dedicated personality. The JTS and OTDF personalities are currently integrated into the ObjectWeb JOnAS application server.
The GoTM framework can be used to build heterogeneous transaction services  . Heterogeneous services support multiple transaction standards simultaneously without the performance degradation implied by the use of a coordination protocol.
The GoTM framework implements various 2-Phase Commit protocols (e.g., 2PC, 2PCPA, 2PCPC, etc.). It dynamically adapts the active transaction protocol to provide better transaction completion time depending on the commit/abort rate statistics  .
The GoTM component-based software framework is designed on top of the ObjectWeb Fractal component model and is implemented on top of the ObjectWeb Julia reference implementation. Since recently, GoTM uses the AOKell software supported by the Jacquard project. AOKell implements the Fractal component model using Aspect Oriented Programming (AOP). This choice provides to GoTM the complementarity of technologies like aspects and components to build middleware solutions with added values. GoTM also uses the Fractal Explorer software to build its management tool. GoTM provides various explorer plugins (GoTM, JTS, OTS, etc.). Thus, GoTM consoles can manage heterogeneous GoTM transaction services. Finally, the GoTM OTS personality aims to be integrated in the OpenCCM software developed in the Jacquard project.
On the topic of Transactions and Components, the GoTM and AOKell projects are also collaborating to provide transparent transaction support to Fractal components.
GoTM results from the activities done in the Transaction Working Group created in the context of the ITEA OSMOSE project. GoTM will be integrated in the next Enterprise Service Bus (ESB) solution developed by the ObjectWeb consortium in the context of the RNTL JOnES project.
GoTM is LGPL open source software available at http://gotm.objectweb.org .