連載
» 2001年07月19日 00時00分 公開

SOAPの仕掛け(5):Webサービスをツールキットで作る (1/4)

[米持幸寿,日本アイ・ビー・エム株式会社]

無料で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アーキテクチャー」と名付けている。それは全体で下図のようになる。

図 Web Servicesアーキテクチャー

 図の3つの頂点は、Webサービスにおける役割(ロール)を表している。それぞれ、「レジストリ」「サービス提供者(プロバイダ)」「サービス利用者(リクエスタ)」である。

  1. [Publish]サービス提供者は、提供するインターフェイス(受け付けるXML形式と、返答として返すXML形式)が決まると、インターフェイス記述をWSDLで記述して公開する。また、そのサービスを提供する場所を表すサービス記述もWSDLで記述する。インターフェイス記述はtModel要素の参照として、サービス記述はその内容がbusinessService要素としてUDDIに登録される。これによって、サービスが出版(パブリッシュ)された状態になる。
  2. [Find]サービス利用者は、UDDI-APIを使ってUDDIを検索し、対応するインターフェイスを持つサービスを検索・発見する。
  3. [Bind]サービスが見つかると、WSDLファイルを参照して、ツールによって、またはダイナミックに、プロキシ・オブジェクトを生成し、SOAPによってサービスにアクセスする。

 SOAP-RPCによるWebサービスは、このように、「自己記述型」の「検索可能」な「SOAP-RPCベースのサービスモジュール」と定義できる。WebServicesアーキテクチャーでは、これらがUDDIを中心にして、どのように連携するかを決めたものである。このような機能を提供するものを、筆者はWeb上で生きているソフトウェア部品という意味で、「Webライブ・コンポーネント」と呼んでいる。

       1|2|3|4 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。