Why and What Is Axis?
Axis is the latest version of the Apache SOAP project. The acronym Axis means Apache Extensible Interaction System, a fancy way of saying it's a SOAP processor that allows for an assortment of pluggable components to be configured in a variety of ways. We chose this SOAP processor for a few reasons. First, most of the authors of this book are (or have been) involved in the development of Axis from its inception. Second, we believe that Axis's flexibility and overall design will allow it to become one of the leading SOAP processors very quickly. And third, because it is an Apache open source project, we believe it will gain the benefits of having contributors from a wide range of backgrounds and companies, giving it a technological edge over other SOAP implementations. But, only time will tell.
Apache SOAP v2 (http://xml.apache.org/soap), the predecessor to Axis, is a fairly good implementation of the SOAP specification, but it has its limitations. Although it can be used for deploying Web services, the performance and pluggability of SOAP v2 leave a lot to be desired. At the time of this writing, Axis is already quite a bit faster than SOAP v2; and although SOAP v2 provides some level of pluggability for components like different kinds of Web services or for different transports , these features were added as an afterthought—the design deficiencies of these features shows through in their usability (or lack thereof). SOAP v2 also isn't fully compliant with the SOAP 1.1 specification.
It is important to note that at the time of this writing Axis has not yet released its first version. It has, however, released an alpha version. This alpha version is not complete (or fully SOAP 1.1 spec compliant), but it is functional enough for people to start kicking the tires and getting a feel for whether the architecture is good. By the time the first release does come out (before the end of 2001, we hope) it will be fully spec compliant. As with any project, customer feedback is an important step in the development process, so releasing an alpha version is a key milestone in Axis' development cycle. This chapter will focus mainly on the current functionality of Axis—when appropriate, however, it will give insight into the possible future features of Axis (the design could change).