Apache Axis2
Encyclopedia
Apache Axis2 is a core engine for Web services. It is a complete re-design and re-write of the widely used Apache Axis
SOAP
stack. Implementations of Axis2 are available in Java
and C
.
Axis2 not only provides the capability to add Web services interfaces to Web applications, but can also function as a standalone server application.
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.
Axis2 has support for Spring Framework.
Axis2 comes with many new features, enhancements and industry specification implementations. The key features offered are as follows:
features like security, reliable messaging, etc.
Apache Axis
Apache Axis is an open source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service applications. Using Apache Axis, developers can create interoperable, distributed computing...
SOAP
SOAP
SOAP, originally defined as Simple Object Access Protocol, is a protocol specification for exchanging structured information in the implementation of Web Services in computer networks...
stack. Implementations of Axis2 are available in Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
and C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....
.
Axis2 not only provides the capability to add Web services interfaces to Web applications, but can also function as a standalone server application.
Why Apache Axis2
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
Rest
Rest may refer to:* Leisure* Human relaxation* SleepRest may also refer to:* Rest , a pause in a piece of music* Rest , the relation between two observers* Rest , a 2008 album by Gregor Samsa...
/POX style interface simultaneously.
Axis2 has support for Spring Framework.
Axis2 comes with many new features, enhancements and industry specification implementations. The key features offered are as follows:
Axis2 Features
- Speed - Axis2 uses its own object model and StAX (Streaming API for XML)StAXStreaming API for XML is an application programming interface to read and write XML documents, originating from the Java programming language community.Traditionally, XML APIs are either:...
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, optimized for performance, and simplified for developers.
- 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 WSDLWeb Services Description LanguageThe Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...
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 Services Description LanguageWeb Services Description LanguageThe Web Services Description Language is an XML-based language that is used for describing the functionality offered by a Web service. A WSDL description of a web service provides a machine-readable description of how the service can be called, what parameters it expects and what data structures...
, 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-CoordinationWS-CoordinationWS-Coordination is a Web Services specification developed by BEA Systems, IBM, and Microsoft and accepted by in its . It describes an extensible framework for providing protocols that coordinate the actions of distributed applications...
, 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.
Axis2 Modules
Axis2 modules provides QoSQuality of service
The quality of service refers to several related aspects of telephony and computer networks that allow the transport of traffic with special requirements...
features like security, reliable messaging, etc.
- Apache Rampart moduleApache Rampart moduleApache Rampart is an implementation of the WS-Security standard for the Axis2 Web services engine by the Apache Software Foundation. It supplies security features to web services by implementing the following specifications:* WS-Security* WS-SecurityPolicy...
- Apache Rampart modules adds WS - SecurityWS-SecurityWS-Security is a flexible and feature-rich extension to SOAP to apply security to web services. It is a member of the WS-* family of web service specifications and was published by OASIS....
features to Axis2 engine - Apache Sandesha module - An implementation of WS - Reliable MessagingWS-ReliableMessagingWS-ReliableMessaging describes a protocol that allows SOAP messages to be reliably delivered between distributed applications in the presence of software component, system, or network failures....
specification
Related technologies
- Apache AxisApache AxisApache Axis is an open source, XML based Web service framework. It consists of a Java and a C++ implementation of the SOAP server, and various utilities and APIs for generating and deploying Web service applications. Using Apache Axis, developers can create interoperable, distributed computing...
- Apache CXFApache CXFApache CXF is an open-source, fully featured Web services framework. It originated as the combination of two open-source projects: Celtix developed by IONA Technologies and XFire developed by a team hosted at Codehaus. These two projects were combined by people working together at the Apache...
- other Apache web services framework (old XFireCodehaus XFireis a Java SOAP framework for development and consumption of web services.Unlike earlier similar products, such as Apache Axis 1.x that use in-memory tree models for XML, XFire uses StAX resulting in better performance..Apache Axis2 also uses StAX....
& CeltixCeltixCeltix delivers a Java Enterprise Service Bus runtime and set of APIs that make it easy to add transports, message formats, and security features...
) - Java Web Services Development PackJava Web Services Development PackThe Java Web Services Development Pack is a free software development kit for developing Web Services, Web applications and Java applications with the newest technologies for Java....
- web services framework - XML Interface for Network ServicesXML Interface for Network ServicesXML Interface for Network Services is an open source technology for definition and implementation of internet applications, which enforces a specification-oriented approach.-Specification-oriented approach:...
- RPC/web services framework - Web Services Invocation FrameworkWeb Services Invocation FrameworkThe Web Services Invocation Framework supports a simple Java API for invoking Web services, no matter how or where the services are provided...
- Java API for invoking Web services - AlchemySOAP - C++C++C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...
open source SOAP-based web services framework
External links
- Apache Axis Homepage at the Apache Software Foundation
- Apache Axis2/Java at the Apache Software Foundation
- Apache Axis2/C at the Apache Software Foundation
- Apache Axis2 Module Page
- Web services using Apache Axis2
- How to run an Axis2 client running against a Windows Web Server - Rob Austin
- Axis2, Middleware for Next Generation Web Services. In Proceedings of the IEEE International Conference on Web Services (ICWS '06)
- Axis2 Tutorial