﻿<?xml version="1.0" encoding="UTF-8"?>
<!--
  ~ Licensed to the Apache Software Foundation (ASF) under one
  ~ or more contributor license agreements. See the NOTICE file
  ~ distributed with this work for additional information
  ~ regarding copyright ownership. The ASF licenses this file
  ~ to you under the Apache License, Version 2.0 (the
  ~ "License"); you may not use this file except in compliance
  ~ with the License. You may obtain a copy of the License at
  ~
  ~ http://www.apache.org/licenses/LICENSE-2.0
  ~
  ~ Unless required by applicable law or agreed to in writing,
  ~ software distributed under the License is distributed on an
  ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  ~ KIND, either express or implied. See the License for the
  ~ specific language governing permissions and limitations
  ~ under the License.
  -->
<document xmlns="http://maven.apache.org/XDOC/2.0"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
  <properties>
    <title>Reading Guide</title>
  </properties>
  <body>

<section name="Recommended Reading">

<p>Here are things you can read to understand and use Axis better. Remember, you also have access to all the source if you really want to find out how things work (or why they don't).</p>

<subsection name="Table of Contents">

<macro name="toc"/>

</subsection>

<subsection name="Axis installation, use and internals">

<ol>

<li><a href="http://www.tusc.com.au/tutorial/html/">Tutorial for building J2EE Applications using JBOSS and ECLIPSE</a><br/>
A good tutorial on open source Enterprise Java Dev, whose chapter nine covers Axis.</li>
  
<li><a href="http://www.pankaj-k.net/axis4tag/">Web Services with JAX-RPC and Apache Axis.</a><br/>
by Pankaj Kumar. Starting with a 10000 ft. view of Web Services, prior technologies, current and emerging standards, it quickly gets into the nitty-gritties of using JAX-RPC and Apache Axis for writing and executing programs. Has a nice coverage of different invocation styles - generated stubs,
dynamic proxy and dynamic invocation interface. A good place to start if you are new to Web Services and Axis.<br/><br/>
The author also maintains a <a href="http://www.pankaj-k.net/webservices/index.html">Web Services Resource Page</a>.</li>

<li><a href="http://www.sosnoski.com/presents/java-xml/axis/">Apache Axis SOAP for Java</a><br/>
Dennis Sosnoski covers Axis. This is another good introductory guide.</li>

<li><a href="http://www.sosnoski.com/presents/java-xml/axis/axis-monitor.html">Enabling SOAPMonitor in Axis 1.0</a>.<br/>
Dennis Sosnoski on how to turn the SOAP monitor on and off, and use it to log your application.</li>

<li><a href="http://macromedia.com/support/jrun/extend/using_web_services/">Axis in JRun</a><br/>
Macromedia authored coverage of using Axis from inside JRun.</li>

<li><a href="http://www-106.ibm.com/developerworks/webservices/library/ws-eight/">Ask the magic eight ball</a><br/>
Example of using an Axis service with various caller platforms/languages.</li>

<li><a href="http://www.fawcette.com/javapro/2003_02/online/WSDL_kjones_02_27_03/">Configure Axis Web Services</a><br/>
Kevin Jones talks a bit about configuring axis, showing how to return handwritten WSDL from the ?wsdl query.</li>

<li><a href="http://www.fawcette.com/javapro/2003_03/online/wsdl_kjones_03_10_03/">Different WSDL Styles in Axis</a><br/>
Kevin Jones looks at the document and wrapped styles of WSDL2Java bindings.</li>

<li>
    <a name="ws-sec" href="http://www.j2ee-security.net/book/sample-chap/">Web Services Security with Axis</a><br/>
    This sample chapter from <a href="http://www.j2ee-security.net/"><i>J2EE Security for Servlets,
    EJBs and Web Services</i></a> book explains use of username/password based authentication,
    SSL and Servlet security mechanisms for securing the transport and
    WS-Security for securing the messages with Apache Axis. To illustrate use of handlers for
    enforcing security, it describes the implementation of a bare-bones WS-Security mechanism
    using <a href="http://www.xmltrustcenter.org/developer/verisign/tsik/index.htm">
    VeriSign's TSIK</a> and JAX-RPC handlers. You can also
    <a href="http://www.j2ee-security.net/book/viewsource.php">view</a> or
    <a href="http://www.j2ee-security.net/book/dnldsrc/">download</a> the complete sources
    discussed in the chapter.
</li>

</ol>

</subsection>

<subsection name="Specifications">

<ol>

<li><a href="http://www.w3.org/TR/soap/">SOAP Version 1.1</a><br/>
Remember that SOAP1.1 is not an official W3C standard.</li>

<li><a href="http://www.w3.org/TR/soap12-part0/">SOAP Version 1.2 Part 0: Primer</a><br/>
This and the follow-on sections cover what the W3C think SOAP is and how it should be used.</li>

<li><a href="http://www.w3.org/TR/wsdl">Web Services Description Language (WSDL) 1.1</a><br/></li>

<li><a href="http://ietf.org/rfc/rfc2616.txt">RFC 2616: Hypertext Transfer Protocol -- HTTP/1.1</a><br/>
This is HTTP. You really do need to understand the basics of how this works, to work out why your web service doesn't :)</li>

<li><a href="http://java.sun.com/xml/saaj/index.html">SOAP with Attachments API for Java (SAAJ)</a><br/>
SAAJ enables developers to produce and consume messages conforming to the SOAP 1.1 specification and SOAP with Attachments note.</li>

<li><a href="http://java.sun.com/xml/jaxrpc/index.html">Java API for XML-Based RPC (JAX-RPC)</a><br/>
The public API for Web Services in Java. JAX-RPC enables Java technology developers to develop SOAP based interoperable and portable web services. JAX-RPC provides the core API for developing and deploying web services on the Java platform.</li>

<li><a href="http://www.w3.org/TR/xmlschema-0/">XML Schema Part 0: Primer</a><br/>
The W3C XML Schema, (WXS) is one of the two sets of datatype SOAP supports, the other being the SOAP Section 5 datatypes that predate WXS. Complicated as it is, it is useful to have a vague understanding of this specification.</li>

<li><a href="http://java.sun.com/xml/jaxm/index.html">Java API for XML Messaging (JAXM)</a><br/>
JAXM enables applications to send and receive document oriented XML messages using a pure Java API. JAXM implements Simple Object Access Protocol (SOAP) 1.1 with Attachments messaging so that developers can focus on building, sending, receiving, and decomposing messages for their applications instead of programming low level XML communications routines.</li>

</ol>

</subsection>

<subsection name="Explanations, articles and presentations">

<ol>

<li><a href="http://www.intertwingly.net/stories/2002/03/16/aGentleIntroductionToSoap.html">A Gentle Introduction to SOAP</a><br/>
Sam Ruby tries not to scare people.</li>

<li><a href="http://www.intertwingly.net/stories/2002/02/15/aBusyDevelopersGuideToWsdl11.html">A Busy Developer's Guide to WSDL 1.1</a><br/>
Quick intro to WSDL by the eponymous Sam Ruby.</li>

<li><a href="http://www.ociweb.com/javasig/knowledgebase/2002Sep/">Axis - an open source web service toolkit for Java</a><br/>
by Mark Volkmann, Partner, Object Computing, Inc. A very good introduction to SOAP and Axis. Highly Recommended.</li>

<li><a href="http://www.iseran.com/Steve/papers/when_web_services_go_bad.html">When Web Services Go Bad</a><br/>
Steve Loughran tries to scare people. A painful demonstration how deployment and system management are trouble spots in a production service, followed by an espousal of a deployment-centric development process. Remember, it doesn't have to be that bad.</li>

<li><a href="http://servlet.java.sun.com/javaone/sf2002/conf/sessions/index.en.jsp">JavaOne 2002, Web Services Today and Tomorrow</a><br/>
(Java Developer connection login required)</li>

<li><a href="http://java.sun.com/webservices/docs/1.0/tutorial/doc/JAXRPC.html">The Java Web Services Tutorial: Java API for XML-based RPC</a><br/>
This is part of Sun's guide to their Java Web Services Developer Pack. The examples are all based on their JWSDP, but as Axis also implements JAX-RPC, they may all port to Axis.</li>

<li><a href="http://java.sun.com/blueprints/webservices/using/webservbp.html">Using Web Services Effectively.</a><br/>
Blissfully ignoring issues such as versioning, robustness and security and all the other details a production Web Service needs, instead pushing EJB as the only way to process requests, this is Sun's guide to using web services in Java. It also assumes Java is at both ends, so manages to skirt round the interop problem.</li>

<li><a href="http://www.hpl.hp.com/techreports/2002/HPL-2002-274.html">Making Web Services that Work</a><br/>
A practical but suspiciously code free paper on how to get web services into production. As well as coverage of topics such as interop, versioning, security, this (57 page) paper looks at the deployment problem, advocating a fully automated deployment process in which configuration problems are treated as defects for which automated test cases and regresssion testing are appropriate. Happyaxis.jsp is the canonical example of this. The author, Steve Loughran also looks a bit at what the component model of a federated web service world would really be like.</li>

</ol>

</subsection>

<subsection name="Interoperability">

<ol>

<li><a href="http://www.intertwingly.net/stories/2002/02/01/toInfinityAndBeyondTheQuestForSoapInteroperability.html">To infinity and beyond - the quest for SOAP interoperability</a><br/>
Sam Ruby explains why Interop matters so much.</li>

<li><a href="http://www.iseran.com/Steve/papers/interop/">The Wondrous Curse of Interoperability</a><br/>
Steve Loughran on interop challenges (especially between .NET and Axis), and how to test for them.</li>

</ol>

</subsection>

<subsection name="Advanced topics">

<ol>

<li><a href="http://www.extreme.indiana.edu/xgws/papers/sc00_paper/index.html">Requirements for and Evaluation of RMI Protocols for Scientific
Computing</a></li>

<li><a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">Architectural Styles and the Design of Network-based Software Architectures</a><br/>
The theoretical basis of the REST architecture</li>

<li><a href="http://www.extreme.indiana.edu/xgws/papers/soap-hpdc2002/soap-hpdc2002.pdf">Investigating the Limits of SOAP Performance for Scientific
Computing</a></li>

<li><a href="http://www.w3.org/TR/webarch/">Architectural Principles of the World Wide Web</a><br/>
The W3C architects say how things should be done.</li>

</ol>

</subsection>

<subsection name="Books">

<ol>

<li><i><a href="http://www.wrox.com/books/1861007531.htm">Beginning Java Web Services</a></i><br/>
Meeraj Kunnumpurath et al, Wrox Press, September 2002.<br/>
An introductory book, with the early chapters focusing on Axis.<br/>
The <a href="http://www.wrox.com/books/sample-chapters/SampleChapter_1861007531.pdf">sample chapter</a> shows how to install Axis with Tomcat 4.0:
we do not believe that their approach is the best. It is easier to drop jaxrpc.jar and saaj.jar into the CATALINA_HOME/common/lib dir than it is to add all axis jars to the classpath by hand. The book is based on Axis Beta-3.</li>

<li><a href="http://www.manning.com/hatcher"><i>Java development with Ant</i></a><br/>
by Erik Hatcher and Steve Loughran, Manning Press, July 2002.<br/>
A book on Ant development which covers Web Service development with Axis, along with other topics relevant to Java developers using Ant. The Web Service chapter, <a href="http://www.manning-source.com/books/hatcher/hatcher_ch15.pdf">chapter 15</a>, is free to download, and was the birthplace of happyaxis.jar.<br/>
The book is based on Axis Beta-2; the web site contains updated documentation where appropriate.</li>

<li><i><a href="http://www.wrox.com/books/toc/1861007159_toc.htm">AXIS: Next Generation Java SOAP</a></i><br/>
by Romin Irani and S Jeelani Bashna, Wrox Press, May 2002.<br/>
The first nothing-but-Axis book.<br/>
It is based on Beta-1. This is a reasonable book, despite is apparent thinness and relative age. If it has a major weakness it believes everything works as intended, which regular Axis users will know is not quite true yet. Maybe they didn't want to fault missing features and other gotchas, assuming they would be fixed by the time the product shipped, but the effective result is that you can get into minor trouble working from this book, trying to use bits that aren't there, or just don't work (yet).</li>

<li><i><a href="http://samspublishing.com/title/0672326418">Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI</a></i><br/>
Steve Graham et al, December 2001.<br/>
Covering very early versions of Axis along with other aspects of Web Service technologies. One of the authors, Glen Daniels, is an Axis committer and active contributor, so the quality of the Axis coverage is high. Good explanations of SOAP, UDDI, and the like.</li>

<li>
    <a href="http://www.j2ee-security.net">
    <i>J2EE Security for Servlets, EJBs and Web Services</i></a><br/>
    Pankaj Kumar, Prentice Hall, September 2003.<br/>
    A book on using Java security APIs, tools and mechanisms for building secure
    enterprise applications. The chapter on <a href="#ws-sec">Web Services Security</a>
    uses Axis-1.1RC1
    for illustrations. Besides Web Services, it covers security aspects of Java RMI,
    Servlet and JSP based Web Applications and EJBs.
</li>

</ol>

<p>Authors, publishers: we welcome additions to this section of any books which have some explicit coverage of Axis. Free paper/pdf copies and other forms of bribery accepted.</p>

</subsection>

<subsection name="External Sites covering Web Services">

<ol>

<li><a href="http://www-106.ibm.com/developerworks/webservices/">IBM developerWorks Web Services corner</a><br/>
There are lots of interesting articles on Web Services here, many of which are Axis related. There is also a <a href="http://www-106.ibm.com/developerworks/webservices/library/ws-spec.html">listing of</a> "all current open standards and specifications that define the Web services family of protocols", though Soap with Attachments is mysteriously absent.</li>

<li>
    <a href="http://msdn.microsoft.com/webservices/">MSDN Web
    Services</a><br/>
    These are the microsoft pages; little Axis coverage but plenty on 
    Web Service specifications.
</li>

<li><a href="http://webservices.xml.com/">WebServices.xml.com</a>
The O'Reilly site is always up to date, interesting and useful. It
doesn't advocate a single technology (REST, SOAP, RDF...), or a single
product. As such, it retains its independence and value.</li>

</ol>

</subsection>

</section>

  </body>
</document>
