Interstage Application Server スタートガイド
目次 前ページ次ページ

第4章 J2EEアプリケーションの開発運用> 4.1 開発

4.1.2 Enterprise Beanの開発

Enterprise Beanの開発手順について説明します。
ここでは、開発環境であるワークベンチのEnterprise JavaBeansプロジェクトウィザードでプロジェクトを作成し、必要なクラスを追加してEnterprise Beanを作成します。

プロジェクト作成
Enterprise Beanで使用するクラスの作成
Javaファイル編集

プロジェクト作成

1. [スタート]メニューから[プログラム] > [Interstage] > [Studio]メニュー内の[Interstage Studio]を選択し、ワークベンチを起動します。

2. ワークベンチのメニューから[ファイル] > [新規] > [プロジェクト]を選択します。

3. [新規プロジェクト]ウィザードで[J2EE] > [Enterprise JavaBeansプロジェクト]を選択し、[次へ]をクリックします。

4. [Enterprise JavaBeansプロジェクト]ページでは、プロジェクトの情報を入力して[終了]をクリックします。

[Enterprise JavaBeansプロジェクト]ページ

項目名

入力値

プロジェクト名

TutorialBean

内容

[ワークスペース内に新規プロジェクトを作成]を選択

JRE

[デフォルトJREの使用]を選択

5. [プロジェクトエクスプローラ]ビューでTutorialBeanを選択し、ワークベンチのメニューより[ファイル] > [新規] > [Enterprise Bean]を選択します。

6. Enterprise Beanウィザードでは、作成するEnterprise Beanの情報を入力して[次へ]をクリックします。

Enterprise Beanウィザード(1ページ目)

項目名

入力値

ソースフォルダ

TutorialBean/src

パッケージ

pkgTutorialBean

名前

TutorialBean

Enterprise Bean種別

Stateful Session Bean

Enterprise Beanウィザード(2ページ目)

項目名

入力値

トランザクション管理種別

Bean

Home/Remoteインタフェースを生成する

チェックする

LocalHome/Localインタフェースを生成する

チェックしない

7. Enterprise Beanウィザード(3ページ目) のejbCreateメソッド定義ページで、パラメタなしのejbCreateメソッドが定義されていることを確認して[次へ]をクリックします。

8. Enterprise Beanウィザード(4ページ目) のビジネスメソッド定義ページで[追加]をクリックして、[メソッド定義]ダイアログボックスでAddCartメソッドとgetItemsメソッドを定義します。
[パラメタリスト]への登録は、[パラメタ追加]をクリックしてから行います。
各メソッドごとに定義情報の入力を行い、[OK]をクリックします。

[メソッド定義]ダイアログボックス

項目名

入力値

メソッド名

AddCart

戻り値の型

void

パラメタリスト

String

変数名

name


項目名

入力値

メソッド名

getItems

戻り値の型

Item[ ]

パラメタリスト

(何も指定しない)

ビジネスメソッド定義ページのメソッド一覧には次のメソッドが登録されていることを確認し、[終了]をクリックします。

9. ワークベンチの[プロジェクトエクスプローラ]ビューで、[TutorialBean]プロジェクトに以下のファイルが生成されていることを確認してください。

生成リソースの警告について
ウィザードが生成したリソースに対して警告エラーが出力される場合がありますが、運用上は問題ありません。
Javaソースについては、“Interstage Studio ユーザーズガイド”の“トラブルシューティング”の“ワークベンチ一般に関する問題”を参照してください。

Enterprise Beanで使用するクラスの作成

Itemクラス(getItemsメソッドの戻り値の型)を定義します。

10. ワークベンチの[プロジェクトエクスプローラ]ビューで[TutorialBean] > [src] > [pkgTutorialBean]を選択し、メニューから[ファイル] > [新規] > [クラス]を選択します。

11. Javaクラスウィザードでは、クラスの情報を定義します。
インプリメントするインタフェースを指定するため、[インタフェース]フィールドで[追加]をクリックします。

12. [実装されたインタフェースの選択]ダイアログボックスで、[インタフェースを選択してください]に java.io.Serializable を入力して[OK]をクリックします。

13. Javaクラスウィザードに戻り次のようにクラスの情報を指定し、[終了]をクリックします。

Javaクラスウィザード

項目名

入力値

ソースフォルダ

TutorialBean/src

パッケージ

pkgTutorialBean

エンクロージング型

チェックしない

名前

Item

修飾子

[public]を選択
[abstract]、[final]をチェックしない

スーパークラス

java.lang.Object

インタフェース

java.io.Serializable

作成するメソッドスタブの選択

チェックしない(すべて)

現在のプロジェクトのプロパティで構成したとおりコメントを追加

チェックしない

14. ワークベンチの[プロジェクトエクスプローラ]ビューで、[TutorialBean]プロジェクトに以下のファイルが追加されていることを確認してください。

Javaファイル編集

Javaエディタを使用して以下のソースファイルを編集します。

15. ワークベンチの[プロジェクトエクスプローラ]ビューでソースファイルを右クリックし、[アプリケーションから開く] > [Javaエディタ]を選択します。

[Item.java]

Itemクラスには以下のメソッドを定義します。

package pkgTutorialBean;

import java.io.Serializable;

public class Item implements Serializable {
/** 追加ここから **/
    private String name;
    private int quantity = 0;

    public Item() {
    }
    public Item(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name ;
    }
    public int getQuantity() {
        return quantity;
    }
    public void setQuantity(int quantity) {
        this.quantity=quantity ;
    }
/** 追加ここまで **/
}

[TutorialBean.java]

/**
 *
 */
package pkgTutorialBean;

/** 削除ここから **
import java.rmi.*;
import javax.ejb.*;
 ** 削除ここまで **/
/** 追加ここから **/
import java.util.Hashtable;
/** 追加ここまで **/

/**
 * @author Owner
 *
 */
public class TutorialBean implements javax.ejb.SessionBean {
    /**
     * context.
     */
    private javax.ejb.SessionContext context;

/** 追加ここから **/
    private Hashtable items = new Hashtable();
/** 追加ここまで **/

    /**
     * constructor.
     */
    public TutorialBean() {
    }

    /**
     * ejbCreate.
     */
    public void ejbCreate() {
/** 追加ここから **/
        items.clear(); 
/** 追加ここまで **/
    }

    /**
     * AddCart.
     * @param name
     */
    public void AddCart(String name) {
/** 追加ここから **/
        Item item = (Item)items.get(name);
        if(item == null) {
            item = new Item(name);
            items.put(name, item);
        }
        item.setQuantity(item.getQuantity()+1);
/** 追加ここまで **/
    }

    /**
     * getItems.
     * @return Item[]
     */
    public Item[] getItems() {
/** 削除ここから **
        return null;
 ** 削除ここまで **/
/** 追加ここから **/
        return (Item[])items.values().toArray(new Item[0]);
/** 追加ここまで **/
    }

    /**
     * setSessionContext.
     * @param ctx
     * @throws javax.ejb.EJBException
     * @throws java.rmi.RemoteException
     */
    public void setSessionContext(javax.ejb.SessionContext ctx)
        throws javax.ejb.EJBException, java.rmi.RemoteException {
        context = ctx;
    }

    /**
     * ejbRemove.
     * @throws javax.ejb.EJBException
     * @throws java.rmi.RemoteException
     */
    public void ejbRemove()
        throws javax.ejb.EJBException, java.rmi.RemoteException {
    }

    /**
     * ejbActivate.
     * @throws javax.ejb.EJBException
     * @throws java.rmi.RemoteException
     */
    public void ejbActivate()
        throws javax.ejb.EJBException, java.rmi.RemoteException {
    }

    /**
     * ejbPassivate.
     * @throws javax.ejb.EJBException
     * @throws java.rmi.RemoteException
     */
    public void ejbPassivate()
        throws javax.ejb.EJBException, java.rmi.RemoteException {
    }

}

import文の挿入について
必要な実装をコーディングしたあとにJavaエディタ上で右クリックし、コンテキストメニューから[ソース] > [インポートの編成]を行うと、プロジェクトに設定されたクラスパスに従った適切なimport文が挿入できます。

16. ワークベンチのメニューから[ファイル] > [すべて保存]を選択し、編集したファイルを保存します。


目次 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007