axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Amila Suriarachchi <amilasuriarach...@gmail.com>
Subject Re: Request for a Project
Date Mon, 21 Sep 2009 05:28:20 GMT
On Sun, Sep 20, 2009 at 8:55 PM, Andreas Veithen
<andreas.veithen@gmail.com>wrote:

> It really depends on your interests and the kind of contribution your
> instructor is expecting. One idea that comes to my mind is helping us
> optimizing the performance of Axis2. There are several reasons why
> this would be interesting to us:
>

hi Andreas,
Actually I had some investigations on Axis2 performance and possible ways to
improve them some times back.
please see my comments below.

>
> - There have been reports [1] that the performance of Axis2 1.5 is not
> as good as expected.
>
For this I asked him to test with ADB generated code but there was no reply.


When it comes to this kind of performance issue I think most of the problem
relates to the way Data binding framework work.
For an example ADB generated code directly get the underline stax parser to
build the java object and serialise the response directly to stream writer.
Therefore Axiom serilization deserilalization only relates to soap envelop
parsing. But if some intermidiate handler builds the soap envelop (eg
rampart) then it depends on the Axiom performance.

This direct serialization and deserialization happens for jaxbri and
xmlbeans as well.

But for the POJO it does not read from the underline stax parser and always
creates an intermediate Axiom object. And also it parses the whole bean
class structure using reflection for each and every request. So I think
these two factors contribute most for POJO inefficiency compared to
generated code.

I hadsome performance testing with a wsdl which has many types with a
request around 4kb
 As I remember

axis2-ADB performs better
then cxf-jaxbri performs slightly better than axis2-jaxbri
then axis2-xmlbeans

but I haven't done the jaxws (axis2, cxf) and POJO.

thanks,
Amila.


> - To my knowledge, we don't do systematic performance tests. On the
> other hand, performance is an important quality attribute for a Web
> service framework.
> - I did some profiling on Axiom (the XML object model used by Axis2)
> and there is definitely room for improvement.
>
> Depending on your available time, this could involve the following tasks:
>
> - Define a set of typical use cases for which we want to test/compare
> performance.
> - Define a test methodology and select appropriate tools.
> - Implement the use cases using Axis2 and some other SOAP stacks (CXF,
> JAX-WS reference implementation, etc.).
> - Measure the performance and compare the results obtained from
> different Axis2 versions and different SOAP stacks.
> - Investigate what changes (between different Axis2 versions) or
> architectural differences (between different SOAP stacks) can explain
> the observed results.
> - Investigate where and how Axis2 performance can be improved.
>
> Of course, for all these tasks, you would interact with the developer
> community to get the required input.
>
> Regards,
>
> Andreas
>
> [1] http://markmail.org/thread/vkxfbebh7opwo46d
>
> On Sun, Sep 20, 2009 at 07:40, ishara karunarathna
> <isharaaruna@gmail.com> wrote:
> > Dear sir,
> > I'm a undergraduate student from University of Maoratywa, Sri Lanka. I'm
> > studying my 3rd academic year (it is a 4year degree program on computer
> > Science and Engineering ). in this academic year i have to join to an
> open
> > source project and contribute to it for 12 weeks. I can choose any open
> > source project based on my interest. My instructors will evaluate my work
> at
> > the end.
> >
> > I like to join Axis2 project but I need some help to know how can I join
> to
> > Axis 2 and what can I do.
> > I'm  experienced in java language. So please  send me some help me with
> some
> > starting points to start with.
> >       Thank you.
>



-- 
Amila Suriarachchi
WSO2 Inc.
blog: http://amilachinthaka.blogspot.com/

Mime
View raw message