無料でWebサービスを実験しよう
今回は、Javaアプリケーション・サーバでWebサービスを構築するためのキットである、「WebServices Toolkit」(以下、WSTK)を紹介しよう。これを利用すれば、個人でもWebサービスの実験が行える。そのために必要なものは、基本的に全て無料で入手できるのだ。IBM alphaWorksについては、@ITのJava Solutionフォーラムで「ここはJavaプログラマの天国?」というコラムを書いたので、こちらをご参照いただきたい。
では、WSTKを入手してセットアップし、利用するまでの工程を解説していこう。
■WSTKに含まれるものと利用法
本稿執筆時点でのWSTKの最新版は2.3であり、以下のものが含まれている(近日中に2.4が出るといううわさもある)。
■Apache-SOAP v2.1(連載第1回「SOAPの仕掛けはどうなっている?」を参照)
Javaアプリケーション・サーバにSOAPサービス機能を付加するためのライブラリ、クライアント用APIのライブラリ
■UDDI4J v1.0.
UDDIにアクセスするためのJava-API
■開発用ツール
- Web Services API
SOAP、WSDL、UDDIなどをラッピングしたAPIで、リモートのSOAPサービスへのダイナミック・バインディングを実現する - Webサービス・ブラウザー(browser.bat)
- WSDL生成ツール(wsdlgen.bat)
- WSTKの構成ツール(wstkconfig.bat)
- WSDL Toolkit v1.12
WSDLから、サービス用Javaコードのひな型を生成(servicegen.bat)
クライアント接続用プロキシ・クラスなどを生成(proxygen.bat)
■ローカルUDDI
UDDIレジストリをローカルで稼働させるためのランタイム
■WSDLの仕様書
■WSFLの仕様書
■COM Pluggable Provider for SOAP Technology Preview
COMオブジェクトをラッピングして、SOAP-RPCとして公開する
■サンプル・アプリケーション
- Gourmet2Go:食品流通のデモ
- EJBをWebサービス化する機能のプロトタイプ
- デジタル署名、SOAP署名がSOAPメッセージの中でどのように使われるかを示すデモ
- いくつかのWebサービスの統合を行うデモ
一覧だと分かりにくいのだが、要するにIBMが提唱する「Web Servicesアーキテクチャ」が示す、SOAP、UDDI、WSDLを利用するWebサービス・アプリケーションを、デザイン、開発、実行するためのドキュメント、開発ツール、ライブラリなどを集大成したものである。
WSTKを利用するには、下記の条件がある。
OS | Windows NT/2000、Linuxがサポートされている。 |
---|---|
Java | JDK 1.2.2、1.3がサポートされている。 |
Webブラウザ | 一部のデモやWebサービス・ブラウザなどで、IE 5.0以上、Netscape Navigator 4.5以上が必要なものがある。 |
アプリケーション・サーバ | WebSphere Application Server V3.5、またはApache-Tomcat3.2.1がサポートされている。Toolkitに組み込み用のWebSphere(V3.5.2)というのが同梱されており、これを利用することもできる。ただし、これはWindows版である。ローカルUDDIを実行するには、IBM DB2 UDB V6.1またはV7.1以降が必要である。 |
一番お金がかからないのは、組み込み用WebSphereを使うことである。ローカルUDDIを実行したいなら、IBMのダウンロードサイトからIBM DB2 UDB V7.1評価版をダウンロードして組み合わせることができる。
■Webサービスを利用するためのアーキテクチャ
IBMは、Webサービスに使われるテクノロジをマイクロソフトと共同で研究、開発してきた。それが、本連載でも取り上げているSOAP、UDDI、WSDLなどである。これらの使い方は下の図のように三角形になっており、IBMではこれを「Web Servicesアーキテクチャー」と名付けている。それは全体で下図のようになる。
図の3つの頂点は、Webサービスにおける役割(ロール)を表している。それぞれ、「レジストリ」「サービス提供者(プロバイダ)」「サービス利用者(リクエスタ)」である。
- [Publish]サービス提供者は、提供するインターフェイス(受け付けるXML形式と、返答として返すXML形式)が決まると、インターフェイス記述をWSDLで記述して公開する。また、そのサービスを提供する場所を表すサービス記述もWSDLで記述する。インターフェイス記述はtModel要素の参照として、サービス記述はその内容がbusinessService要素としてUDDIに登録される。これによって、サービスが出版(パブリッシュ)された状態になる。
- [Find]サービス利用者は、UDDI-APIを使ってUDDIを検索し、対応するインターフェイスを持つサービスを検索・発見する。
- [Bind]サービスが見つかると、WSDLファイルを参照して、ツールによって、またはダイナミックに、プロキシ・オブジェクトを生成し、SOAPによってサービスにアクセスする。
SOAP-RPCによるWebサービスは、このように、「自己記述型」の「検索可能」な「SOAP-RPCベースのサービスモジュール」と定義できる。WebServicesアーキテクチャーでは、これらがUDDIを中心にして、どのように連携するかを決めたものである。このような機能を提供するものを、筆者はWeb上で生きているソフトウェア部品という意味で、「Webライブ・コンポーネント」と呼んでいる。
Copyright © ITmedia, Inc. All Rights Reserved.