![[z/OS]](../images/ngzos.gif)
Enterprise Java Bean ターゲットに対する WebSphere Optimized Local Adapter (WOLA) のリモート作業要求
このフィーチャーは、バッチ、CICS® などのクライアント・アプリケーションが、そのクライアントが必要とするビジネス・ロジックの実行や結果を提供するアプリケーションをホストしているリモートの WebSphere® Application Server のサーバー・インスタンスと通信できるようにするものです。 リモート呼び出しは、BBOA1INV/BBGA1INV API と BBOA1SRQ/BBGA1SRQ API および、プロキシー・アプリケーション (RemoteEJBProxy) を活用して行われます。このプロキシー・アプリケーションは WebSphere Application Server for z/OS® に付属しています。
- リモート WebSphere Application Server インスタンスの名前空間をローカルの z/OS WebSphere Application Server に統合して、ローカル・サーバーがリモート・サーバー上のアプリケーションを検索できるようにします。 リモート・アプリケーションは、execute() と呼ばれるメソッドを実装する、ステートレス Enterprise Java™ Bean である必要があります。このメソッドは、com.ibm.websphere.ola.Execute インターフェースでの定義のとおり、入力としてバイト配列を受け取り、出力としてバイト配列を返します。 また、EJB 2.1 以前の仕様を使用する場合、EJB ホーム・インターフェースに com.ibm.websphere.ola.ExecuteHome という名前を指定し、リモート・インターフェースに com.ibm.websphere.ola.Execute という名前を指定することも必要になります。また、EJB 3.0 仕様を使用する場合は、com.ibm.websphere.ola.ExecuteHome を指定するアノテーション @RemoteHome を定義する必要があります。 これらのインターフェースは、WebSphere Application Server for z/OS および分散プラットフォーム用の WebSphere Application Server のいずれにおいてもランタイムに使用可能です。 リモート・アプリケーション開発の目的で、前述したインターフェースは、ola_apis.jar アセンブリー・ツールの一部として、 WebSphere Application Server for z/OS に付属しています。 これらのインターフェースは、アプリケーション EAR ファイルとパッケージ化しないでください。
- 最適化されたローカル・アダプターのプロキシー EAR (ola_proxy.ear) ファイルをインストールします。このファイルには、ローカルの z/OS WebSphere Application Server サーバー・インスタンス上の RemoteEJBProxy アプリケーションが含まれます。
EAR ファイルは、WebSphere Application
Server for z/OS ファイル・システムの $(WAS_INSTALL_ROOT)/installableApps ディレクトリーで見つけることができます。
remoteEJBProxy アプリケーションは、デフォルトで JNDI 名: ejb/com/ibm/ws390/ola/jca/RemoteEJBProxyHome にバインドされます。 何らかの理由でデフォルト値を変更する必要がある場合は、管理コンソール・ページの「アプリケーション」>「ola_proxy」>「EJB JNDI 名」>「すべてのインターフェースの JNDI 名」を使用して、プロキシー・アプリケーションのターゲット・リソース JNDI 名をカスタマイズすることができます。 JNDI 名が更新された場合、『最適化されたローカル・アダプターの環境変数 (Optimized local adapters environment variables)』のトピックで説明されているとおりに ola_remote_ejb_proxy_jndiname 環境変数を設定して、WebSphere ランタイムに、その変更を認識させる必要があります。
remoteEJBProxy アプリケーションのデフォルトの JNDI 名の変更はオプションのステップであることに注意してください。 変更する必要がない限り、これを実行する必要はありません。
- サーバーを再始動します。
起動 API (BBOA1INV/BBGA1INV) と 要求送信 API (BBOA1SRQ/BBGA1SRQ) の呼び出し手順は、ローカルの呼び出しの手順と同じですが、唯一異なるのは、『 z/OS API 用の最適化されたローカル・アダプター 』のトピックに説明があるように、呼び出し要求タイプ・パラメーター (requesttype) を 2 に設定する必要があることです。
起動 API または要求送信 API の呼び出しに指定されるサービス名 (JNDI 名) は、ローカルの WebSphere Application Server for z/OS が、リモート・サーバー用の統合 JNDI 名前空間を使用してリモート・アプリケーションを検索するときに使用する名前である必要があります。 例えば、リモート・サーバーの名前空間が、ロケーション remote/server5 で統合されていて、アプリケーションが JNDI 名 ejb/myRemoteApp を使用してリモート・サーバーにインストールされている場合、起動 API または要求送信 API に指定されるサービス名は remote/server5/ejb/myRemoteApp になります。
このフィーチャーは、クライアントが開始したグローバル・トランザクション内でリモート・アプリケーションを呼び出す機能を提供します。 グローバル・トランザクション内で CICS クライアントを使用する場合、CICS が、グローバル・トランザクションをコミットするコマンドを実行した後にトランザクションのロールバックを検出すると、その結果は ABEND ASP3 になります。 これは、CICS がそのようなシナリオを処理するという前提で、起こり得るケースです。 このロールバック動作もまた、EJB 呼び出しの処理中にエラー条件が発生して、グローバル・トランザクションの結果がロールバック以外にはなり得ないような場合に、起こり得る動作です。