| <!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%"> <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"> |
| <a href="../java/reading.html">Reading Guide</a> |
| </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"> |
| |
| |
| |
| <div class="h3"> |
| <h3>WebServices - Axis - SOAPVerse</h3> |
| </div> |
| |
| |
| <p> |
| Hi folks! |
| </p> |
| |
| <p> |
| This is a quick writeup of an idea that a bunch of folks had last week while |
| discussing interoperability demos and tests. It's a pretty simple system |
| which we thought was a) fun, b) technically interesting, and c) quite a |
| compelling demo. I'd like to know what people think of the idea - is this |
| too ambitious, is it something you'd be psyched to help design/implement, |
| is it cool? |
| </p> |
| |
| <p> |
| The SOAPVerse : A long-term SOAP interoperability demo<br> |
| ------------------------------------------------------<br> |
| |
| </p> |
| |
| <p> |
| [1.0 Introduction - the view from outside] |
| </p> |
| |
| <p> |
| I'll start explaining the idea by giving a brief scenario. You connect a |
| browser to SOAPVerse.org, which gives you three choices - 1) enter the |
| SOAPVerse, 2) look at the map, and 3) learn about joining. You choose #1, |
| and are offered a list of available clients and "entry portals" (i.e. |
| clients (no, not "IE clients", necessarily...)) on the web. You choose a |
| local entry portal, and a Java applet appears, primarily composed of a text |
| window: |
| </p> |
| |
| <p> |
| --------------<br> |
| SOAP Tower<br> |
| |
| </p> |
| |
| <p> |
| You stand in the SOAP tower. The floor's a bit slippery here, but you |
| suspect you could make it to the exits to the NORTH or EAST if you walked |
| slowly. |
| </p> |
| |
| <p> |
| There is a briefcase sitting here. |
| </p> |
| |
| <p> |
| (this room lives at foo.ibm.com, and is powered by Tomcat/Apache-SOAP 2.1!) |
| --------------<br> |
| |
| </p> |
| |
| <p> |
| It's a text adventure, much like Zork or Colossal Cave, but a lot simpler. |
| The interesting part happens when you move to the East: |
| </p> |
| |
| <p> |
| --------------<br> |
| [a strange feeling overcomes you for a moment as you pass through the door] |
| </p> |
| |
| <p> |
| Campus West |
| </p> |
| |
| <p> |
| You stand on the Microsoft campus, near building 33. You may ENTER, or |
| travel WEST or SOUTH down the main road. |
| </p> |
| |
| <p> |
| Others in this room : KeithB |
| </p> |
| |
| <p> |
| There is a rubber ducky sitting here. |
| </p> |
| |
| <p> |
| (this room lives at bar.microsoft.com, and is powered by IIS/ASP.NET!)<br> |
| ---------------<br> |
| |
| </p> |
| |
| <p> |
| What just happened is that you smoothly and transparently moved from one |
| SOAP-based server to another. The servers had to interoperate to "pass you |
| off", and anyone who wants to go check out the website can see the deeper |
| technical explanation of what's going on. |
| </p> |
| |
| <p> |
| If you'd selected the "map" option, you'd see a cool graphical depiction of |
| the whole graph of rooms currently connected to the SOAPVerse, color-coded |
| by host/server technology. |
| </p> |
| |
| <p> |
| [2.0 Digging a little deeper] |
| </p> |
| |
| <p> |
| That's the basic idea - a totally distributed text adventure game that |
| demonstrates SOAP interoperability at a number of levels. The actual APIs |
| are pretty simple, and should be implementable in few days at the most. |
| </p> |
| |
| <p> |
| So if you go to the "join us" section of the site, you end up with several |
| things. First, a description of the structure of the application, in |
| enough |
| detail that you could implement it on your own site. This can (and should) |
| be in as many forms as possible - english text, WSDL, SDL, IDL, etc.... |
| So you build the server to the spec, in any language/environment/platform |
| you happen to have handy. |
| </p> |
| |
| <p> |
| Next, you find a form which allows you to test your server once you've got |
| it up. This causes the SOAPVerse server to run a series of tests against |
| your endpoint, to see if you can interoperate with it. Assuming that |
| works, |
| you can click "hook me up!" and the SOAPVerse server randomly picks a place |
| on the graph to add your area, and matchmakes a connection between your |
| server and whoever you're connecting to. The tests should get run again |
| between you and this new guy, to make sure you two interoperate (you don't |
| want to just prove interoperation between the "main" server and your impl), |
| and then if everything looks good, you're now a part of the world, and your |
| rooms appear on the master map. |
| </p> |
| |
| <p> |
| There's some more detail about which kinds of things we're testing with a |
| system like this (data serialization, headers, intermediaries?), actual |
| APIs, |
| etc. but I'll convey my thoughts about that in a design discussion if |
| there's |
| enough community interest in this project. |
| </p> |
| |
| <p> |
| [3.0 Musings] |
| </p> |
| |
| <p> |
| This kind of thing serves at least two purposes. First, it can stay up in |
| perpetuity, demonstrating SOAP interoperability in a fun way. This should |
| be something you can always find, and hook new servers into. Second, it's |
| a |
| good demo for tradeshow-type events. |
| </p> |
| |
| <p> |
| Obviously there's a lot of opportunity for errors to happen here, so the |
| system shouldn't assume too much about robustness, and should gracefully |
| fail in the face of problems. It's meant as an interoperability demo, |
| not a full-scale game. |
| </p> |
| |
| <p> |
| None of this is at all carved in stone, we just liked the basic idea. It |
| shouldn't get too complicated, and it shouldn't rely on any particular |
| implementation. |
| </p> |
| |
| <p> |
| If this could get done by late next month, this could be the actual |
| technolgy |
| for the "interopathon" demo which has been discussed for NetWorld/Interop |
| in May. |
| </p> |
| |
| <p> |
| What do you think? |
| </p> |
| |
| <p> |
| --Glen |
| </p> |
| |
| |
| |
| <div id="pdf" align="right"> |
| <a href="SOAPVerse.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 © 2000-2005 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> |