<title>Apache Axis2 - Next Generation Web Services</title> | |
<h2>Welcome to Apache Axis2</h2> | |
<p> | |
Apache Axis2 is an implementation of the | |
<a href="http://www.w3.org/TR/soap/">Simple Object Access Protocol (SOAP) | |
Recommendation</a> from the <a href="http://www.w3.org">W3C</a>. Axis2 can be used | |
to provide and consume Web Services. | |
</p> | |
<p>From the <a href="http://www.w3.org/TR/soap/">W3C recommendation</a>: | |
<div style="padding-left: 20px; padding-top: 5px; font-style:italic;">"SOAP is a lightweight protocol for exchange of 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." | |
</div> | |
</p> | |
<p> | |
Apache Axis2 is an effort to re-implement both Axis/Java and | |
Axis/C++ on a new architecture. Building upon the "handler chain" model | |
developed in Axis1, Axis2 introduces a more | |
flexible pipeline architecture which lends itself to greater modularity | |
and extensibility. This extensibility will allow Axis2 to act as a | |
foundation for a growing constellation of associated Web Services protocols including: | |
<ul> | |
<li><a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm">WS-ReliableMessaging</a></li> | |
<li><a href="http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss">WS-Security</a></li> | |
<li><a href="http://www.w3.org/Submission/ws-addressing/">WS-Addressing</a> | |
</ul> | |
</p> | |
<h2>Latest Release</h2> | |
<p><b>12 August 2005 - Apache Axis2 Version 0.91 Released!</b> <a href="releases.html">(Download 0.91)</a> | |
<p>Axis2 is becoming more and more stable. <a href="releases.html">Download it!</a> This 0.91 release is a glimpse of 1.0 | |
that should be comming soon. This 0.91 release contains the following additional | |
features: | |
<ul> | |
<li>File Caching for MTOM</li> | |
<li>SOAP Faults based on the SOAP version and better fault handling </li> | |
<li>Different character encoding support</li> | |
<li>Improved infoset support in AXIOM</li> | |
<li>Improved code generation templates</li> | |
<li>Numerous bug fixes</li> | |
</ul> | |
We are getting closer to a 1.0 release, the remaining tasks to be completed | |
before a 1.0 release include: SOAP 1.1 and 1.2 validation, JAX-RPC 1.1/2.0 compliance, | |
Complete XML infoset support for AXIOM, implementation of JMS transport, and Web | |
Service Policy support.</p> | |
<h2>Axis2 Background and Motivation</h2> | |
<p> | |
Axis1 was built under the assumption that other protocols such as WS-ReliableMessaging | |
would be integrated into Axis1's handler chain. Axis1 had the concept of a | |
MessageContext and a chain of transport, service, and global message handlers, but | |
Axis1 lacked a clear extension architecture to enable clean composition of | |
such layers. One of the key motivations for Axis2 is to provide a clean and | |
simple environment for implementations of associated WS standards such as | |
<a href="http://ws.apache.org/sandesha/">Apache Sandesha</a> and | |
<a href="http://ws.apache.org/wss4j/">Apache WSS4J</a>. Implementations of | |
associated standards should be able to easily interface with the base | |
SOAP Message handling system. In summary, Axis2 has a more modular and | |
flexible message handling pipeline, it focuses on the details of message handling | |
and provides clear hooks for implementations of associated Web Services | |
standards and protocols. This evolution will allow Axis to be a foundational | |
technology for next generation Web Services. | |
</p> | |
<p> | |
Axis2 introduces a representation for SOAP messages called | |
<b>AXIOM (AXIs Object Model)</b>. AXIOM consists of two parts: a complete XML Infoset | |
representation and a SOAP Infoset representation. The XML Infoset | |
representation provides a JDOM-esque API built atop a deferred model | |
via a StAX-based (Streaming API for XML) pull parsing API. A key feature of AXIOM | |
is that it allows one to stop building the XML tree and just access the pull stream | |
directly; thus enabling both maximum flexibility and maximum performance. This | |
approach allows Axis2 to support multiple levels of abstraction for consuming and | |
offering Web services: using plain AXIOM, using generated code and statically | |
data-bound data types and so on. Developers with demanding performance | |
requirements will be able to use AXIOM to create highly scaleable Web Services. | |
</p> | |
<p> | |
A third shift in Axis 2 is the de-emphasis of RPC-oriented Web | |
Services and a shift towards more document-oriented, message style asynchronous | |
service interactions. With Axis2, clients can interact with servers in a number of | |
ways, and the client API provides both a blocking and non-blocking API. At the time of Axis1's design, RPC-style, | |
synchronous, request-response interactions were the order of the day for Web | |
services. Today service interactions are much more message-oriented and exploit | |
many different message exchange patterns. The Axis2 engine architecture is careful | |
to not build in any assumptions of request-response patterns to ensure that it can | |
be used easily to support arbitrary message exchange patterns. | |
Don't worry,you'll still be able to use Axis2 like you used Axis1, you'll just have a richer set | |
of options for client-server interaction. | |
</p> | |
<h2>Archived News</h2> | |
<p><b>02 July 2005 - Apache Axis2 Version 0.9 Released!</b> <a href="releases.html#0.9">(Download 0.9)</a></p> | |
<p>Axis2 is taking shape. <a href="releases.html#0.9">Download it!</a> This 0.9 release is a glimpse of 1.0 that should be comming soon. This 0.9 release contains the following additional features: | |
<ul> | |
<li>XML Beans based data binding support</li> | |
<li>Support for WS-Addressing, both the submission and final versions</li> | |
<li>REST Web Service Support</li> | |
<li>MTOM/SWA attachments support</li> | |
<li>SAAJ implementation</li> | |
</ul> | |
<p><b>07 June 2005 - Apache Axis2 Milestone 2 (M2) Released</b> <p>Apache Axis2 is starting to take shape, features implemented in this | |
second milestone release are: | |
<ul> | |
<li>Modules - a mechanism to extend the SOAP Processing Model</li> | |
<li>Support for WS-Addressing</li> | |
<li>Axis2 Client API - Blocking and Non-Blocking API</li> | |
<li>Support for One-Way Messaging and Request Response Messaging</li> | |
<li>WSDL Code Generation Tool.</li> | |
<li>HTTP, SMTP, and TCP transport Support</li> | |
</ul> | |
This release also includes tools such as an administraion web application, and three Eclipse | |
plug-ins: WSDL2WS, Service Archive Wizard, and Module Archive Wizard.</p> | |
<p><b>24 February 2005 - Apache Axis2 Milestone 1 (M1) Released</b> <p>This first milestone release of Axis2 includes the following features: | |
<ul> | |
<li>AXIOM, a SOAP specific streaming XML infoset model for SOAP 1.1/1.2 Messages</li> | |
<li>WSDL Object Model built based on the proposed WSDL 2.0 Component Model.</li> | |
<li>Handler framework with the support to specify the location of the Handler in a | |
specific Phase</li> | |
<li>Support to bundle and enable the Handlers as Modules</li> | |
<li>Support for the Synchronous and Asynchronous IN-OUT messaging over HTTP transport</li> | |
<li>Hot deployment of Web Services</li> | |
</ul> | |