<!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="8" 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.jpg"></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/axis.jpg"></a>
</div>
</td><td valign="top" rowspan="2" align="right" class="search">
<form target="_blank" action="http://www.google.co.jp/search" method="get">
<table summary="search" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bgcolor="#a5b6c6" colspan="3"><img height="10" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="8" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td nowrap="nowrap"><input value="ws.apache.org" name="sitesearch" type="hidden"><input value="ja" name="hl" type="hidden"><input value="UTF-8" name="ie" type="hidden"><input size="10" name="q" id="query" type="text"><img height="1" width="5" alt="" src="../skin/images/spacer.gif" class="spacer"><input name="Search" value="検索" type="submit">
<br>WS を検索
                          
                          
                      </td><td><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td colspan="3"><img height="7" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td>
</tr>
<tr>
<td class="bottom-left-thick"></td><td bgcolor="#a5b6c6"><img height="1" width="1" alt="" src="../skin/images/spacer.gif" class="spacer"></td><td class="bottom-right-thick"></td>
</tr>
</table>
</form>
</td>
</tr>
</tbody>
</table>
</div>
<table width="100%" cellpadding="0" cellspacing="0" border="0" summary="nav" id="breadcrumbs">
<tbody>
<tr class="status">
<td><a href="http://www.apache.org/">Apache</a> | <a href="http://ws.apache.org/">WS</a><a href=""></a></td><td id="tabs">
<div class="tab">
<span class="selectedTab"><a class="base-selected" href="../index.html">WebServices-Axis</a></span>
</div>
</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">はじめに</a>
</div>
 
<div class="menuItem">
<a href="../news.html">お知らせ</a>
</div>

 
<div class="menuItem">
<a href="http://wiki.apache.org/ws/ja/axis">FAQ/Wiki</a>
</div>
 
<div class="menu">
<span class="menuLabel">活動に参加</span>
  
<div class="menuItem">
<a href="../overview.html">概要</a>
</div>
  
<div class="menuItem">
<a href="../cvs.html">CVS リポジトリ</a>
</div>
  
<div class="menuItem">
<a href="../mail.html">メーリングリスト</a>
</div>
  
<div class="menuItem">
<a href="../ref.html">リファレンスライブラリ</a>
</div>
  
<div class="menuItem">
<a href="../bugs.html">バグ</a>
</div>
  
<div class="menuItem">
<a href="../howtobuild.html">サイト構築方法</a>
</div>
 
</div>
 
<div class="menu">
<span class="menuLabel">Axis (Java)</span>
  
<div class="menuItem">
<a href="../java/index.html">ドキュメント</a>
</div>
  
<div class="menuItem">
<a href="../java/install.html">インストール</a>
</div>
  
<div class="menuItem">
<a href="../java/user-guide.html">ユーザガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/developers-guide.html">開発者ガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/integration-guide.html">統合ガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/architecture-guide.html">アーキテクチャガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/reference.html">リファレンスガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/reading.html">読書ガイド</a>
</div>
  
<div class="menuItem">
<a href="../java/requirements.html">要件</a>
</div>
 
</div>
 
<div class="menu">
<span class="menuLabel">Axis (C++)</span>
  
<div class="menuItem">
<a href="../cpp/index.html">Axis C++ 最新版</a>
</div>
  
<div class="menuItem">
<a href="../cpp/documentation.html">ドキュメント</a>
</div>
  
<div class="menuItem">
<a href="../cpp/download.html">ダウンロード</a>
</div>
  
<div class="menuItem">
<a href="http://wiki.apache.org/ws/FrontPage/AxisCPP">Wiki ページ [英語]</a>
</div>
  
<div class="menuItem">
<a href="../cpp/who.html">メンバ紹介</a>
</div>
  
</div>

<div class="menu">
<span class="menuLabel">ダウンロード</span>
  
<div class="menuItem">
<a href="../releases.html">リリース</a>
</div>
  
<div class="menuItem">
<a href="../interim.html">暫定版</a>
</div>
  
<div class="menuItem">
<a href="http://cvs.apache.org/viewcvs/ws-axis/">ソースコード [英語]</a>
</div>

</div>

<div class="menu">
<span class="menuLabel">翻訳</span>
  
<div class="menuItem">
<a href="http://ws.apache.org/axis/jp/">日本語</a>
</div>

</div>

<div class="menu">
<span class="menuLabel">関連プロジェクト</span>
  
<div class="menuItem">
<a href="http://ws.apache.org/wsif/">WSIF [英語]</a>
</div>
  
<div class="menuItem">
<a href="http://cvs.apache.org/viewcvs/*checkout*/ws-wsil/java/README.htm">WSIL [英語]</a>
</div>
  
<div class="menuItem">
<a href="http://www-124.ibm.com/developerworks/projects/wsdl4j/">WSDL4J [英語]</a>
</div>
  
<div class="menuItem">
<a href="http://www.uddi4j.org/">UDDI4J [英語]</a>
</div>

</div>

<div class="menu">
<span class="menuLabel">その他</span>
  
<div class="menuItem">
<a href="../who.html">メンバ紹介</a>
</div>
  
<div class="menuItem">
<a href="../contact.html">連絡先</a>
</div>
  
<div class="menuItem">
<a href="../legal.html">法関連</a>
</div>
  
<div class="menuItem">
<a href="../docs.html">メモ/ドキュメント</a>
</div>

</div>


</div>
</div>
</div>
</td><td>
<div id="bodycol">
<div class="app">
<div align="center">
<h1>WebServices - Axis</h1>
</div>
<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 &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>
