Chapter 9: Axis


Overview

You’ve probably heard the term Web services being tossed around. In this chapter we’ll talk about Apache Axis, which is the Apache project that’s implementing some of the base Web services specifications. Let’s begin by explaining what Web services are. The idea behind Web services is to create modular applications that communicate with each other using Internet standards such as XML and HTTP. The Web services area is growing a lot of specifications that cover everything from workflow to security. But at their simplest, Web services are about breaking applications into pieces. Each self-contained piece is called a service. Examples of services include charging a purchase to a credit card, performing an address check, computing a loan balance, processing a loan application, and so on. By using Internet standards to tie these services together, the hope is that we can build reusable applications that can interoperate across operating system and programming language boundaries. It’s a tall order, but we already have the lowest level infrastructure that lets you describe a service, publish that description, and invoke functionality on the service based on that description. That’s the functionality in Apache Axis.

We need to discuss two important XML-based technologies—WSDL and SOAP—in order for you to use Axis to describe and invoke services. The Web Services Description Language (WSDL) lets you describe a Web service using an XML document. If you’re familiar with CORBA’s IDL (Interface Description Language) or Microsoft’s IDL or MIDL, then the idea of WSDL will be familiar to you. As you’ll see, the concepts have been recast using services terminology, and XML is used as the syntax for the service description. SOAP is the other technology we’ll look at; it provides the mechanism for invoking service functionality using XML.

The Web services area is generating a lot of excitement, some of it deserved and some of it undeserved (at least at the moment). There’s so much activity that in early 2003, the Apache Software Foundation decided to create a new top-level project dedicated to Web services. A few projects in the XML project already were Web-services related, and the people working in those projects wanted a closer sense of community with each other and a more focused Web site and governance.

One of the projects that moved from the XML project to the Web Services project was Axis. Unfortunately, the situation is a little confusing. There are multiple SOAP projects at the ASF, for historical reasons. The original SOAP project was called Apache SOAP and was based on a code base donated to Apache by IBM. Apache SOAP targeted SOAP 1.1, but it had issues with efficiency and its internal architecture, and it was quickly decided that a major overhaul was needed. At the same time, a number of people were already using Apache SOAP in production. Apache Axis is best understood as Apache SOAP 2.0. (Conceptually, that’s what it is.) Most of the Apache SOAP committers went on to work on Axis and only worked on Apache SOAP as a maintenance project. Today Apache Axis has so many benefits over Apache SOAP (better SOAP 1.1 compliance, better interoperability with other SOAP stacks, WSDL support, support for the JAX-RPC API) that there’s no reason to use Apache SOAP if you’re starting a new project. Axis is where it’s at, for now and the foreseeable future.




Professional XML Development with Apache Tools. Xerces, Xalan, FOP, Cocoon, Axis, Xindice
Professional XML Development with Apache Tools: Xerces, Xalan, FOP, Cocoon, Axis, Xindice (Wrox Professional Guides)
ISBN: 0764543555
EAN: 2147483647
Year: 2003
Pages: 95

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net