Apache Axis

Apache Axis (Apache eXtensible Interaction System) is a SOAP engine for the construction of Web services and client applications based on it. There are implementations in C and Java.

Apache Axis is a newly developed successor of Apache SOAP, which was based on the IBM Framework IBM SOAP. This new development was to achieve greater speed, flexibility, component orientation, abstraction of the transport frameworks and support for WSDL.

The higher speed achieved by using the AXIS SAX parser, while Apache SOAP in contrast, built on a slower DOM parser. Axis2 uses as any other current web frameworks StAX, which will provide an additional speed advantage over SAX with it.

Area of ​​application

Axis is often (eg Apache Tomcat) operated as a Java servlet within a servlet container that offers web services for Java classes. With the tools and Java2WSDL WSDL2JAVA the developer is supported to automatically generate a robust interface in Java, without having to deal directly with the functioning of SOAP.

For simple applications, offers Axis that Java applications directly as a JWS (Java Web services) can be provided. This Axis will automatically generate a usable Web service, including WSDL description that can be read over the network to develop an appropriate client for this.

Supported Standards

Axis supports the standards SOAP 1.1, 1.2, MTOM (only Axis2 ) and WSDL 1.1 of the W3C. It is 1.1 (SOAP with Attachments API for Java ) from Sun Microsystems also supports SAAJ.

In addition, it supports the W3C specifications WS -ReliableMessaging, WS- Security, WS - Atomic Transaction, WS -Addressing, WS-Policy and WS- Metadata Exchange.

Deployment

Web services can be integrated via the admin servlet on Axis WSDD files ( XML documents ). Frequently, therefore, there is this deploy.wsdd, undeploy.wsdd and / or server-config.wsdd files.

Example ( Tomcat, JBoss) a server-config.wsdd that installs a web service "Hello" with matching WSDL with Apache Axis:

< - Use this file to deploy some handlers / chains and services - > <- Two ways to do this: -> < - Java org.apache.axis.client.AdminClient deploy.wsdd -> < - After the axis server is running -> < - Or - > < - Java org.apache.axis.utils.Admin client | server deploy.wsdd -> < - From the same directory did the Axis engine runs - > < deployment xmlns = " http://xml.apache.org/axis/wsdd/ "              xmlns: java = " http://xml.apache.org/axis/wsdd/providers/java " >    <-! Services from HelloService WSDL service - >                                            < operational xmlns: operNS = " http://xkurs.de "          xmlns: retNS = " http://xkurs.de "          xmlns: RTNS = " http://www.w3.org/2001/XMLSchema "          name = " sayHello "          qname = " operNS: sayHello "          returnQName = " retNS: sayHelloReturn "          return type = " RTNS: string " soapAction = "" >        < parameter xmlns: pns = " http://xkurs.de "            xmlns: tns = " http://www.w3.org/2001/XMLSchema "            qname = " pns: s " type = " tns: string " />      < / operation >         < / service> development environment

For the development of AXIS web services and clients Eclipse can be used with Lomboz plugin. Netbeans also contains from version 6.1, the ability to generate Axis2 web services and clients.

Apache Axis2

Since February 2005, stands with Apache Axis2, the next generation of Apache Axis available. It is a completely new development which respect surpasses the classic Axis speed, flexibility and ease of use. There are implementations available in C and Java.

AXIOM

Axis2 uses its own object model called AXIOM (Axis Object Model). It is based on the Streaming API for XML and is therefore much more memory-efficient than about DOM, as child elements are processed only when necessary.

Data binding

By databinding it is possible to use XML content in a programming language as objects. Axis2 provides noted in the Axis2 Databinding Framework ( ADB). It will also support other techniques such as XMLBeans, JAXB and JiBX.

Deployment

Axis2 differs from Axis 1.x further by a simpler deployment. The mechanism is similar to the archive -based J2EE deployment. The class files and descriptors of the service are summarized in a JAR archive and in a specific folder - the repository - filed. The service archive has to have a certain structure and have the extension. Aar.

To achieve high availability, Axis2 provides two important functions:

72218
de