blob: 35b596964776a81c2049c363d63ab4eb2c7193f0 [file] [log] [blame]
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Axis: further reading</title>
<link href="axis.css" rel=stylesheet type=text/css>
</head>
<body>
<center>
<h1>
<img SRC="images/axis.jpg" height=96 width=176></h1></center>
<h1>Recommended Reading</h1>
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).
<a name="axis">
<h2>Axis installation, use and internals</h2>
</a>
<ol>
<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><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><a href="http://macromedia.com/support/jrun/extend/using_web_services/">
Axis in JRrun</a><br>
Macromedia authored coverage of using Axis from inside JRun.
<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>
<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>
<a name="specifications">
<h2>Specifications</h2>
</a>
<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="presentations">
<h2>Explanations, articles and presentations</h2>
</a>
<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>
<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="interop">
<h2>Interoperability</h2>
</a>
<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="advanced">
<h2>Advanced topics</h2>
</a>
<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">
<h2>Books</h2>
</a>
<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>
<a href="http://manning.com/antbook">
<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.com/hatcher/chap15.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>
<A href="http://www.wrox.com/books/toc/1861007159_toc.htm">
<i>AXIS: Next Generation Java SOAP</i><br>
</A>
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>
<A
href="http://sams.com/catalog/product.asp?product_id={ABC81EE6-0D9F-4BD7-99DB-84F9C983ACF7}">
<i>
Building Web Services with Java: Making Sense of XML, SOAP, WSDL and UDDI</i>
</A><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>
<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>
<!-- insert new books here -->
</ol>
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.
<a name="external">
<h2>External Sites covering Web Services</h2>
<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.
</ol>