And here is the answer to a question asked by Amila about this: > Have you measure the performance factor? > One of the problems I see with the current DOOM implementations is it is > very in efficient in performance wise.
Eventually the only real performance test is to run some scenarios on Rampart with the standard Axiom implementation and then to rerun the same scenarios with the Axiom+DOM implementation built on top of DDOM. The Axiom implementation is work in progress and there is not enough of it yet to run Axis2. There are also some cleanups and changes in Axis2, Axiom and Rampart that are required to make this work. There are actually three ways DDOM can potentially improve the overall Rampart performance: * It avoids conversions between Axiom and DOM. * A couple of months ago I did some performance tests with CXF (with Sun's SAAJ implementation vs. the SAAJ implementation built with DDOM) and Dennis Sosnoski's signature and encryption scenarios. For these scenarios, deferred building is not relevant because WSS4J always reads the entire message. Nevertheless the results suggested a slight performance improvement (although it is difficult to isolate the contribution of the object model because the timings are dominated by the cryptography stuff). Since Sun's SAAJ implementation extends Xerces, this would mean that DDOM is as least as good (if not better) than Xerces performance-wise. Therefore it is probably better than DOOM. * There is some particularly inefficient code in xmlsec, namely the part where it extracts the base64 encoded content, decrypts it and replaces it with the parsed XML. That is due to some intrinsic limitations in the JAXP and DOM APIs. This could be avoided by taking advantage of some of the advanced features in DDOM. Since only a particular piece of code in xmlsec has this issue, this can be achieved without the need to rewrite the entire lib and without dropping support for standard DOM. Andreas --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
