リモート EJB ルックアップ

リモート EJB Bean をルックアップするか呼び出すアプリケーションの場合は、クラウドからリモート EJB Bean へのアクセスを維持する方法について考慮するか、関連するすべての EJB Bean をクラウドにマイグレーションすることを検討してください。

Java コードで、java:global または corbaname: の名前空間を使用する lookup エレメントが含まれている javax.ejb.EJB アノテーションは、リモート EJB が使用されている可能性があることを示しています。ルックアップに指定されている EJB が異なるアプリケーションに含まれている場合は、そのアプリケーションをこのアプリケーションとともにクラウドにマイグレーションすることを検討してください。

  @EJB(lookup="java:global/myApp/myModule/MyBeanComponent")
		

デプロイメント記述子の場合、<home> エレメントまたは <remote> エレメントが含まれている、application.xmlejb-jar.xml、または web.xml の各ファイル内の <ejb-ref> エレメントもリモート EJB の使用を示しています

  <ejb-ref> <ejb-ref-name>CartHomeリモート</ejb-ref-name> <ejb-ref-type>セッション</ejb-ref-type> <home>com.ibm.ejbs.CartHomeRemote</home> <remote>com.ibm.ejbs.CartRemote</remote> </ejb-ref>

この規則では、Eclipse プロジェクトごとまたは Java アーカイブごとに 1 回フラグが立てられます。

解決方法

アプリケーションが EJB リモート・プロバイダーに直接アクセスできる場合、追加のアクションは必要ありません。

そうでない場合、1 つのオプションとして、このアプリケーションをマイグレーションするときに、リモート EJB Bean を含んでいるアプリケーションもクラウドに移動する方法があります。また、接続の問題についてそうしたアプリケーションを分析します。あるいは、IBM Cloud Secure Gateway などの VPN トンネルを使用して、既存のオンプレミスの EJB リモート・プロバイダーをルックアップするためのセキュア接続を作成できます。セキュア接続の構成について詳しくは、『VPN の構成』を参照してください。EJB ルックアップについて、オンプレミスの JNDI ツリーへのセキュア・クライアントでの宛先の構成を行います。以下の形式のうちの 1 つで、クラウド・セキュア接続の当該構成から返されたホストおよびポートを使用します。

クラウド・ホストおよびポートを使用するように、InitialContext プロパティーまたは JNDI プロパティー内のプロバイダー URL を変更します。

オンプレミスのリモート EJB Bean への呼び出しのためにセキュア接続を構成する際には、オンプレミスのアプリケーション・サーバーで HTTP トンネリング・サーブレットを作成およびインストールし、クライアント・サイド ORB でトンネリングを有効にします。詳しくは、 HTTP トンネリングの使用可能化を参照してください。 HTTP トンネリング・サーブレットを指すようにセキュア・クライアントを構成します。以下の形式でクラウド・セキュア接続の構成から返されるホストとポートを使用します。

EJB クライアントがクラウドに移動され、EJB Bean がオンプレミスにある場合、またはその逆の場合に、この手法を使用できます。

: リモート EJB Bean を使用する Liberty for Java アプリケーションは、IBM Cloud インスタント・ランタイムにデプロイできます。ただし、IBM Cloud 環境のポートに関する制限のため、CORBA/IIOP プロトコルを使用してリモート EJB Bean にリモート・アクセスすることはできません。IBM Cloud 上の Liberty for Java について詳しくは、 IBM Cloud でサポートされる Liberty フィーチャーを参照してください。