ローカル・セッション Bean へのアクセス

アプリケーションは、Bean のホーム・ インターフェースを介して、適切なローカル・セッション Bean にアクセスします。

このタスクを実行する理由と時期

セッション Bean は、プロセス・ アプリケーションの場合は LocalBusinessFlowManager セッション Bean、ヒューマン・タスク・アプリケーションの場合は LocalHumanTaskManager セッション Bean になります。

このタスクのステップ

  1. ローカル・セッション Bean への参照を アプリケーション・デプロイメント記述子に追加します。 参照を以下のファイルの 1 つに追加します。
    • Java™ 2 Platform Enterprise Edition (J2EE) クライアント・アプリケーションの場合は、application-client.xml ファイル
    • Web アプリケーションの場合は、web.xml ファイル
    • Enterprise JavaBeans™ (EJB) アプリケーションの 場合は、ejb-jar.xml ファイル
    プロセス・アプリケーションの場合のローカル ・ホーム・インターフェースへの参照は、以下の例で 示されます。
    <ejb-local-ref>
     <ejb-ref-name>ejb/LocalBusinessFlowManagerHome</ejb-ref-name>
     <ejb-ref-type>Session</ejb-ref-type>
     <local-home>com.ibm.bpe.api.LocalBusinessFlowManagerHome</local-home>
     <local>com.ibm.bpe.api.LocalBusinessFlowManager</local>
    </ejb-local-ref>
    タスク・ アプリケーションの場合のローカル・ホーム・ インターフェースへの参照は、以下の例で示されます。
    <ejb-local-ref>
     <ejb-ref-name>ejb/LocalHumanTaskManagerHome</ejb-ref-name>
     <ejb-ref-type>Session</ejb-ref-type>
     <local-home>com.ibm.task.api.LocalHumanTaskManagerHome</local-home>
     <local>com.ibm.task.api.LocalHumanTaskManager</local>
    </ejb-local-ref>

    WebSphere® Integration Developer を使用して EJB 参照を デプロイメント記述子に追加する場合、EJB 参照のバインディングが、アプリケーションのデプロイ時に 自動的に作成されます。EJB 参照の追加について 詳しくは、WebSphere Integration Developer の文書を 参照してください。

  2. Java Naming and Directory Interface (JNDI) 検索機構を使用して、ローカル・セッション Bean の ローカル・ホーム・インターフェースがアプリケーションから使用可能になるようにします。 以下の例では、プロセス・アプリケーションでのこのステップを示します。
    // Obtain the default initial JNDI context
    InitialContext initialContext = new InitialContext();
    
      // Lookup the local home interface of the LocalBusinessFlowManager bean
     
       LocalBusinessFlowManagerHome processHome =
            (LocalBusinessFlowManagerHome)initialContext.lookup
            ("java:comp/env/ejb/LocalBusinessFlowManagerHome");
    ローカル・セッション Bean のホーム・インターフェースには、EJB オブジェクト の create メソッドが含まれます。 このメソッドは、セッション Bean のローカル・ インターフェースを戻します。
  3. ローカル・セッション Bean のローカル・ インターフェースにアクセスします。 以下の例では、プロセス・アプリケーションでのこのステップを示します。
    LocalBusinessFlowManager process = processHome.create();
  4. サービス・インターフェースによって 公開されたビジネス関数を呼び出します。 以下の例では、プロセス・アプリケーションでのこのステップを示します。
    process.initiate("MyProcessModel",input);
    アプリケーションからの呼び出し は、トランザクションとして実行されます。 トランザクションは、以下のいずれかの方法で確立 されて終了します。
    • WebSphere Application Server から自動的に (デプロイメント記述子が TX_REQUIRED を指定)。
    • アプリケーションから明示的に。 アプリケーションの呼び出しを 1 つの トランザクションにバンドルすることができます。
      // Obtain user transaction interface
         UserTransaction transaction=
             (UserTransaction)initialContext.lookup("jta/usertransaction");
      
         // Begin a transaction
         transaction.begin();
      
           // Applications calls ...
      
         // On successful return, commit the transaction
         transaction.commit();
以下に、ステップ 2 から 4 でタスク・アプリケーションを探す方法の例を示します。
// Obtain the default initial JNDI context
InitialContext initialContext = new InitialContext();

  // Lookup the local home interface of the LocalHumanTaskManager bean
 
   LocalHumanTaskManagerHome taskHome =
        (LocalHumanTaskManagerHome)initialContext.lookup
        ("java:comp/env/ejb/LocalHumanTaskManagerHome");

...
//Access the local interface of the local session bean
LocalHumanTaskManager task = taskHome.create();

...
//Call the business functions exposed by the service interface
task.callTask(tkiid,input);

ご利用条件 |


(c) Copyright IBM Corporation 2005, 2006.
本製品では Eclipse テクノロジーが採用されています。(http://www.eclipse.org)