Based on the Axis2 architecture, there are two implementations of the Apache Axis2 Web services engine - Apache Axis2/Java and Apache Axis2/C
While you will find all the information on Apache Axis2/Java here, you can visit the Apache Axis2/C Web site for Axis2/C implementation information.
[ Download ] | [ Documents Home ]
Apache Axis2 is the core engine for Web services. It is a complete re-design and re-write of the widely used Apache Axis SOAP stack, built on the lessons learnt from Apache Axis.
Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C.
Extract from the draft W3C specification:
"SOAP is a lightweight protocol for exchanging structured information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses."
This project is a follow-on to the Apache SOAP project.
Please see the Axis Reference Library for a list of technical resources that should prove useful on this project.
A new architecture for Axis2 was introduced during the August 2004 Summit in Colombo, Sri Lanka. The new architecture on which Axis2 is based on is more flexible, efficient and configurable in comparison to Axis1.x architecture. Some well established concepts from Axis 1.x, like handlers etc., have been preserved in the new architecture.
Apache Axis2 not only supports SOAP 1.1 and SOAP 1.2, but it also has integrated support for the widely popular REST style of Web services. The same business logic implementation can offer both a WS-* style interface as well as a REST/POX style interface simultaneously.
Apache Axis2 is more efficient, more modular and more XML-oriented than the older version. It is carefully designed to support the easy addition of plug-in "modules" that extend their functionality for features such as security and reliability. The Modules currently available or under development include:
Apache Axis2 is built on Apache AXIOM, a new high performant, pull-based XML object model.
Axis2 comes with many new features, enhancements and industry specification implementations. The key features offered are as follows:
Speed - Axis2 uses its own object model and StAX (Streaming API for XML) parsing to achieve significantly greater speed than earlier versions of Apache Axis.
Low memory foot print- Axis2 was designed ground-up keeping low memory foot print in mind.
AXIOM - Axis2 comes with its own light-weight object model, AXIOM, for message processing which is extensible, highly performant and is developer convenient.
Hot Deployment - Axis2 is equipped with the capability of deploying Web services and handlers while the system is up and running. In other words, new services can be added to the system without having to shut down the server. Simply drop the required Web service archive into the services directory in the repository, and the deployment model will automatically deploy the service and make it available for use.
Asynchronous Web services - Axis2 now supports asynchronous Web services and asynchronous Web services invocation using non-blocking clients and transports.
MEP Support - Axis2 now comes handy with the flexibility to support Message Exchange Patterns (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.
Flexibility - The Axis2 architecture gives the developer complete freedom to insert extensions into the engine for custom header processing, system management, and anything else you can imagine.
Stability - Axis2 defines a set of published interfaces which change relatively slowly compared to the rest of Axis.
Component-oriented Deployment - You can easily define reusable networks of Handlers to implement common patterns of processing for your applications, or to distribute to partners.
Transport Framework - We have a clean and simple abstraction for integrating and using Transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent.
WSDL support - Axis2 supports the Web Service Description Language, version 1.1 and 2.0, which allows you to easily build stubs to access remote services, and also to automatically export machine-readable descriptions of your deployed services from Axis2.
Add-ons - Several Web services specifications have been incorporated including WSS4J for security (Apache Rampart), Sandesha for reliable messaging, Kandula which is an encapsulation of WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity.
Composition and Extensibility - Modules and phases improve support for composability and extensibility. Modules support composability and can also support new WS-* specifications in a simple and clean manner. They are however not hot deployable as they change the overall behavior of the system.
We hope you enjoy using Axis2. Please note that this is an open-source effort. If you feel the code could use new features or fixes, or the documentation can be improved, please get involved and lend us a hand! The Axis developer community welcomes your participation.
Let us know what you think! Send your feedback on Axis2 to "[email protected]". Make sure to prefix the subject of the mail with [Axis2].
Apache Axis2 Version 1.3 comes with performance improvements and a number bug fixes over the 1.2 release. Check out the complete list of features below.
For information on previous Axis2 releases running up to the current release see the 'Axis2 Archived News' page.
For other news items from Apache Software Foundation see: