いまさら聞けない「Webサービス」の常識企業システムの常識をJBossで身につける(6)(2/4 ページ)

» 2010年02月26日 00時00分 公開
[上川伸彦株式会社ビーブレイクシステムズ]

JBoss WSとは

 JBoss WS(Web Services)は、JBossプロジェクトのなかでWebサービスを扱うものとして開発されています。前述のとおり、JAX-WSを実装しておりJ2EE 1.4とJava EE 5に準拠しています。シンプルでかつ簡単な開発が可能となっており、作業負担のさらなる軽減が期待されます。

JBoss WSを利用するサンプルを作ろう

 サンプルで作成するのは、Webサービス利用者のJavaプログラムとWebサービス提供者のJavaプログラムです。それ以外は自動的に生成できるので、特に意識する必要はありません。以下がサンプルの構成です。

図3 サンプルの構成 図3 サンプルの構成
  1. Webサービス利用者のJavaプログラムで、WebサービスServiceLocatorからWebサービスを取得し、メソッドを呼び出す
  2. 自動的にWebサービス提供者のJavaプログラムのメソッドが呼び出される
  3. Webサービス提供者のJavaプログラムで、処理を行う。今回は、引数に与えられた数値を加算する簡単なプログラムとしている
  4. 処理後、Webサービス提供者のJavaプログラムは処理結果を戻す
  5. 自動的にWebサービス利用者のJavaプログラムに結果が戻す

 Webサービスの実装は2種類の方法があります。Webサービスの処理を実装したJavaプログラムからWSDLを作成する「ボトムアップ」と、WSDLからWebサービスのテンプレートを作成する「トップダウン」です。

 今回のサンプルでは、JavaプログラムからWSDLを作成する「ボトムアップ」を用いて実装します。また同時に、Webサービスのインターフェイスを実装したコードも自動生成します。実装の流れは、「Javaプログラム⇒WSDL⇒Webサービスのインターフェイス実装コード」のようになります。

 では、実際にサンプルを作成してみましょう。開発を行う環境については、これまでの連載を参考にしてください。

【1】サンプルを動作させるWebプロジェクトを作成

 Eclipse上で[ファイル]→[新規]→[プロジェクト]を選択します。

図4 Webプロジェクトの新規作成 図4 Webプロジェクトの新規作成

 [新規プロジェクト]のダイアログで、[Web]→[動的Webプロジェクト]を選択し、「次へ」をクリックします。

図5 [動的Webプロジェクト]を選択 図5 [動的Webプロジェクト]を選択

 [新規動的Webプロジェクト]ダイアログを以下のように入力し、[完了]をクリックします。

  • [プロジェクト名]:sampleJBossWebService
  • [Target Runtime]:JBoss 5.0 Runtime
  • [動的Webモジュールバージョン]:2.5
  • [構成]:JBoss 5.0 Runtime デフォルト構成
  • [EARメンバーシップ]:[EARにプロジェクトを追加]にチェック
図6 [新規動的Webプロジェクト] 図6 [新規動的Webプロジェクト]

 以下のようにプロジェクトが作成されます。

図7 新規に作成されたプロジェクト 図7 新規に作成されたプロジェクト

【2】Javaプログラムを作成

 sampleJBossWebService/src配下に、以下のクラスを作成します。ここでは、パッケージ「web.service.test」配下に作成したとします。このクラスは、「引数に与えられた値を加算する」という簡単なクラスです。

package web.service.test;
 
/**
 * 引数に与えた数値を計算するWebService
 */
public class SimpleWebService {
 
	/**
	 * 引数に与えられた数値の和を返却します。
	 * @param a
	 * @param b
	 * @return
	 */
	public int add(int a, int b) {
    	return (a + b);
    }
}
SimpleWebService.java

 次ページでは、引き続きサンプルを実装し、実行してみます。

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

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

メールマガジン登録

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