blob: 40956c8107ba75151dd5b068b348545d2264b2b8 [file] [log] [blame]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one
~ or more contributor license agreements. See the NOTICE file
~ distributed with this work for additional information
~ regarding copyright ownership. The ASF licenses this file
~ to you under the Apache License, Version 2.0 (the
~ "License"); you may not use this file except in compliance
~ with the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing,
~ software distributed under the License is distributed on an
~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
~ KIND, either express or implied. See the License for the
~ specific language governing permissions and limitations
~ under the License.
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
<meta http-equiv="content-type" content="" />
<title>Apache Axis2/Java - Next Generation Web Services</title>
<link href="css/axis-docs.css" rel="stylesheet" type="text/css"
media="all" />
</head>
<body lang="en" xml:lang="en">
<h1>Welcome to Apache Axis2/Java</h1>
<p>Based on the Axis2 architecture, there are two implementations
of the Apache Axis2 Web services engine - Apache Axis2/Java and
Apache Axis2/C</p>
<p>While you will find all the information on Apache Axis2/Java
here, you can visit the <a href=
"http://ws.apache.org/axis2/c/"><strong>Apache Axis2/C</strong></a>
Web site for Axis2/C implementation information.</p>
<h2>May 02 2008 - Apache Axis2/Java Version 1.4 Released!</h2>
<p>[ <a href=
"http://ws.apache.org/axis2/download.cgi"><strong>Download</strong></a>
] | [ <a href="1_4/index.html"><strong>Documents Home</strong></a>
]</p>
<p>Apache Axis2 is the core engine for Web services. It is a
complete re-design and re-write of the widely used <a href=
"http://ws.apache.org/axis/">Apache Axis</a> SOAP stack, built on
the lessons learnt from Apache Axis.</p>
<h3><em>Apache Axis Project in a Nutshell:</em></h3>
<p>Apache Axis is an implementation of the SOAP ("Simple Object
Access Protocol") <a href=
"http://www.w3.org/TR/SOAP">submission</a> to W3C.</p>
<p>Extract from the draft W3C specification:</p>
<blockquote>"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."</blockquote>
<p>This project is a follow-on to the <a href=
"http://ws.apache.org/soap">Apache SOAP project</a>.</p>
<p>Please see the <a href="http://ws.apache.org/axis/ref.html">Axis
Reference Library</a> for a list of technical resources that should
prove useful on this project.</p>
<h3><em>Why Apache Axis2:</em></h3>
<p>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 <a href=
"http://ws.apache.org/axis/java/architecture-guide.html">Axis1.x
architecture</a>. Some well established concepts from Axis 1.x,
like handlers etc., have been preserved in the new
architecture.</p>
<p>Apache Axis2 not only supports SOAP 1.1 and SOAP 1.2, but it
also has integrated support for the widely popular <a href=
"http://www.xfront.com/REST-Web-Services.html">REST style of Web
services</a>. The same business logic implementation can offer both
a WS-* style interface as well as a REST/POX style interface
simultaneously.</p>
<p>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
<a href="http://ws.apache.org/axis2/modules/index.html">Modules</a>
currently available or under development include:</p>
<ul>
<li><a href=
"http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wsrm"
target="_blank">WS-ReliableMessaging</a> - Supported by <a href=
"http://ws.apache.org/sandesha/sandesha2/">Apache
Sandesha2</a></li>
<li><a href=
"http://www-128.ibm.com/developerworks/library/specification/ws-tx/#coor"
target="_blank">WS-Coordination</a> and <a href=
"http://www-128.ibm.com/developerworks/library/specification/ws-tx/#atom"
target="_blank">WS-AtomicTransaction</a> - Supported by <a href=
"http://ws.apache.org/kandula/">Apache Kandula2</a></li>
<li><a href=
"http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=wss"
target="_blank">WS-Security</a> - Supported by <a href=
"http://ws.apache.org/axis2/modules/rampart/1_2/security-module.html">
Apache Rampart</a></li>
<li><a href="http://www.w3.org/Submission/ws-addressing/" target=
"_blank">WS-Addressing</a> -Module included as part of Axis2
core</li>
</ul>
<p>Apache Axis2 is built on <a href=
"http://ws.apache.org/commons/axiom/index.html">Apache AXIOM</a>, a
new high performant, pull-based XML object model.</p>
<p>Axis2 comes with many new features, enhancements and industry
specification implementations. The key features offered are as
follows:</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, highly performant and is developer
convenient.</p>
</li>
<li>
<p style="margin-bottom: 0in"><strong><a name="Hot_Deployment" id=
"Hot_Deployment"></a>Hot Deployment</strong> - 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.</p>
</li>
<li>
<p style="margin-bottom: 0in"><strong>Asynchronous Web
services</strong> - Axis2 now supports asynchronous Web services
and 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, and <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 (Apache Rampart), <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 support composability and
can also support 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 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.</p>
<p>Let us know what you think! Send your feedback on Axis2 to
"<a href=
"mailto:axis-user@ws.apache.org">axis-user@ws.apache.org</a>". Make
sure to prefix the subject of the mail with [Axis2].</p>
<h2>Features of Axis2 Latest Version</h2>
<p>Apache Axis2 Version 1.4 comes with performance improvements and
a number bug fixes over the 1.3 release. Check out the complete list of
features below.</p>
<h3>Programming Model</h3>
<ul>
<li>Improved, XML-centric client API including full WSDL and policy
support</li>
<li><a href="@axis2_version_dir@/jaxws-guide.html">Support for JAXWS-style services and clients</a></li>
<li>Support for POJO and Spring services and clients</li>
<li>Support for any message exchange pattern</li>
<li>Synchronous and asynchronous calls</li>
<li>Archived service deployment model supporting full service
encapsulation with versioning support</li>
<li>Archived module deployment model supporting controlled
extensibility with versioning support</li>
<li><a href="#Hot_Deployment">Hot deployment</a></li>
<li>WS-Policy driven code generation extensions</li>
<li>Flexible service life cycle model</li>
<li>Automatic support for POX (REST) style invocation of
services</li>
<li>Support for querying a service's WSDL (using ?wsdl), schema
(using ?xsd) and policies (using ?policy)</li>
<li>WSDL 2.0</li>
<li>Custom Deployers</li>
<li>Binary serialization (Fast Infoset)</li>
<li>JSON support</li>
<li>EJB Provider support</li>
</ul>
<h3>Supported Specifications</h3>
<ul>
<li>SOAP 1.1 and 1.2</li>
<li>Message Transmission Optimization Mechanism (MTOM), XML
Optimized Packaging (XOP) and SOAP with Attachments</li>
<li>WSDL 1.1, including both SOAP and HTTP bindings</li>
<li>WS-Addressing (submission and final)</li>
<li>WS-Policy</li>
<li>SAAJ 1.1</li>
</ul>
<h3>Transports</h3>
<ul>
<li>HTTP</li>
<li>SMTP</li>
<li>JMS</li>
<li>TCP</li>
</ul>
<h3>Supported Data Bindings</h3>
<ul>
<li>Axis Data Binding (ADB)</li>
<li>XMLBeans</li>
<li>JibX</li>
<li>JaxBRI (Experimental)</li>
</ul>
<h2><a name="Tools_included_in this_Release">Tools Included in This
Release</a></h2>
<p>[<a href="http://ws.apache.org/axis2/tools/index.html" target=
"_blank">Download Tool Plug-ins</a>]</p>
<ol type="1">
<li>Axis2 Web Application (Web App)</li>
<li>WSDL2WS- <a href="tools/1_2/eclipse/wsdl2java-plugin.html"
target="_blank">eclipse plug-in</a><a>/</a> <a href=
"tools/1_2/CodegenToolReference.html" target="_blank">Command line
version</a><a>/</a><a href=
"tools/1_2/idea/Idea_plug-in_userguide.html#WSDL2Java_Code_Generation"
target="_blank">IntelliJ IDEA plug-in</a><a>/</a><a href=
"tools/1_2/maven-plugins/maven-wsdl2code-plugin.html" target=
"_blank">Maven2 WSDL2Code Plug-in</a></li>
<li>Service Archive Wizard- <a href=
"tools/1_2/eclipse/servicearchiver-plugin.html" target=
"_blank">eclipse plug-in</a>/ <a href=
"tools/1_2/idea/Idea_plug-in_userguide.html#Create_Service_Archive"
target="_blank">IntelliJ IDEA plug-in</a>/ <a href=
"tools/1_2/maven-plugins/maven-aar-plugin.html" target=
"_blank">Maven2 AAR Plug-in</a></li>
<li>Java2WSDL- <a href=
"tools/1_2/maven-plugins/maven-java2wsdl-plugin.html" target=
"_blank">Maven2 Java2WSDL Plug-in</a></li>
</ol>
<h2>Extension Modules</h2>
<ul>
<li>Apache Rampart: Supporting WS-Security (and soon
WS-Policy)</li>
<li>Apache Sandesha2: Supporting WS-Reliable Messaging</li>
</ul>
(Apache Axis2 comes built in with a module that supports
WS-Addressing.)
<h2>Known Issues and Limitations</h2>
<h2>Archived News</h2>
<p>For information on previous Axis2 releases running up to the
current release see the <a href="archived_news.html" target=
"_blank">'Axis2 Archived News'</a> page.</p>
For other news items from Apache Software Foundation see:
<ul>
<li><a href=
"http://www.apachenews.org/archives/cat_apache_webservices_index.html">
Web services related news on the Apache News Blog Online</a></li>
<li><a href="http://www.apachenews.org/">The Apache News Blog
Online</a></li>
</ul>
</body>
</html>