The Atomikos Blog

Archive

You are here: Blog
Earlier on, I have complained about the problems in JAX-RPC (and I am not the only one, it seems).

Today, I found out about the Axis 2 project, which seems to deal with many of the problems of the current JAX-RPC.

Definitely a step in the right direction!

Have you ever implemented a web service with JAX-RPC? I did, and it was not that easy. Our technical requirements were the following:

  1. we needed to be able to send/receive asynchronous (one-way) document/literal SOAP messages
  2. we needed a convenient way to parse/generate the XML
  3. we needed to be able to send custom SOAP faults for asynchronous error conditions
  4. we needed to be able to process header blocks easily
  5. we needed reasonable support for header bindings in the WSDL document
  6. we needed to be able to associate server-side header information with thread-specific information in the service being called
  7. If possible, we wanted to be able to associate handlers with custom, servlet-based endpoints (not JAX-RPC endpoints)

With the current state of the art in Java's JAX-RPC and JAXB, this was certainly possible but not at all straightforward. 1 and 2 are not so much of a problem, but the Java web services stack falls short on all the other items. So if any of the JAX-RPC committee members read this: I hope these comments or experiences can help in improving/clarifying the JAX-RPC technology…

It took a long time to finish, but at last the WS-Transaction specification is now available in version 1.0!

This specification consists of two concrete standards, WS-AtomicTransaction and WS-BusinessActivity. Besides BTP (released at OASIS a few years ago), this is the first 'official' release of a WS standard for transactions across web services.

Unlike BTP, this one is backed by industry giants, and very compact as well. At the very least, this gives us a likely candidate for industry-wide adoption.

There are still some things that I don't like -- to name one, the compensation model is built to suit BPEL4WS meaning that it has no business-level actions upon close of the activity (the Atomikos compensation model does a lot more to foster service autonomy and business-level status of activities).

But at least the atomic transaction part seems acceptable…

Here is a nice tool that can take care of back-end system integration and java transaction management. The Transactions product is a JTA (java transaction API) implementation with full recovery under the hood. It integrates with most J2EE application servers as well as with J2SE applications, and adds transactional robustness, and automatic recovery on-the-fly. Perfect for your online transaction processing (OLTP)!

Some of the supported application servers are:
-Tomcat (JTA transactions)
-JBoss (JTA transactions with RMI/IIOP support)
-Websphere Express
-ServletExec (by New Atlanta)
Here is more information about transaction processing software.
Alternatively, go directly to the JTA download.

Clustering and Load Balancing in Tomcat 5, Part 1 by Srini Penchikala -- The latest version of Tomcat provides clustering and load balancing capabilities for scalable, highly available systems. In part one of this series, Srini Penchikala looks at architectural factors to consider in such a system and how Tomcat implements them.

Corporate Information

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

Contact Us

Copyright 2026 Atomikos BVBA | Our Privacy Policy
This page was cached on 07 Apr 2026 - 20:51.
By using this site you agree to our cookies. More info. That's Fine