blob: da534fcabb5653bcb16f92d6b1b4e71df4bc549d [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../skin/tigris.css" type="text/css">
<link rel="stylesheet" href="../skin/mysite.css" type="text/css">
<link rel="stylesheet" href="../skin/site.css" type="text/css">
<link media="print" rel="stylesheet" href="../skin/print.css" type="text/css">
<title>WebServices - Axis</title>
</head>
<body bgcolor="white" class="composite">
<div id="banner">
<table width="100%" cellpadding="0" cellspacing="0" summary="banner" border="0">
<tbody>
<tr>
<td align="left">
<div class="groupLogo">
<a href="http://ws.apache.org/"><img border="0" class="logoImage" alt="The Apache WebServices Project" src="../images/project-logo.png"></a>
</div>
</td><td nowrap="1" width="100%" align="left">
<div class="projectTitleImg">
<br>
<a href=""><img border="0" class="logoImage" alt="Web Services - Axis" src="../images/wsaxis.png"></a>
</div>
</td><td align="right">
<div class="projectLogo">
<a href="http://ws.apache.org/axis/"><img border="0" class="logoImage" alt="The Apache Axis Project" src="../images/axis3.jpg"></a>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
<tbody>
<tr class="status">
<td width="100%">&nbsp;&nbsp;&nbsp;&nbsp;<a href="http://www.apache.org/">Apache</a> | <a href="http://ws.apache.org/">Web Services</a> | <a href="http://ws.apache.org/axis/">Axis</a></td><td nowrap="1" align="right">
<form method="get" action="http://www.google.com/search" target="_blank">Search <input type="hidden" name="sitesearch" value="ws.apache.org"><input type="text" id="query" name="q" size="10"><img class="spacer" src="skin/images/spacer.gif" alt="" width="5" height="1"><input type="submit" value="Go" name="Search">
</form>
</td>
</tr>
</tbody>
</table>
<table id="main" width="100%" cellpadding="8" cellspacing="0" summary="" border="0">
<tbody>
<tr valign="top">
<td id="leftcol">
<div id="navcolumn">
<div class="menuBar">
<div class="menu">
<span class="menuLabel">Axis</span>
<div class="menuItem">
<a href="../index.html">Introduction</a>
</div>
<div class="menuItem">
<a href="../news.html">News</a>
</div>
<div class="menuItem">
<a href="http://wiki.apache.org/ws/FrontPage/Axis">FAQ/Wiki</a>
</div>
<div class="menu">
<span class="menuLabel">Get Involved</span>
<div class="menuItem">
<a href="../overview.html">Overview</a>
</div>
<div class="menuItem">
<a href="../cvs.html">SVN Repository</a>
</div>
<div class="menuItem">
<a href="../mail.html">Mailing Lists</a>
</div>
<div class="menuItem">
<a href="../ref.html">Reference Library</a>
</div>
<div class="menuItem">
<a href="../bugs.html">Bugs</a>
</div>
<div class="menuItem">
<a href="../howtobuild.html">HowToBuildSite</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Axis (Java)</span>
<div class="menuItem">
<a href="../java/index.html">Documentation</a>
</div>
<div class="menuItem">
<a href="../java/releases.html">Releases</a>
</div>
<div class="menuItem">
<a href="../java/install.html">Installation</a>
</div>
<div class="menuItem">
<a href="../java/user-guide.html">User's Guide</a>
</div>
<div class="menuItem">
<a href="../java/developers-guide.html">Developer's Guide</a>
</div>
<div class="menuItem">
<a href="../java/integration-guide.html">Integration Guide</a>
</div>
<div class="menuItem">
<a href="../java/architecture-guide.html">Architecture Guide</a>
</div>
<div class="menuItem">
<a href="../java/reference.html">Reference Guide</a>
</div>
<div class="menuItem">
<span class="menuSelected">Reading Guide</span>
</div>
<div class="menuItem">
<a href="../java/requirements.html">Requirements</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Axis C++</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/cpp/index.html">Home</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/cpp/documentation.html">Documentation</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/cpp/download.html">Download</a>
</div>
<div class="menuItem">
<a href="http://wiki.apache.org/ws/FrontPage/AxisCPP">Wiki Pages</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/axis/cpp/who.html">Who we are</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Downloads</span>
<div class="menuItem">
<a href="../interim.html">Interim Drops</a>
</div>
<div class="menuItem">
<a href="http://svn.apache.org/viewcvs.cgi/webservices/axis/trunk/">Source Code</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Translation</span>
<div class="menuItem">
<a href="http://ws.apache.org/axis/ja/index.html">Japanese</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Related Projects</span>
<div class="menuItem">
<a href="http://ws.apache.org/wsif/">WSIF</a>
</div>
<div class="menuItem">
<a href="http://ws.apache.org/juddi/">jUDDI</a>
</div>
<div class="menuItem">
<a href="http://wsdl4j.sourceforge.net">WSDL4J</a>
</div>
<div class="menuItem">
<a href="http://www.uddi4j.org/">UDDI4J</a>
</div>
</div>
<div class="menu">
<span class="menuLabel">Misc</span>
<div class="menuItem">
<a href="../who.html">Who we are</a>
</div>
<div class="menuItem">
<a href="../contact.html">Contact</a>
</div>
<div class="menuItem">
<a href="../legal.html">Legal</a>
</div>
<div class="menuItem">
<a href="../docs.html">Notes/Docs</a>
</div>
</div>
</div>
</div>
</div>
</td><td>
<div id="bodycol">
<div class="app">
<div class="h3">
<a name="RecommendedReading"></a>
<div class="h3">
<h3>Recommended Reading</h3>
</div>
<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>
<a name="TableOfContents"></a>
<div class="h4">
<h4>Table of Contents</h4>
</div>
<ul>
<li>
<a href="#AxisInstallationUseAndInternals">Axis installation, use and internals</a>
</li>
<li>
<a href="#Specifications">Specifications</a>
</li>
<li>
<a href="#ExplanationsArticlesAndPresentations">Explanations, articles and presentations</a>
</li>
<li>
<a href="#Interoperability">Interoperability</a>
</li>
<li>
<a href="#AdvancedTopics">Advanced topics</a>
</li>
<li>
<a href="#Books">Books</a>
</li>
<li>
<a href="#ExternalSitesCoveringWebServices">External Sites covering Web Services</a>
</li>
</ul>
<a name="AxisInstallationUseAndInternals"></a>
<div class="h4">
<h4>Axis installation, use and internals</h4>
</div>
<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>
</ol>
<a name="Specifications"></a>
<div class="h4">
<h4>Specifications</h4>
</div>
<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>
<a name="ExplanationsArticlesAndPresentations"></a>
<div class="h4">
<h4>Explanations, articles and presentations</h4>
</div>
<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>
<a name="Interoperability"></a>
<div class="h4">
<h4>Interoperability</h4>
</div>
<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>
<a name="AdvancedTopics"></a>
<div class="h4">
<h4>Advanced topics</h4>
</div>
<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>
<a name="Books"></a>
<div class="h4">
<h4>Books</h4>
</div>
<ol>
<li>
<i>Beginning Java Web Services</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>
</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>
<a name="ExternalSitesCoveringWebServices"></a>
<div class="h4">
<h4>External Sites covering Web Services</h4>
</div>
<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>
</ol>
<div id="pdf" align="right">
<a href="reading.pdf"><img alt="PDF" src="../skin/images/pdfdoc.gif" class="skin"><br>
PDF</a>
</div>
</div>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<div id="footer">
<table summary="footer" cellspacing="0" cellpadding="4" width="100%" border="0">
<tbody>
<tr>
<td colspan="2">
<div align="center">
<div class="copyright">
Copyright &copy; 2000-2005&nbsp;The Apache Software Foundation. All rights reserved.
</div>
</div>
</td>
</tr>
<tr>
<td align="left"></td><td align="right">
<div align="right">
<div class="credit"></div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>