< 前へ | 次へ >

演習 2: EJB の開発

この演習では、セッション Bean を作成し、ローカル・インターフェースを開発し、その Bean の実装クラスを開発します。また、「EJB エクスポートの管理」ダイアログを使用することによって、EJB を OSGi サービスとして公開します。

セッション Bean の作成

このセクションでは、セッション Bean を作成し、ローカル・インターフェースを指定します。
  1. 「セッション Bean」ウィザードを開きます。 EJB プロジェクトで ejbModule を右クリックし、「新規」 > 「セッション Bean (EJB 3.x)」を選択します。
  2. Bean を作成します。 ウィザードに以下の値を入力します。
    プロジェクト
    EJB
    Java™ パッケージ
    com.ibm.example.impl
    クラス名
    EJBConverter
    状態タイプ
    ステートレス
    ローカル
    「ローカル」チェック・ボックスを選択し、値として com.ibm.example.EJBConverterLocal を入力します。
    No-interface ビュー
    「No-interface ビュー」をクリアします。
    EJB 3.x セッション Bean の作成
    注: このチュートリアルで開発するアプリケーションでは、ローカル・インターフェースを使用します。リモート・インターフェースを使用する場合は、ウィザードの「リモート」チェック・ボックスを選択してから、対応するインターフェースを開発します。リモート・インターフェースの場合は JNDI ルックアップの動作が異なります。リモート・インターフェースを使用する場合は、ルックアップのコードを 調整してください。次の演習でその例を示します。
  3. 「終了」をクリックします。 セッション Bean が作成され、エディターでクラスが開きます。

ローカル・インターフェースの開発

セッション Bean を作成したとき、EJBClient プロジェクト内に EJBConverterLocal インターフェースが作成されました。 このセクションでは、そのインターフェースに 2 つのメソッドを追加します。それらのメソッドは、基本的な温度変換操作を記述するものです。
  1. EJBConverterLocal インターフェースを開きます。 EJBClient プロジェクトで、ejbModule フォルダーおよび com.ibm.example パッケージを展開します。 EJBConverterLocal インターフェースをダブルクリックします。エディターでインターフェースが開きます。
  2. インターフェースにメソッドを追加します。 インターフェースに以下のメソッドを追加します。
    public double convertToFahrenheit(double celsius);
    public double convertToCelsius(double fahrenheit);
    結果は、次のコードのようになります。
    package com.ibm.example;
    
    public interface EJBConverterLocal {
    
       public double convertToFahrenheit(double celsius);
    
       public double convertToCelsius(double fahrenheit);
    
    }
  3. 変更を保存します。 インターフェース・ファイルを保存すると、EJBConverter クラスのエラーが表示されます。 これは、インターフェースに追加したメソッドがまだ実装されていないためです。

実装クラスの開発

このセクションでは、ローカル・インターフェースに必要な温度変換メソッドを実装します。
  1. EJBConverter クラスを開きます。 EJB プロジェクトで、ejbModule フォルダーおよび com.ibm.example.impl パッケージを展開します。 EJBConverter クラスをダブルクリックします。 エディターでそのクラスが開きます。
  2. デフォルトのコンストラクターを削除します。
  3. EJBConverterRemote インターフェースに追加した 2 つのメソッドの実装を追加します。 以下のメソッド実装をクラスに追加します。
    public double convertToCelsius(double fahrenheit) {
       return (fahrenheit - 32) * (5 / 9d);
    }
    
    public double convertToFahrenheit(double celsius) {
       return celsius * (9 / 5d) + 32;
    }
    完成したクラスは、以下のコードのようになります。ウィザードによって生成 される元のコードには、注釈 @Stateless と、「セッション Bean」ウィザードで入力したローカル・インターフェースを指定する注釈 @Local が 含まれていることに注意してください。
    package com.ibm.example.impl;
    
    import com.ibm.example.EJBConverterLocal;
    import javax.ejb.Local;
    import javax.ejb.Stateless;
    
    @Stateless
    @Local(EJBConverterLocal.class)
    public class EJBConverter implements EJBConverterLocal {
    
       public double convertToCelsius(double fahrenheit) {
          return (fahrenheit - 32) * (5 / 9d);
       }
    
       public double convertToFahrenheit(double celsius) {
          return celsius * (9 / 5d) + 32;
       }
    }
  4. 変更を保存します。

EJB を OSGi サービスとして公開

EJB をサポートする OSGi プロジェクトに追加した EJB は、デフォルトでは、自動的に OSGi サービスとして公開されます。 OSGi サービスの公開は、OSGi マニフェスト内の Export-EJB ヘッダーによって制御されます。 このセクションでは、マニフェストを確認し、「EJB エクスポートの管理」ダイアログを使用することによって、EJBConverter が OSGi サービスとして公開されるようにします。
  1. マニフェストを開きます。 EJB プロジェクトで、Manifest:EJB をダブルクリックします。 マニフェストが開きます。 「MANIFEST.MF」タブをクリックすると、ファイルがテキスト形式で表示されます。Export-EJB ヘッダーがあり、その項目が EJBConverter EJB に対応するものであることに注目してください。 Export-EJB ヘッダーに手動で項目を追加することによって、EJB エクスポートを管理することが可能です。 EJB は、コンマ区切りのリストとして追加できます。
    注: Export-EJB ヘッダーの特殊なケースである以下の 2 つに注意してください。
    NONE
    Export-EJB ヘッダーの項目として NONE を指定すると、どの EJB もサービスとして公開されなくなります。NONE を指定したにもかかわらずリストに EJB を追加すると、ツールによって警告が表示されます。
    BLANK
    マニフェストに Export-EJB ヘッダーはあっても項目がない場合、デフォルトの動作として、プロジェクト内のすべての EJB がサービスとして公開されます。
  2. 「EJB エクスポートの管理」ダイアログを開きます。 EJB プロジェクトを右クリックし、「OSGi」 > 「EJB を OSGi サービスとして公開」を選択します。 「EJB エクスポートの管理」ダイアログが開きます。 そのダイアログで、EJBConverter EJB の横のボックスが選択されていることを確認し、「OK」をクリックします。 プロジェクト内でこのダイアログを使用することにより、サービスとして公開される EJB を追加したり削除したりすることができます。 このダイアログで選択する EJB を変更すると、マニフェスト内で Export-EJB ヘッダーの項目が変更されます。
    「EJB エクスポートの管理」ダイアログ
    注: プロジェクト内に新しい EJB を作成すると、それらは自動的に OSGi サービスとして公開されます。「EJB エクスポートの管理」ダイアログを使用することにより、公開しない EJB をクリアすることができます。
< 前へ | 次へ >
トピックのタイプを示すアイコン チュートリアルの演習のトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: osgi_ejb_2.html