YOUR FEEDBACK
Jeremy Geelan wrote: Dr von Eicken will be giving a technical session at SYS-CON's "Cloud Computing E...
SOA World Conference
Virtualization Conference
$300 Savings Expire August 22, 2008... – Register Today!


2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts
When I was a kid, which seems like just yesterday (and no comments from the peanut gallery), I loved playing with LEGO, making imaginary ray guns, space ships, and other things that amuse the average boy. LEGO's popularity and longevity have to be due in no small part to the ability to assemble a ne...
SYS-CON.TV
TODAY'S TOP SOA & WEBSERVICES LINKS


A Performance Comparison of Popular Open Source Web Services Engines
We really are making progress

Scalability
The Transactions per Second (TPS) achieved by a Web Service is a good indicator of its scalability. The average TPS of the five test cases are available in Figure 6. From Figure 6, it's inferred that XFire with JibX was able to handle approximately 564 TPS (on average), about 14% more than its nearest competitor, Axis2 with JibX. Axis 1.4 scaled the worst, achieving only about 177 TPS on average.

Speed
The Average Transaction Response Time is a good indicator of the server-side speed of a particular combination, as it indicates how quickly the server could process the client's request. From the summary graph in Figure 7, it's inferred that XFire with JibX had the smallest average Transaction Response Time, followed by the two Axis2-based applications.

Throughput
Throughput is a measure of performance in terms of how much data the service was able to push to the client in one second. As this figure can be a function of both the number of requests the service can handle per second, as well as the speed with which it can process a client's request, it offers a very comprehensive view of the overall performance of the test cases. From Figure 8, it can be seen that XFire with JibX achieved the greatest throughput, indicating that it offers the best overall performance.

Ease of Use
•  Axis2 with ADB: Axis Data Binding is well integrated with the Axis2 Engine - development using this option is very quick - once the WSDL of the service is available, the WSDL2JAVA tool will generate all classes and stubs required for both the service and a client (except the business logic, of course!). The documentation on Apache's website is detailed and easy to follow.
•  Axis2 with JibX: Axis2 supports JibX, although, by the Axis2 team's own admission, the support seems to be incomplete. Axis2's WSDL2JAVA tool supports generating client- and server- side stubs for JibX binding, however, it doesn't support code-generation for a Web Service from a given schema. Although there are tools available to handle some of the code generation, when this was written, they were only mature enough to handle simple cases; nonetheless, they did provide a good starting point. However, the entire process seemed more cumbersome than using XFire.
•  XFire with JibX: XFire supports JibX binding reasonably well, although the current version of XFire WSGen tool can't generate client- and server-side stubs with JibX binding given a WSDL, it supports code generation for a Web Service from a schema. Moreover, it's fairly straightforward to write a client for such a service, even without a client-side stub. At the time of writing, the documentation wasn't very detailed, but had an easy-to-follow example. Overall, XFire with JibX seemed easier to use and develop than its Axis2 counterpart. However the auto-generated WSDL in XFire JibX combination remains one of the major drawbacks since it didn't confirm to WS-I when this article was written.
•  Axis 1.4: Axis 1.4 is currently one of the most widely used Web Services platforms on the enterprise Web Service landscape. The platform has good support for WSDL first development in terms of both server-side and client-side artifact generation. However server-side code generated using a WDL first development forces a user to populate business logic inside tool-generated code. The platform has limited support for directly exposing existing Java classes as Web Services. If one has to expose existing Java classes as Web Services, developers often generate WSDL from the Java class and subsequently generate server-side artifacts and deployment descriptors using WSDL2JAVA and subsequently map existing business classes to implementation classes generated by the tool.
•  XFire with JaxB: XFire provides good support for Jaxb binding, it comes with both schema first development and code first generation of a Web Service. However Web Services generated using the schema first approach show significantly better performance compared to code first generated Web Services. XFire comes with a WSGen tool that can be used to generate client- and server-side stubs from a WSDL and also supports a WSDL first development.

Conclusion
By analyzing the data collected in the course of this study, several conclusions were reached.

First, it seems obvious that the performance of third-generation SOAP engines is significantly better than that of its first- and second-generation counterparts.

It's concluded that the JibX Binding Framework offers the best performance and a great deal of flexibility through its binding definition file. However, defining bindings for complicated objects can become very cumbersome and time-consuming.

It's also concluded that XFire with JibX offers the best marshalling and un-marshalling performance, and is only marginally slower than Axis2 with JibX in round-trip performance, which can be largely attributed to the slower client-side processing by the XFire-based JibX client. XFire also seems to offer the best scalability, speed, and throughput among all test cases. Moreover, the ease of development using JibX binding with XFire over Axis2 with JibX makes this an attractive option.

However, it's worth noting that, if ease of use and development is of essence, Axis2 with ADB offers the best balance between ease and performance - Axis2 with ADB is extremely easy to use (however, it's less flexible than JibX) and offers very decent performance.

REFERENCES
•  Web Services @ W3C: www.w3.org/2002/ws/
•  "XMill - An Efficient Compressor for XML": www.liefke.com/hartmut/xmill/xmill.html
•  Paul Sandoz, Alessando Triglia & Santiago Pericas-Geertsen. "Fast Infoset":
http://java.sun.com/developer/technicalArticles/xml/fastinfoset/
•  Dr. Srinivas Padmanabhuni, Bijoy Majumdar, Ujval Mysore, Vikram Sitaram. "XML Binding Frameworks in the Context of Service-Oriented Architecture": http://soa.sys-con.com/read/114130.htm
•  WebServices - SOAP: http://xml.apache.org/soap
•  "Apache Axis": http://ws.apache.org/axis/
•  "Codehaus XFire": http://xfire.codehaus.org
•  "Apache Axis2/Java: Next Generation Web Services": http://ws.apache.org/axis2/
•  Why StAX? , http://java.sun.com/webservices/docs/1.6/tutorial/doc/SJSXP2.html
•  Common DOM API: http://java.sun.com/j2se/1.4.2/docs/guide/plugin/dom/index.html
•  API overview: http://java.sun.com/webservices/jaxp/dist/1.1/docs/tutorial/overview/3_apis.html
•  "Axis2/Java-JibX Integration with Axis2":
http://ws.apache.org/axis2/1_2/jibx/jibx-codegen-integration.html#intro
•  "Codehaus XFire- Client and Server Stub generation form WSDL":
http://xfire.codehaus.org/Client+and+Server+Stub+Generation+from+WSDL
(All Web sites were accessed on June 26, 2007.)

About Krishnendu Kunti
Krishnendu Kunti is a senior technical specialist with the Web Services Center of Excellence at Infosys Technologies, Hyderabad. He has contributed to architecting, design, and testing of Syndeo, an in-house service-oriented platform for enterprise-grade deployment of Web services. His areas of interest are SOA and business execution languages. Currently he is working as a technical lead at a leading financial services company developing data services using SOA.

About Rahul Muralidhar
Rahul Muralidhar is an undergraduate student pursuing computer engineering at the University of Waterloo, Ontario, Canada. He is currently pursuing an internship with the Web Services Centre of Excellence at SETLabs, Infosys Technologies Limited, Hyderabad, India. His areas of interest include optimizing the processing and transfer of large XML documents in order to improve Web services performance.

About Nagarani Badveeti
Nagarani Badveeti is a member of the Web Services COE (Center of Excellence) in SETLabs, Infosys Technologies. She has extensively worked on Web services implementation projects and has been involved in the creation of the SOA-based integration platform for auto dealer management systems using STAR Schema. Her fields of interest include SOA-enabling technologies, Web services, and XML technologies.

SOA WORLD LATEST STORIES
Avineon has been awarded a Small Business Innovation Research (SBIR) Program Phase II contract by the U.S. Department of Defense (DoD) Naval Sea Systems Command (NAVSEA). Under the contract, which is a continuation of its Phase I work, Avineon will continue transforming NAVSEA's existi...
Colosa announced that its flagship solution, ProcessMaker, is one of the first applications to achieve certification through the Intel Certified Solutions Program and will be available on the Intel Business Exchange. The Intel Business Exchange is an online marketplace for small and me...
IBM has introduced new versions of two software products, part of its growing InfoSphere portfolio, that deliver information on demand to the people, processes and applications that rely on it. The new products help customers create and manage trusted information from across their ente...
The SOA Consortium announced the availability of a podcast and slide deck of the presentation by K. Scott Morrison, VP of Engineering and Chief Architect at Layer 7 Technologies, on "How to Fail at SOA," recorded at the SOA Consortium meeting in Ottawa, Ontario, Canada, in June. Callin...
Services-Oriented Architecture (SOA) is a software architecture where functionality is grouped around business processes and packaged as interoperable services. SOA also describes IT infrastructure which allows different applications to exchange data with one another as they participat...
AMB has been chosen by North Shore Credit Union as their data quality provider to cleanse their old system data as part of their data governance program. The tight integration with ETL tools and the availability of integrated SOA components and tools usable by their stakeholders was a ...
SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
Click to Add our RSS Feeds to the Service of Your Choice:
Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
Publish Your Article! Please send it to editorial(at)sys-con.com!

Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021


SYS-CON FEATURED WHITEPAPERS


ADS BY GOOGLE