Skip to main content

JAXWS 2.1 FCS - Fast and Furious

Posted by vivekp on February 2, 2007 at 10:42 AM PST

Phew, what a ride! As usual there has been a few last minutes test failures and
re-spinning the build, making sure the


Orb
is blue in the break area, but finally we are here... JAX-WS 2.1 RI is
Final! It was
non-stop months of effort by everyone in the JAX-WS team and of
course hudson which kept reminding us
of any regression we caused before anyone else noticed!

JAX-WS 2.1 RI provides convenient programming model built on JAX-WS 2.1
standard APIs and also provides extensions on which middleware developers can
build the solutions to enhance it, such as
WSIT
Open JBI component, and
Glassfish v2. See
Kohsuke's blog on extending JAX-WS 2.1
and
Jitu's blog  on plugging in the

Tube
and also many
developer
productivity features
.

It has been well tested with unit tests, SQE tests and all of the Java
compatibility tests(TCK) on top of
Glassfish v2 M4
and Tomcat 5.5.x using JDK 1.5_06 and

JDK 6
. Get the JAX-WS 2.1 RI from
here or from

maven repository
and send your feedback to
users@jax-ws.dev.java.net or to
the JAX-WS
Forum
and report your issues and feature requests at
IssueTracker.

Here is JAX-WS 2.1 RI  release announcement:

JAX-WS team is pleased to announce general availability of
JAX-WS 2.1 RI.
We have put tremendous effort in bringing this where it is! Besides cool features and JAX-WS 2.1 API, two main
architectural changes that went in to this release - Performance and
Extensibility.

JAX-WS 2.1 RI is built on Java standards such as JAX-WS -2.1 (JSR
224), JAXB 2.1 (JSR 222), SAAJ, StAX and whole bunch of related Java
standards. Not only that, the Web Services standards and profiles
compliance  is at the core - from tools to the complete runtime
system.

Important thing about
JAX-WS 2.1 RI is that it is a complete re-architecture and re-write of JAX-WS 2.0.
We did it for two main reasons  - to make it high performing and
extensible! See the

reason
we did it and also our

2.0.1 M1 release with these architectural changes
and

merge of 2.0.1 into 2.1
.

JAX-WS 2.1 RI brings in new
productivity features
and also extension
APIs for the middleware developers to enhance JAX-WS 2.1 with their
custom extensions, such as
WSIT
Open JBI component,
and Glassfish v2 .

Key Features

Performance comparison with Axis2 1.1.1

We ran our benchmark tests against Axis2 1.1.1. Details on this benchmark can
be found
here.

People usually care about the server-side performance so the
benchmark tests measures the performance on the server side. Large numbers of
clients were used to invoke the endpoints simultaneously so we measured number
of invocations per second.  Since invocations per second varies greatly
from tests to tests, we normalized the number so that you'll always see Axis2 as
'100%'.

On tests like echoVoid where the payload is small, the benchmark tends
to reflect the performance of the web service toolkit itself, and
there you can see JAX-WS RI 2.1 to be about twice as fast than Axis2.
On tests like echoArray where the payload is bigger, the benchmark
reflects the data binding performance as well, and here you still see
us at least 25% faster.

The types of data included empty message (echoVoid), int, float, String,
Date, structures of varying sizes(echoStruct) , arrays of varying sizes (echo
Array) and binary data of varying sizes (echoSynthetic).

You can see in the graph below for simple types you are looking at the
performance comparison with the least amount of data binding and for larger
messages the comparisons show performance with respect to data binding.

 

As it looks above in the graph JAX-WS 2.1 RI is performing lot better than
Axis2 for all different message sizes. In each of the tests invocations per
second includes all the server-side network processing/container etc., so
achieving overall 2x performance means that the web services stack has to
perform more than double.

So get the JAX-WS 2.1 from
here or from

maven repository
and continue providing feedback to
users@jax-ws.dev.java.net or to
the JAX-WS
Forum
and report your issues and feature requests at
IssueTracker.

 

Related Topics >>