Axis2 User's Guide

Version 0.95

User Feedback: axis-user@ws.apache.org

Pages: Content, 1, 2, 3, 4, 5

Introduction

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.

Attention

  • 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 $maven dist-std-bin). Please refer the installation guide for further information on the downloadables available in this release.

  • If you are new to Axis, it's highly recommended that you read Axis 1.x User's Guide before you go any further in this guide.

What is Axis2?

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.

After months of continued discussion and coding in this direction, Axis2 now delivers the following key features:

  • 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, high performance and developer convenient

  • Hot Deployment - Axis2 is equipped with the capability of deploying web service & 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.

  • Asynchronous Web Services - Axis2 now supports asynchronous web services & 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, or 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, 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 supports composability and is able to add support for 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 some new features or fixes, please get involved and lend us a hand! The Axis developer community welcomes your participation.

Let us know what you think!

Please send your feedback on Axis2 to "axis-user@ws.apache.org" and make sure to prefix the subject of the mail with [Axis2].

Axis2 Complete Features List

  1. 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.
  2. Support for One-Way Messaging (In-Only) and Request Response Messaging (In-Out)
  3. Module Architecture, mechanism to extend the SOAP Processing Model
  4. Module version support , can have multiple versions of the same module and use them depending on the requirement.
  5. Content hierarchy
  6. Archive based deployment Model and Directory based deployment model
  7. JWS like deployment (making Java class into Web service)
  8. WSDL Code Generation Tool for Stub and skeletons
  9. WS-Addressing, both the submission (2004/08) and final (2005/08) versions
  10. WSS4J module for security
  11. Improved and user friendly Client API
  12. WSDL2Java and Java2WSDL
  13. REST (REpresentational State Transfer) Support
  14. Transports supports: HTTP, SMTP, TCP, JMS
  15. Raw XML providers
  16. Support for MTOM/ MIME/ SwA
  17. SAAJ implementation
  18. DOOM
  19. Pack/Unpack capability for the generated code
  20. Axis Data Binding - ADB (Framework and Schema Compiler)
  21. Numerous bug fixes since last release
  22. Transport framework improvements (ListenerManager)- New
  23. AxisServlet auto start when application server get start up- New
  24. Module dis-engagemnt support- New
  25. Loading module (.mar) from classpath- New
  26. Sessions scoping for Application, SOAP, Transport and Request levels-New

Experimental Features List

  1. Server side & client side Web Service Policy support
  2. ?wsdl and ?xsd support
  3. Generating ServiceClient for a given WSDL and invoke the corresponding service using generated client.

Major Changes Since Last Release

  1. Transport framework improvements (ListenerManager)
  2. 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:
  3.    
    <actionMapping>MyMapping</actionMapping>
    
    
  4. Refactored following packages in Axiom.
    • org.apache.ws.commons.om.impl.llom.builder to org.apache.ws.commons.om.impl.builder
    • org.apache.ws.commons.om.impl.llom.mtom to org.apache.ws.commons.om.impl.mtom
    • org.apache.ws.commons.om.impl.llom.serialize to org.apache.ws.commons.om.impl.serialize
    • org.apache.ws.commons.om.impl.llom.traverse to org.apache.ws.commons.om.impl.traverse

Tools Included In This Release

  1. Axis2 Web Application (Web App)
  2. WSDL2WS- Command line version

Download above plugins

What's Still To Do?

See list of what we think needs to be done, and consider helping out if you're interested & able!

  1. JAX-RPC 1.1 and/or JAX-WS compliance
  2. SOAP Encoding
  3. Binary serialization and de-serialization support
  4. Management Interface for Axis2
  5. Implementation of other Transports.
  6. Resource framework implementation (WS-RF) and Enterprise web services such as JSR 109 support
  7. Completion of Interop tests

Previous | Next

Pages: Content, 1, 2, 3, 4, 5