Interstage Studio プログラマーズガイド
目次 索引 前ページ次ページ

第2部 Java編> 第4章 Enterprise JavaBeans (EJB)を開発する> 4.3 EJBのプログラミング

4.3.11 Stateless Session BeanをWebサービス化する方法

Stateless Session BeanをWebサービス化するための手順について説明します。

(1) Stateless Session Beanの作成

プロジェクトの作成

[新規 Enterprise JavaBeansプロジェクト]ウィザードの[Enterprise JavaBeansバージョン]で[2.1]を選択して、Enterprise JavaBeansプロジェクトを作成します。

Enterprise Beanの作成

[新規 Enterprise Bean]ウィザードでEnterprise Beanを作成します。

  1. Enterprise Bean種別
    [Enterprise Bean種別]では、[Stateless Session Bean]を選択します。

  2. インタフェース生成オプション
    Stateless Session Beanを作成する場合は、[LocalHome/Localインタフェースを生成する]を選択してください。Webサービスからだけ呼び出されるStateless Session Beanの場合はLocalHome/Localインタフェースは不要ですが、ここでは、[LocalHome/Localインタフェースを生成する]を選択してください。
    Interstage Application Serverで運用するEJB2.1アプリケーションは、Home/Remoteインタフェース経由でのリモートアクセスをサポートしていません。
  3. ビジネスメソッド定義
    Webサービスで公開するメソッドを定義します。ウィザード終了後に生成されたEnterprise Beanクラスに定義したメソッドを実装します。

サービスエンドポイントインタフェースの作成

生成したEnterprise Beanクラスからサービスエンドポイントインタフェースを作成します。作成したサービスエンドポイントインタフェースをEnterprise Beanクラスで継承してください。
サービスエンドポイントインタフェースでは以下の条件を満たすようにしてください。

インタフェースの生成は[インタフェースの抽出]機能を利用して生成できます。
  1. プロジェクトエクスプローラで生成したEnterprise Beanクラスを選択します。
  2. コンテキストメニューから[リファクタリング] > [インタフェースの抽出]を選択します。
  3. [インタフェースの抽出]ダイアログボックスの[インタフェース内で宣言されるメンバ]で公開するメソッドを選択します。
  4. 生成されたインタフェースをサービスエンドポイントインタフェースの条件を満たすように修正します。

(2) Stateless Session BeanのWebサービス化

Stateless Session BeanをWebサービス化するには、以下の対応が必要となります。

Webサービスウィザードを利用することで、サービスエンドポイントインタフェースから、上記のファイルの更新、生成を自動で行うことができます。

WebサービスウィザードによるStateless Session BeanのWebサービス化

WebサービスウィザードでStateless Session BeanをWebサービス化します。ウィザードの詳細については、"Interstage Studioユーザーズガイド"を参照してください。

  1. ソースフォルダ
    [ソースフォルダ]には、Webサービス化したいEnterprise JavaBeansプロジェクトのソースフォルダを指定します。Enterprise JavaBeansバージョンが"2.1"でないプロジェクトは指定できません。

  2. サービスエンドポイントインタフェース名
    作成したサービスエンドポイントインタフェース名を指定します。

Stateless Session BeanのWebサービス化では、Enterpris Beanクラスが実装テンプレートクラスとなるため、実装テンプレートクラス名を設定する必要はありません。

以下のEnterprise JavaBeansをWebサービス化しようとした場合は、ウィザードでエラーとなります。

(3) EARファイルにパッケージング

Webサービス化されたStateless Session Beanを配備する場合は、モジュールは必ずEARファイルである必要があるため、EARファイルにパッケージングします。
EARファイルの作成については、"J2EEアプリケーションを開発する"を参照してください。

(4) 配備

作成したEARファイルをInterstage Application ServerのIJServerに配備します。
配備の手順については、"Interstage Studioユーザーズガイド"を参照してください。

Webサービス化したStateless Session Beanを含むEARファイルは、以下のIJServerに配備してください。それ以外のIJServerに配備すると配備に失敗します。

Webサービス化したStateless Session BeanをIJServerに配備すると、自動的にEJB SOAPルータと呼ばれるWebアプリケーションが組み込まれます。
WebサービスではHTTPプロトコルでリクエストが送受信されるため、Webサービス化されたStateless Session Beanを運用する場合にはSOAP(HTTP)からのリクエストを送受信するためのServletが必要になります。このServletのことをEJB SOAPルータと呼びます。
EJB SOAPルータはWebサービス化されたStateless Session Beanを含むEJB JARファイルに対して1つずつ作成されます。

目次 索引 前ページ次ページ

Copyright 2007-2008 FUJITSU LIMITED