Java Web Service developers may rejoyce: Apache Axis 2 has been released as final! Apache Axis has been one of the first mature web service engine for Java and is still considered to be a very popular choice. Axis, like many other web service engines, suffered from some poor design choices as a result of a very heavy focus on RPC calls over HTTP. The SOA world has different demands, having a more XML centric view on Web Services, and more bias towards asynchrounous (reliable) protocols.
Axis 2 basically fixes all the problems I experienced with the Axis design in the past, and has become a much more flexible and more performant engine. On top of that, the WS-* support is coming along as well! This new release will make Axis once again an innovative open source web service solution, ready for the future. Unfortunately, Axis also has a reputation for releasing with some annoying bugs here and there, so be sure to test extensively (like you were doing anyway, right?).
Ok, this guy is not exactly subtle…
But I wonder, what’s your response to the points of Hani?
The Bileblog seems to disagree.. :)
Well, as always Hani knows how to make a point. 🙂 I fully agree with his criticism. Axis2 still lacks some good documentation and has some peculiar new "features" like the strange modules concept. Some of the stuff in Axis2 makes me say the same words as Hani, sometimes even worse. 😉
XFire sure is interesting: it seems a pretty clean implementation. Spring support is nice too, but I think both Apache and the Spring team will work fast to make this happen for Axis2 as well. To be honest, I don’t think the XFire docs are that great either (they do have a spelling checker though 😉 and some potentially evil things like an embedded HTTP server is present there, too.
The main advantage for Axis2 could be a broader standards support, even more support for tooling etc. Several projects spawned around Axis2 to make stuff happen. Support for lots of stuff is very important for an integration stack because you really don’t want to have to work with multiple WS libraries. XFire, ActiveSoap, JBoss WS, etc. are new kids on the block with some potential, but Axis2 feature list is bigger, and it seems to have more momentum in things like WS-* support and different transports.
As always, time will have to tell. Axis2 has just landed and most of the support projects are very young. The coming months/year will decide if Axis2 really will become "for real". To me, stuff like XFire needs to grow in some areas as well before it is broad enough. Hopefully at the end of this year both are a real choice. I think we will still have to deal with some poor docs, poor samples and poor code in 2007 though, no matter what you choose… 🙂