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]

Reply via email to