| <!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> |