Performance Comparison of several popular webservice frames 1 Summary
The development of webservice applications can not be separated from the framework of support, when the Open-open site listed more than 30 kinds of, this to the developers how to choose to bring certain doubts. The key elements of performance WebService, there are great differences in the performance of different frameworks, but currently in the official web site, network data can easily find the introduction of their respective frameworks, but there are few test data for different framework performance. This paper chooses some popular frames: Apache Axis1, Apache Axis2, Codehaus XFire, Apache CXF and so on, uses Java as test case, through the native and the remote two kinds of test way, has carried on the performance test to these several kinds of frameworks, The analysis and performance of the test results are compared, and the frame with excellent performance is recommended at last.
Keywords: Axis1, Axis2, XFire, CXF, Spring, SOAP, StAX, WSDL 2 Framework Introduction 2.1 Apache Axis1
Axis is essentially a soap engine (Apache Axis is a implementation of the soap), which provides the basic framework for creating server-side, client, and gateway SOAP operations. But axis is not exactly a soap engine, it also includes:
L is a separate SOAP server.
L is a server that embeds a servlet engine (for example, Tomcat).
L Support WSDL.
L provides tools for translating WSDL into Java classes.
L Provide example programs.
L provides TCP/IP packet monitoring tools. 2.2 Apache Axis2
The Apache Axis2 is more efficient, more modular, and more XML-oriented than the Apache AXIS1, enabling easy plug-in modules to extend new features and features, such as security and reliability. The Apache Axis2 is based on the Apache AXIOM, which is a high-performance, pull-based XML object model. Key features of Apache Axis2:
L Parse XML faster. Adopt your own object model and Stax (streaming API for XML).
L Lower memory footprint.
L Support Hot deployment. New services are added to the system without restarting the service.
L Support Asynchronous WebService,
L MEP support, flexible support for message Exchange Patterns (MEPs) defined in WSDL 2.0
L more flexible. The engine provides developers with sufficient freedom to extend customer header information processing, System management,
L more stable.
• The transport framework does not depend on specific protocols. For integration and Transfer Protocol (SMTP, FTP, message-oriented middleware, etc) there is a simple and abstract, the engine core is completely independent of the specific transport protocol.
L Support WSDL. Support WSDL1.1, WSDL2.0.
• Facilitate integration of other components (add-ons). Several Web services have been integrated, including: wss4j for Security (Apache Rampart), Sandesha for reliable messaging, kandula which are an Encapsula tion of ws-coordination, ws-atomictransaction and ws-businessactivity.
L Good Extensibility. 2.3 Codehaus XFire
The Xfire core is a lightweight, Stax message processing model used to interact with SOAP messages, which supports different types of binding mechanisms, containers, and transport protocols.
Supports WebService standards-SOAP, WSDL, WS-I Basic profile, ws-addressing, ws-security, etc.
L High Performance Soap STACK
• Pluggable bindings POJOs, XMLBeans, JAXB 1.1, JAXB 2.0, and Castor support
• Use the JSR 181 API to configure services through Java1.5 and 1.4 (Commons attributes JSR Syntax 181)
L Support Multi-medium transport protocol-HTTP, JMS, XMPP, IN-JVM, etc.
• Embeddable and Intuitive APIs
L support Spring, Pico, Plexus, and loom
L Support JBI
L Client and server stub code generation
L Support Jax-ws Early access 2.4 Apache CXF
The Apache cxf is an open source service framework. CXF can be developed with front-end programming APIs, such as: Jax-ws and Jax-rs, and the main features include: