Comments
yourfanat wrote: I am using another tool for Oracle developers - dbForge Studio for Oracle. This IDE has lots of usefull features, among them: oracle designer, code competion and formatter, query builder, debugger, profiler, erxport/import, reports and many others. The latest version supports Oracle 12C. More information here.
Cloud Computing
Conference & Expo
November 2-4, 2009 NYC
Register Today and SAVE !..

2008 West
DIAMOND SPONSOR:
Data Direct
SOA, WOA and Cloud Computing: The New Frontier for Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
GOLD SPONSORS:
Appsense
User Environment Management – The Third Layer of the Desktop
Cordys
Cloud Computing for Business Agility
EMC
CMIS: A Multi-Vendor Proposal for a Service-Based Content Management Interoperability Standard
Freedom OSS
Practical SOA” Max Yankelevich
Intel
Architecting an Enterprise Service Router (ESR) – A Cost-Effective Way to Scale SOA Across the Enterprise
Sensedia
Return on Assests: Bringing Visibility to your SOA Strategy
Symantec
Managing Hybrid Endpoint Environments
VMWare
Game-Changing Technology for Enterprise Clouds and Applications
Click For 2008 West
Event Webcasts

2008 West
PLATINUM SPONSORS:
Appcelerator
Get ‘Rich’ Quick: Rapid Prototyping for RIA with ZERO Server Code
Keynote Systems
Designing for and Managing Performance in the New Frontier of Rich Internet Applications
GOLD SPONSORS:
ICEsoft
How Can AJAX Improve Homeland Security?
Isomorphic
Beyond Widgets: What a RIA Platform Should Offer
Oracle
REAs: Rich Enterprise Applications
Click For 2008 Event Webcasts
In many cases, the end of the year gives you time to step back and take stock of the last 12 months. This is when many of us take a hard look at what worked and what did not, complete performance reviews, and formulate plans for the coming year. For me, it is all of those things plus a time when I u...
SYS-CON.TV
A Performance Comparison of Popular Open Source Web Services Engines
We really are making progress

Service Oriented Architecture (SOA) stands on the twin pillars of reusability and interoperability. Any business function that can be reused is an ideal candidate to be exposed as a service.

A reusable service, until and unless implemented in an interoperable manner, isn't much use. Web Services standards provide standards-based interfaces for service description, discovery, and message definitions to invoke such services. Web Service technology has come a long way to reach enterprise-grade adoption of the core standards. Nonetheless, the process has been facilitated by Web Service engine offerings from both the open source community and product vendors. One of the majors concerns of Web Services adoption is the performance overhead associated with transmitting and processing of XML. Today, Web Services engines and tools provide a means for data compression (XMill), data representation efficiency (fast infoset), and efficient processing of XML. In this article we'll be benchmarking the performance of a few leading open source Web Service runtimes, based on their capability to process XML using different binding frameworks in addition to native XML binding. We aim to bring out a comparative study highlighting the relative merits in using specific platforms for specific scenarios.

The Evolution of Web Service Platforms
Broadly speaking, Web Services engines can be segregated into three generations - the first generation of Web Services engines such as Apache SOAP came to market during the early stages of Web Services core standards definition/adoption. These platforms used the DOM API and had dismal performance.

The second generation of Web Services platforms such as Apache Axis 1.4 had native support for WSDL, JAX RPC, and SAAJ; however, these engines had limited support for integrating with external XML binding frameworks and solely depended on a native binding framework. Second-generation Web Services platforms boasted far better performance compared to first-generation Web Service platforms; however, the performance degraded significantly for large XML payloads. Third-generation Web Services platforms such as XFire and Axis2 use StAX for XML processing and have a pluggable architecture that allows for integrating with external binding frameworks. These platforms draw from the strength of individual binding frameworks, StAX parsing models, and overall a better and pluggable architecture. Third-generation Web Services platforms deliver better performance both in small XML payloads and large XML payloads and come with support for a number of WS* standards.

Web Service Performance
Web Service performance is a function of several factors, such as the communication protocol, the network latency, the compression mechanism used, the size of the document, and the representation format (encoding) of the information. It's beyond the scope of this article to cover the broad spectrum of factors affecting the overall performance of Web Service.

Here we're concerned with the performance analysis of a SOAP Engine combined with a binding framework, hence we'll limit our performance studies to key related areas such as binding performance, round-trip performance, scalability, speed, and throughput. These are directly affected by factors such as the binding framework used and the parsing model of the SOAP Engine. The study assumes that factors external to the situation of concern remain in a constant state and that reasonable steps were taken to ensure that.

Factors Affecting the Performance of a Web Service Engine
XML data sent over the wire is converted to native objects in a Web Service platform and vice versa; these native objects are passed to and from underlying business methods. The process of converting a native object to XML and vice versa is termed marshalling and un-marshalling, respectively. In J2EE, there are three APIs (SAX, DOM, and StAX) for parsing XML document; each of these APIs has relative strengths and shortcomings. Binding frameworks use one of these APIs to generate custom native objects from XML and vice versa with a little configuration. All Web Services platforms use either a parsing mechanism or binding frameworks for marshalling and un-marshalling data. As a result, the performance of a Web Service platform largely depends on the efficiency of binding frameworks used, the underlying parsing models, and the overall architecture.

The first generation of Web Services engines used the DOM API, which attributed to the degradation of performance for larger payloads and high load conditions.

The second generation of Web Service platforms used native code for marshalling and un-marshalling, which depended on the SAX API for XML parsing. Though SAX-based XML parsing is faster than DOM, it necessitates parsing the whole XML document, which may not be unnecessary at times, and moreover, Web Service platform-specific binding frameworks are often not as efficient as the best-of-breed binding frameworks available. Because of their dependence on custom platform-specific binding frameworks, the second generation of Web Services platforms can't benefit from improvements incorporated in the mainstream best-of-breed available binding frameworks.

The third generation of Web Services platforms come with a pluggable architecture that allows the use of best-of-breed binding frameworks with little configuration, moreover, these platforms use StAX, which combines the best features of both SAX and DOM to deliver consistently better performance for both large payloads and high load conditions.

Methodology for Web Service Engine Performance Evaluation
Overview of the Test Environment

All tests were carried out on a Dell Optiplex GX 260 desktop workstation, with a 1.8GHz Pentium 4 processor, 400MHz front-side bus, and 1GB of DDR SD-RAM, running Windows XP Professional (Service Pack 2).

Table 1 provides the version numbers of the various tools and APIs used in the course of this study.

JRE Configuration
Both Java Runtime Environments were used with their default configuration. No configuration changes were made to optimize the JVM.

Apache Tomcat Server Configuration
The Apache Tomcat Server was used with the default configuration. The maximum permitted heap size of the Tomcat server was 64MB and the maximum number of threads permitted was 150.

Overview of the Test Cases Under Consideration
The test cases were chosen to satisfy three primary goals:

  • Compare the performance of second-generation SOAP Engines with their third-generation counterparts.
  • Compare the performance of the major binding frameworks in wide use (ADB, JAXB2, and JibX).
  • Comment on the level of support/integration offered by different SOAP Engines for the aforesaid binding frameworks.

    To achieve this, five test cases were chosen for analysis:

  • Axis 1.4 with native data-binding
  • Axis2 1.2 with Axis Data Binding (ADB)
  • Axis2 1.2 with JibX Data Binding
  • XFire 1.2.6 with JibX Data Binding
  • XFire 1.2.6 with Sun's JaxB 2.0 Data Binding
To make the test more comprehensive, the clients for each Web Service were created using the method recommended by the documentation and the same binding as the server-side service. For example, the Axis2 with JibX service would be invoked by a client generated using WSDL2JAVA with JibX binding.
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.

In order to post a comment you need to be registered and logged in.

Register | Sign-in

Reader Feedback: Page 1 of 1

SOA World Latest Stories
In his general session at 19th Cloud Expo, Manish Dixit, VP of Product and Engineering at Dice, discussed how Dice leverages data insights and tools to help both tech professionals and recruiters better understand how skills relate to each other and which skills are in high demand usin...
In his session at 20th Cloud Expo, Scott Davis, CTO of Embotics, discussed how automation can provide the dynamic management required to cost-effectively deliver microservices and container solutions at scale. He also discussed how flexible automation is the key to effectively bridging...
SYS-CON Events announced today that DatacenterDynamics has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY. DatacenterDynamics is a brand of DCD Group, a global B2B media and publ...
Most DevOps journeys involve several phases of maturity. Research shows that the inflection point where organizations begin to see maximum value is when they implement tight integration deploying their code to their infrastructure. Success at this level is the last barrier to at-will d...
DevOpsSummit New York 2018, colocated with CloudEXPO | DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City. Digital Transformation (DX) is a major focus with the introduction of DXWorldEXPO within the program. Successful transformation requires a laser focus ...
CloudEXPO New York 2018, colocated with DXWorldEXPO New York 2018 will be held November 11-13, 2018, in New York City and will bring together Cloud Computing, FinTech and Blockchain, Digital Transformation, Big Data, Internet of Things, DevOps, AI, Machine Learning and WebRTC to one l...
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