blob: 8905ed6e7440f5e5e3fcbdf16a042589178db2f3 [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="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>