axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eran Chinthaka" <chinth...@opensource.lk>
Subject FW: [Axis2] Can OM with differed building really be so effective in Axis2?
Date Mon, 04 Apr 2005 02:46:47 GMT


Hi,

> 
> Hi all,
> 
> Sorry for bothering everybody. I'm not sure whether this question is
> appropriate for this maillist. If not, please apprise me and I'll
> never commit it again:)

This is it. No problem ;)

> 
> I'm very interested in Axis2 and I know performance is a big goal of
> Axis2. But, I really wonder whether the differed building can help to
> enhance the performance a lot AT SERVER SIDE. My suspicion is based on
> the follow  points:
> 
> (a). Almost all the SOAP services need the parsed SOAP envelope (the
> echoXML sample service maybe an exception), so differed building does
> not mean no building. That is to say, parsing and building is
> unavoidable mostly.

Well, if you take a SOAP envelope it has mainly two parts. Namely; the
headers and the body.

In our Axis 2 architecture we have handlers which "mostly" work with headers
and do not touch the body. This is where we introduced the differed
building. We  build OM only upto the body, in other words we parse and build
headers only. Then if someone needs the body (most of the time it's the
provider, in Axis 2 its message receiver), then ONLY we parse and build the
body. 

Talking about OM architecture, we removed all the unnecessary stuff from the
code and put only things we require only. 

This is very much efficient in terms of memory. And the performance tests we
have done so far (http://wiki.apache.org/ws/FrontPage/Architecture/OMPerf)
revealed that OM is better than existing xml object models.

Then we did some overall perf tests for Axis 2 and it we have achieved 2-3x
performance than Axis 1.x.

Regards,
-- Eran Chinthaka

> (b). At server side, we won't design any unnecessary arguments. So we
> need parse the SOAP message entirely; even partial parsing won't be
> feasible at server side.
> 
> I know it is an improvement to choose the pull-parsing with StAX. At
> least it is one-time parsing while Axis 1.x used the replay mechanism
> to process the pre-parsed SAX events. But I do want to know, how much
> performance enhancement can benefit from the OM with differed
> building? Could anyone explain it to me? Thank you so much!
> 
> Regards,
> HR, Zheng




Mime
View raw message