Axiom spotted in the wild
Apache Abdera (under incubation):
Apache Abdera and ROME: alea jacta est!
Spring Web Services:
[Axis2] FYI : Sping Web Services and Axiom
Looks like people are getting the message, Apache AXIOM can be used just for its XML Infoset capabilities as well as for its SOAP capabilities.
One more myth, No you don't need to store everything in the dom-like object model, you can use OMDataSource and keep your object in whatever representation *TILL* a tree is needed to be built (say for signing) or else, the system can call OMDataSource.serialize() to get the object to write itself to the stream directly. Basically don't build anything if you don't need it. Now you know why AXIOM is fast. Don't do anything that is not needed.
As i like to tell people, AXIOM's nightmare scenario is actually building the whole tree because someone needs it. Even then It's not spring chicken. See for yourself how it compares with JDOM, Xerces, DOM4J in the nightmare scenario:
http://people.apache.org/~dims/perf/
[UPDATE]: If you need all the dirty details, they are here - AXIS2-533
Comments
What XML driver are you using with the other DOM implementations? Have you tried using woodstox as the driver? Woodstox is 30+% faster than the standard sax driver, so I don't know that the above is a fair comparison.
Also, have you looked at XOM? It is the fastest DOM that I know of - but I haven't seen it compared to AXIOM yet :-).
Posted by: Dan Diephouse | June 15, 2006 11:26 AM