Liberty の最適化されたローカル・アダプター API を使用した外部アドレス・スペースからのエンタープライズ Bean の呼び出し

WebSphere Optimized Local Adapters (WOLA) API を使用して、Liberty サーバーに外部アドレス・スペースを接続し、ローカル・ステートレス・セッション Bean を呼び出します。

始める前に

最適化されたローカル・アダプター呼び出しのターゲット候補としてエンタープライズ Bean を指定するには、エンタープライズ JavaBean (EJB) アプリケーションは、ローカル・ビジネス・インターフェースとして com.ibm.websphere.ola.ExecuteLocalBusiness インターフェースを実装する必要があります。このインターフェースは、wlp/dev/api/ibm/com.ibm.websphere.appserver.api.zosLocalAdapters_1.0.0.jar ファイル内にあります。

顧客情報管理システム (CICS) の下で実行されているプログラムの場合、CICS と Liberty サーバー間で接続を確立する前に、最適化されたローカル・アダプターのタスク関連ユーザー出口 (TRUE) プログラムをアクティブ化する必要があります。詳しくは、CICS 用の Liberty サーバー・トランザクション: BBOC、BBO$、および BBO#を参照してください。

Liberty サーバーが、登録要求の発信元と同じ z/OS® イメージ上でアクティブになっている必要があります。登録 API を使用して現行アドレス・スペースが既に登録されていて、ターゲットの最適化ローカル・アダプター・グループにバインドされていることを確認します。外部アドレス・スペースの登録について詳しくは、最適化されたローカル・アダプターを使用した、ローカル Liberty サーバーへの外部アドレス・スペースの登録を参照してください。

このタスクについて

このステートレス・セッション Bean を呼び出す方法は、柔軟性を高め、呼び出し前に応答域の最大長が分からない可能性がある場合に使用できます。応答域の長さが分かっている場合に Bean を呼び出す簡素化された方法については、Liberty の起動 API を使用した外部アドレス・スペースからのエンタープライズ Bean の呼び出しを参照してください。

手順

  1. クライアント・アドレス・スペース内のネイティブ言語アプリケーションから接続取得 API (BBOA1CNG) を呼び出し、登録 API (BBOA1REG) の呼び出し時に使用した登録名を渡します。 この呼び出しから、以降のすべての API 呼び出しで使用する必要がある接続ハンドルが返されます。
  2. クライアント・アドレス・スペース内のネイティブ言語アプリケーションから要求送信 API (BBOA1SRQ) を呼び出します。requestservicename パラメーターには、呼び出すエンタープライズ Bean の Java Naming and Directory Interface (JNDI) ローカル・ビジネス・インターフェースのパス名を指定します。グローバル JNDI 名前空間の JNDI 名を使用します。 その後、Liberty サーバーが、EJB アプリケーションが実装したローカル・ビジネス・インターフェースの execute メソッドを呼び出します。

    要求送信 API の async パラメーターを 0 に設定した場合、API は、応答長と戻り値を返します。その後、メッセージ・データ取得 API を直接呼び出すことができます。

    要求送信 API の async パラメーターを 1 に設定した場合、制御がクライアント・アプリケーションに戻るため、応答長受信 API を呼び出すことができます。

  3. async パラメーターを 1 に設定して要求送信 API を呼び出した場合、async パラメーターを 0 または 1 に設定して応答長受信 API (BBOA1RCL) を呼び出します。 クライアント・アプリケーションは応答長受信 API によって返された応答長を使用して、応答データを保持するのに十分な領域を確保します。

    応答長受信 API の async パラメーターを 0 に設定した場合、API は、応答を受信するまでスレッドをブロックします。

    応答長受信 API の async パラメーターを 1 に設定した場合、API は、応答を受信したかどうかに関係なく、即時に戻ります。

  4. メッセージ・データ取得 API (BBOA1GET) を呼び出して、応答データをクライアント・アプリケーションのバッファーにコピーします。
  5. クライアント・アプリケーションは、すべての要求を送信して接続を解放する準備ができるまで、引き続き、同じ接続ハンドルを使用して、要求を送信し、メッセージ・データを受信できます。接続を解放するために、アプリケーションは接続解放 API (BBOA1CNR) を呼び出します。 接続ハンドルは、接続取得 API 呼び出しで保存して再使用する前に、解放する必要があります。

トピックのタイプを示すアイコン タスク・トピック

ファイル名: twlp_dat_connectejbapi.html