blob: 1578ecf58e0d04e141f71ca3b8f577fc7621c0eb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="">
<title>Axis2 User's Guide</title>
</head>
<body lang="en-US" dir="ltr">
<h4><a name="Axis2_User's_Guide">Axis2 User's Guide</a></h4>
<p><i>-Axis2 Version 0.95</i></p>
<p><i>User Feedback: <a
href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a></i>. Prefix
subject with [Axis2]. To subscribe to mailing list see <a
href="http://ws.apache.org/axis2/mail-lists.html">here.</a></p>
<p align="right">Pages: <a href="userguide.html">Content</a>, <b>1</b>, <a
href="userguide2.html">2</a>, <a href="userguide3.html">3</a>, <a
href="userguide4.html">4</a>, <a href="userguide5.html">5</a></p>
<h2><a name="Introduction">Introduction</a></h2>
<p>Welcome to Axis2, the next generation of Apache Axis!!! This User's Guide
will help you to understand what Axis2 has to offer and how to get started
with it. We hope you will benefit from the power of Axis2.</p>
<h3><a name="Attention">Attention</a></h3>
<ul>
<li><p style="margin-bottom: 0in">This User's Guide is written based on
Axis2 standard binary distribution. (The standard binary distribution can
be created from the source distribution using the maven goal <code>$maven
dist-std-bin</code>). Please refer the <a
href="installationguide.html#Download_Axis2">installation guide</a> for
further information on the downloadables available in this release.</p>
</li>
<li><p>If you are new to Axis, it's highly recommended that you read <a
href="http://ws.apache.org/axis/java/user-guide.html"
target="_blank">Axis 1.x User's Guide</a> before you go any further in
this guide.</p>
</li>
</ul>
<h3><a name="What_is_Axis2_">What is Axis2?</a></h3>
<p>Axis2 is the next generation of Apache Axis. In late August 2004, during
the Axis2 Summit held in Colombo, Sri Lanka, a new architecture for Axis was
introduced which was much more flexible, efficient and configurable. Although
the architecture is new, some of the well established concepts from Axis 1.x
like handlers are preserved in Axis2. Axis2 comes with many new features,
enhancements and industry specification implementations.</p>
<p>After months of continued discussion and coding in this direction, Axis2
now delivers the following key features:</p>
<ul>
<li><p style="margin-bottom: 0in"><strong>Speed</strong> - Axis2 uses its
own object model and StAX (Streaming API for XML) parsing to achieve
significantly greater speed than earlier versions of Apache Axis.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Low memory foot print</strong>-
Axis2 was designed ground-up keeping low memory foot print in mind.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>AXIOM</strong> - Axis2 comes with
its own light-weight object model, AXIOM, for message processing which is
extensible, high performance and developer convenient</p>
</li>
<li><p style="margin-bottom: 0in"><strong><a name="Hot_Deployment">Hot
Deployment</a></strong> - Axis2 is equipped with the capability of
deploying Web service &amp; handlers while system is up and running. In
other words, new services can be added to the system without having to
shut down server.Drop the required Web service archive into the services
directory in the repository and deployment model will automatically
deploy the service and make it available for use.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Asynchronous Web
Services</strong> - Axis2 now supports asynchronous Web services &amp;
asynchronous Web services invocation using non-blocking clients and
transports .</p>
</li>
<li><p style="margin-bottom: 0in"><strong>MEP Support</strong> - 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.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Flexibility</strong> - The Axis2
architecture gives the developer complete freedom to insert extensions
into the engine for custom header processing, system management, or
<em>anything else you can imagine</em>.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Stability</strong> - Axis2
defines a set of published interfaces which change relatively slowly
compared to the rest of Axis.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Component-oriented
Deployment</strong> - You can easily define reusable networks of Handlers
to implement common patterns of processing for your applications, or to
distribute to partners.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Transport Framework</strong> - 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.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>WSDL support</strong> - Axis2
supports the Web Service Description Language, version <a
href="http://www.w3.org/TR/wsdl">1.1</a> and <a
href="http://www.w3.org/TR/wsdl20/">2.0</a>, 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.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Add-ons</strong> Several Web
services specifications have been incorporated including <a
href="http://ws.apache.org/wss4j/" target="_blank">WSS4J</a> for
security, <a href="http://ws.apache.org/sandesha/"
target="_blank">Sandesha</a> for reliable messaging, <a
href="http://ws.apache.org/kandula/" target="_blank">Kandula</a> which is
an encapsulation of WS-Coordination, WS-AtomicTransaction and
WS-BusinessActivity.</p>
</li>
<li><p style="margin-bottom: 0in"><strong>Composition and
Extensibility</strong> - modules and phases improve support for
composability and extensibility. Modules supports composability and is
able to add support for new WS-* specifications in a simple and clean
manner. They are however not <a href="#Hot_Deployment">hot deployable</a>
as they change the overall behavior of the system.</p>
</li>
</ul>
<p>We hope you enjoy using Axis2. Please note that this is an open-source
effort. If you feel the code could use some new features or fixes, please get
involved and lend us a hand! The Axis developer community welcomes your
participation.</p>
<p>Let us know what you think!</p>
<p>Please send your feedback on Axis2 to "<a
href="mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a>" and make
sure to prefix the subject of the mail with [Axis2].</p>
<h3><a name="Axis2_Complete_Features_List">Axis2 Complete Features
List</a></h3>
<ol type="1">
<li>AXIOM, an XML object model working on StAX (Streaming API for XML)
parsing optimized for SOAP 1.1/1.2 Messages. This has complete XML
infoset support.</li>
<li>Support for One-Way Messaging (In-Only) and Request Response Messaging
(In-Out)</li>
<li>Module Architecture, mechanism to extend the SOAP Processing Model</li>
<li>Module version support , can have multiple versions of the same module
and use them depending on the requirement.</li>
<li>Content hierarchy</li>
<li>Archive based deployment Model and Directory based deployment model</li>
<li>JWS like deployment (making Java class into Web service)</li>
<li>WSDL Code Generation Tool for Stub and skeletons</li>
<li>WS-Addressing, both the submission (2004/08) and final (2005/08)
versions</li>
<li>WSS4J module for security</li>
<li>Improved and user friendly Client API</li>
<li>WSDL2Java and Java2WSDL</li>
<li>REST (REpresentational State Transfer) Support</li>
<li>Transports supports: HTTP, SMTP, TCP, JMS</li>
<li>Raw XML providers</li>
<li>Support for MTOM/ MIME/ SwA</li>
<li>SAAJ implementation</li>
<li>DOOM</li>
<li>Pack/Unpack capability for the generated code</li>
<li>Axis Data Binding - ADB (Framework and Schema Compiler)</li>
<li>Numerous bug fixes since last release</li>
<li>Transport framework improvements (ListenerManager)- <span
style="color: #FF0000">New</span></li>
<li>AxisServlet auto start when application server get start up- <span
style="color: #FF0000">New</span></li>
<li>Module disengagement support- <span
style="color: #FF0000">New</span></li>
<li>Loading module (.mar) from classpath- <span
style="color: #FF0000">New</span></li>
<li>Sessions scoping for Application, SOAP, Transport and Request
levels-<span style="color: #FF0000">New</span></li>
</ol>
<h4><a name="Experimental_Features_List">Experimental Features List</a></h4>
<ol type="1">
<li><a href="WS_policy.html" target="_blank">Server side &amp; client side
Web Service Policy support</a></li>
<li>?wsdl and ?xsd support</li>
<li>Generating ServiceClient for a given WSDL and invoke the corresponding
service using generated client.</li>
</ol>
<h4><a name="Major_Changes_Since_Last_Release">Major Changes Since Last
Release</a></h4>
<ol type="1">
<li>Transport framework improvements (ListenerManager)</li>
<li>Changed the way of adding action to mapping (wsamapping) from parameter
to child element so with this version onward the way of adding mapping is
as follows:</li>
<pre>
&lt;actionMapping&gt;MyMapping&lt;/actionMapping&gt;
</pre>
<li>Refactored following packages in Axiom.
<ul>
<li>org.apache.axiom.om.impl.llom.builder to
org.apache.axiom.om.impl.builder</li>
<li>org.apache.axiom.om.impl.llom.mtom to
org.apache.axiom.om.impl.mtom</li>
<li>org.apache.axiom.om.impl.llom.serialize to
org.apache.axiom.om.impl.serialize</li>
<li>org.apache.axiom.om.impl.llom.traverse to
org.apache.axiom.om.impl.traverse</li>
</ul>
</li>
</ol>
<h3><a name="Tools_included_in this_Release">Tools Included In This
Release</a></h3>
<ol type="1">
<li>Axis2 Web Application (Web App)</li>
<li>WSDL2WS- <!--<a href="CodegenTools-EclipsePlugin.html" target="_blank">Eclipse
plugin</a><a>/</a>-->
<a href="CodegenToolReference.html" target="_blank">Command line
version</a><!--<a>/</a><a
href="tools\idea\Idea_plug-in_userguide.html#WSDL2Java_Code_Generation" target="_blank">IntelliJ
IDEA plugin</a>-->
</li>
<!--<li>Service Archive Wizard- <a
href="ServiceArchiveToolReference.html" target="_blank">Eclipse plugin</a>/ <a
href="tools\idea\Idea_plug-in_userguide.html#Create_Service_Archive" target="_blank">IntelliJ
IDEA plugin</a>-->
</ol>
<p><a href="http://ws.apache.org/axis2/download.cgi"
target="_blank">Download</a> above plugins</p>
<h3>What Still To Do?</h3>
<p>See list of what we think needs to be done, and consider helping out if
you're interested and able!</p>
<ol type="1">
<li>JAX-RPC 1.1 and/or JAX-WS compliance</li>
<li>SOAP Encoding</li>
<li>Binary serialization and de-serialization support</li>
<li>Management Interface for Axis2</li>
<li>Implementation of other Transports.</li>
<li>Resource framework implementation (WS-RF) and Enterprise Web services
such as JSR 109 support</li>
<li>Completion of Interop tests</li>
</ol>
<p align="right"><a href="userguide.html"><img src="images/arrow_left.gif">
Previous</a> | <a href="userguide2.html">Next <img
src="images/arrow_right.gif"></a></p>
Pages: <a href="userguide.html">Content</a>, <b>1</b>, <a
href="userguide2.html">2</a>, <a href="userguide3.html">3</a>, <a
href="userguide4.html">4</a>, <a href="userguide5.html">5</a></body>
</html>