WebSphere Optimized Local Adapters (WOLA) の起動 API を使用して、z/OS® 用のローカル Liberty サーバーにデプロイされているステートレス・セッション Bean への呼び出しを外部アドレス・スペースから行います。
始める前に
最適化されたローカル・アダプター呼び出しのターゲット候補としてエンタープライズ Bean を指定するには、エンタープライズ JavaBean (EJB) アプリケーションは、ローカル・ビジネス・インターフェースとして com.ibm.websphere.ola.ExecuteLocalBusiness インターフェースを実装する必要があります。このインターフェースは、wlp/dev/api/ibm/com.ibm.websphere.appserver.api.zosLocalAdapters_1.0.0.jar ファイル内にあります。
Liberty サーバーが、登録要求の発信元と同じ z/OS イメージ上でアクティブになっている必要があります。登録 API を使用して現行アドレス・スペースが既に登録されていて、ターゲットの最適化ローカル・アダプター・グループにバインドされていることを確認します。外部アドレス・スペースの登録について詳しくは、最適化されたローカル・アダプターを使用した、ローカル Liberty サーバーへの外部アドレス・スペースの登録を参照してください。
このタスクについて
このエンタープライズ Bean を呼び出す方法は、Bean を呼び出す前に応答域の長さが分かっている場合に、簡素化されたパスを提供します。Bean の呼び出し時に応答域の長さが分からないか、さらに柔軟性が必要な場合は、
Liberty の最適化されたローカル・アダプター API を使用した外部アドレス・スペースからのエンタープライズ Bean の呼び出しを参照してください。
手順
- 起動 API (BBOA1INV) を使用して、Bean を呼び出すときに使用するパラメーターを決定します。
この API は、以下の項目のパラメーターを受け入れます。
- 登録 API の呼び出し時に指定した登録名
- 要求タイプ (ローカル EJB 処理要求の場合は、1 に設定する必要があります)
- 呼び出すサービスの名前 (ステートレス・セッション Bean の Java™ Naming and Directory Interface (JNDI) ローカル・ビジネス・インターフェースのパス名でなければなりません)
- サービス名の長さ
- 送信する要求データの開始アドレスを指すポインター
- 送信する要求データの長さ
- 応答データ域の開始アドレスを指すポインター
- 送信する応答データの長さ
- 接続がタイムアウトになるまでの秒数
API パラメーターについて詳しくは、『Liberty for z/OS 上の最適化されたローカル・アダプターの API』を参照してください。
- クライアント・アドレス・スペース内のネイティブ言語アプリケーションから、選択したパラメーターを指定して、呼び出し元について起動 API を呼び出します。 ターゲットの Enterprise JavaBeans (EJB) アプリケーションで execute メソッドが実行されてから、任意のビジネス・ロジックが開始されます。このビジネス・ロジックは、シリアライズされたバイト配列として応答データをネイティブ言語の呼び出し元に戻す前に必要になります。
- 応答データを検討します。 戻りコードおよび理由コードの 0 は、クライアントの起動 API 呼び出しが正常に完了し、応答データと応答データの長さが、呼び出し元によって指定された領域に保存されたことを示します。
- クライアント・アプリケーションは、同じ登録名呼び出しを使用してこれらのステップを繰り返し、必要な数のステートレス・セッション Bean を必要な頻度で呼び出します。
重要: 起動 API では、3 つのプリミティブ関数 Send_Request、Receive_RespLen、および Get_Data のすべてが実行されます。呼び出しスレッドは、応答データを受信して応答域にコピーするまでブロックされます。
タスクの結果
クライアントは、最適化されたローカル・アダプターの起動 API を使用して、
Liberty サーバーからステートレス・セッション Bean を開始します。