ページの先頭行へ戻る
Interstage Application Server スタートガイド

4.1.2 Enterprise Beanの開発

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

プロジェクト作成

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

Javaファイル編集

プロジェクト作成

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

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

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

  4. [Enterprise JavaBeansプロジェクト](1ページ目)では、プロジェクトの情報を入力して[次へ]をクリックします。


    [Enterprise JavaBeansプロジェクト](1ページ目)

    項目名

    入力値

    プロジェクト名

    TutorialBean

    内容

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

    JRE

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

    [Enterprise JavaBeansプロジェクト](2ページ目)では、Enterprise JavaBeansバージョンに[2.1]が設定されていることを確認し、[終了]をクリックします。


    [Enterprise JavaBeansプロジェクト](2ページ目)

    項目名

    入力値

    Enterprise JavaBeansバージョン

    2.1

  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[ ]

    パラメタリスト

    (何も指定しない)

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

    • AddCart(String)
      詳細: void AddCart(String name)

    • getItems()
      詳細: Item[ ] getItems()

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

    • TutorialBean.java(Enterprise Beanクラス)

    • TutorialBeanLocal.java(Localインタフェース)

    • TutorialBeanLocalHome.java(LocalHomeインタフェース)

    • ejb-jar.xml(deployment descriptorファイル)

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

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

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

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

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

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

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


    Javaクラスウィザード

    項目名

    入力値

    ソースフォルダ

    TutorialBean/src

    パッケージ

    pkgTutorialBean

    エンクロージング型

    チェックしない

    名前

    Item

    修飾子

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

    スーパークラス

    java.lang.Object

    インタフェース

    java.io.Serializable

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

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

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

    チェックしない

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

    • Item.java(ユーザ定義クラス)

Javaファイル編集

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

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

    Item.java

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

    • getNameメソッド(商品名を取得する)

    • setNameメソッド(商品名を設定する)

    • getQuantityメソッド(購入する個数を取得する)

    • setQuantityメソッド(購入する個数を設定する)

    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文が挿入できます。

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