IBM Webサービス対応ミドルウェア

製品インストール方法

前提

IBMミドルウェアは多くのプラットフォームで提供されているため、プラットフォームによってインストール方法や前提ソフトウェアが異なります。前提システム、前提ソフトウェア、詳細な手順は、製品に付属するマニュアルを参照してください。ここでは、Windows版に限定して説明します。

前提として、以下のシステムを利用していると仮定します。

システム:インテル系 PC/CPU Pentium4 1GHz程度、メモリー 1GB程度
オペレーティング・システム:Microsoft Windows 2000+SP2

利用するソフトウェア

また、ここでは以下の製品を使用してWebSphereでWebサービスを稼動させる方法をご紹介します。

IBM WebSphere Studio Application Developer V4.03

製品は通常CD-ROMで配布されています。CD-ROMをドライブにマウントするとインストールが始まります。自動的に始まらないときは、setup.exeを実行してください。インストールのウィザードは特になにもせずに進めてかまいません。

Web サービスの作成方法

以下の Java プログラムをWebサービス化します。

public class TestService {
	public String getMessage() {
		return "HelloWorld!";
	}
}

0.StudioAD の使い方

StudioAD は、エクリプスと呼ばれるオープン・ソースのワークベンチ上で稼動します。ワークベンチ上にはたくさんの小さなウィンドウが開きます。これをビューといいます。ビューはいくつかの種類の組み合わせで同時ワークベンチ上に表示され、組み合わせを切り替えて作業することができます。組み合わせの単位のことを「パースペクティブ」といいます。

パースペクティブは、ワークベンチの左側にある「ショートカットバー」と呼ばれるボタンで切り替えることができます。

1.エンタープライズ、およびWebプロジェクトの作成

StudioADでは、開発を「プロジェクト」という単位(フォルダー)で管理します。必ずプロジェクトを作成する必要があります。
StudioADでは、Webサービス・アプリケーションをJ2EEのWebアプリケーションとして構築します。Webアプリケーションとして稼動させるには「EARファイル」の単位となる「エンタープライズ・アプリケーション」プロジェクトと「WARファイル」の単位となる「Web」プロジェクトを作る必要があります。

  1. 「ファイル」−「新規」−「プロジェクト」を選び、「J2EE」−「エンタープライズ・アプリケーション」をパネル上で指定します。
  2. 名前の指定エンタープライズ・アプリケーション・プロジェクト名として名前を指定すると、それに付属する別のプロジェクトにも自動的に名前が作られます。Webサービスを試すだけなら、クライアントとEJBは必要ないので、チェックをはずします。

2.プログラム・ソースの準備とコンパイル

  1. パースペクティブ追加ボタンを押し、「Webパースペクティブ」を表示してください。
  2. ナビゲーター・ビューを見つけてください。
  3. Webプロジェクトのフォルダー(ここではwsadWeb)を見つけてください。
  4. その下にあるsourceフォルダーを見つけてください。
  5. その上で右クリックし、「新規」−「その他」を選択してください。
  6. 新規ウィンドウで「Java」−「Javaクラス」を選択して「次へ」ボタンをクリックします。
  7. ここでは、「TestService」クラスとしますので、それを名前フィールドに入力して「終了」ボタンをクリックします。
  8. JavaファイルのスケルトンがJavaエディターで表示されますので、コードを入力します。
  9. 入力が終わったら「Ctl+S」を押して保存します。自動的にコンパイルされます。

3.Webサービス化

このファイルをWebサービスにするには、Webサービスのウィザードを使います。簡単なプログラムなので余計な設定は必要ありません。

  1. ナビゲーター・ビューでこのクラスのソース・ファイルを見つけます。
  2. ソース・ファイルの上で右クリックし、「新規」−「Webサービス」を選択します。
  3. Webサービスのウィザードが表示されたら、Webサービスを実装するWebプロジェクトが正しく設定されているか確認します。
    また、ここではサンプルJSPを作り、Webサービスを稼動させる確認をするために「サンプルの生成」「サンプルの起動」をチェックします。
    「次へ」ボタンをクリックしてください。
  4. Java Bean の選択のパネルが表示されます。Beanが正しく設定されていることを確認してください。
    このあともさまざまな設定をするパネルがありますが、TestServiceは簡単なプログラムなのでこのあとの設定は必要ありません。
    「終了」ボタンをクリックします。
  5. ウィザードは、以下の自動処理をするために、若干時間がかかります。(2〜3分程度)
    1. 指定されたJavaBeanを解析します。
    2. JavaBeanをSOAPとして公開できるように、設定ファイルを生成します。(ISDファイル=デプロイメント・でスクリプター)
    3. 公開するためのWSDLファイルを生成します。
    4. エンタープライズ・アプリケーション/Webアプリケーション(つまり、EARファイルとWARファイル)を公開する準備をします。
    5. WebSphereテスト環境の設定が存在しなければ作成します。
    6. WebSphereテスト環境にアプリケーションを登録(デプロイ)します。
    7. WebSpehreテスト環境を始動します。
    8. 公開されたWSDLファイルを使って、クライアント用プロキシーを生成します。
    9. 稼動確認をするための、クライアント用プロキシーにアクセスして稼動するJSPファイルを生成します。
    10. 生成されたJSPファイルを公開されているWebアプリケーションに登録して稼動可能な状態にします。
    11. JSPファイルをワークベンチ上のブラウザーで実行します。
  6. 図のように、JSPが表示されます。以下の手順で稼動確認をします。
    1. Methodsウィンドウで、テストしたいメソッドを選択します。Inputsエリアに必要なら入力フィールドと、「Invoke」「Clear」ボタンが表示されます。
    2. 必要に応じてInputエリアの入力フィールドに値を入力し、「Invoke」ボタンをクリックします。
    3. 結果が「Result」エリアに表示されます。今回の例では、Stringで「Hello World!」が返ってきますので、それが表示されます。

作成した Web サービスの公開方法

上記の状態ですでにWSDL、SOAPのサービスとして公開されていますが、他のマシンからアクセスする場合には若干注意が必要です。

1.URL

サービス記述WSDL http://localhost:8080/wsadWeb/wsdl/TestService-service.wsdl
バインディングWSDL http://localhost:8080/wsadWeb/wsdl/TestService-binding.wsdl
SOAPエンド・ポイント http://localhost:8080/wsadWeb/wsdl/soap/rpcrouter

ここで、「wsadWeb」の部分はコンテキスト・ルートといい、J2EEのWebアプリケーションのインストール単位で決まる任意名です。

2.import要素の修正

外部からアクセスする場合、localhostの部分をホスト名に変更すればいいのですが、サービス記述WSDLから <import> 要素でバインディングWSDLを参照している部分がlocalhostになってしまっており、正しくアクセスできません。他のマシンからアクセスする場合には、WSDLファイルの<import>要素のURLを適切に修正してください。複合オブジェクトや配列を使うメソッドの場合は、バインディングWSDLが <import> 要素でXSD(XMLスキーマ・データ)を参照しますので、それも修正します。

3.WebSphereアプリケーション・サーバーでの稼動

以下の手順でWAS V4.0で稼動させることができます。

  1. 上記手順で、<import> 要素を修正する
  2. EARファイルとしてエクスポートする
  3. エクスポートしたEARファイルをWASにインストールする

WAS アドバンスド版以上では、「リモート・サーバー」としてWASを登録することにより、StudioADから直接インストールすることも可能です。

クライアントからのアクセス方法

Javaクライアントからアクセスする場合は、proxyパッケージの下にプロキシークラスが自動生成されますので、それを利用します。インスタンス化し、メソッドをアクセスするだけです。HTTPプロキシーの通過、基本認証へのログイン方法は、IBM のサイトに情報があります。


もどる
Copyright © XMLコンソーシアム 2002 All rights reserved.
Copyright © IBM Corporation 2002. All rights reserved.