Ferne EJB-Suchen

Für Anwendungen, die ferne EJB-Beans suchen oder aufrufen, können Sie festlegen, wie der Zugriff auf ferne EJB-Beans über die Cloud erfolgt, oder alle zugehörigen EJB-Beans in die Cloud migrieren.

In Java-Code zeigen javax.ejb.EJB-Annotationen mit einem lookup-Element, das den java:global- oder corbaname:-Namespace verwendet, an, dass möglicherweise eine ferne EJB verwendet wird. Wenn sich die EJB, die in der Suche angegeben ist, in einer anderen Anwendung befindet, können Sie diese Anwendung mit Ihrer Anwendung in die Cloud migrieren.

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

Für Implementierungsdeskriptoren weist auch ein <ejb-ref>-Element in einer Datei application.xml, ejb-jar.xml oder web.xml mit einem Element <home> oder <remote> auf die Verwendung einer fernen EJB-Bean hin.

  <ejb-ref> <ejb-ref-name>CartHomeRemote</ejb-ref-name> <ejb-ref-type>Sitzung</ejb-ref-type> <home>com.ibm.ejbs.CartHomeRemote</home> <remote>com.ibm.ejbs.CartRemote</remote> </ejb-ref>

Diese Regel wird nur einmal pro Eclipse-Projekt oder Java-Archiv markiert.

Lösungsmöglichkeiten

Wenn Ihre Clientanwendung direkt auf den fernen EJB-Provider zugreifen kann, ist keine weitere Aktion erforderlich.

Wenn dies nicht der Fall ist, besteht eine Möglichkeit darin, die Anwendungen, die die fernen EJB-Beans enthalten, bei der Migration dieser Anwendung ebenfalls in die Cloud zu verschieben. Untersuchen Sie außerdem diese Anwendungen auf Konnektivitätsprobleme hin. Alternativ können Sie einen VPN-Tunnel wie IBM Secure Gateway in IBM Cloud verwenden, um eine sichere Verbindung für die Suche nach Ihrem bestehenden fernen Provider für lokale EJB-Beans herzustellen. Weitere Informationen zur Konfiguration einer sicheren Verbindung finden Sie im Abschnitt VPN konfigurieren. Geben Sie in der Konfiguration für EJB-Suchen im sicheren Client als Ziel die lokale JNDI-Baumstruktur ein. Verwenden Sie die aus dieser Konfiguration zurückgegebenen Host- und Portdaten für Ihre sichere Cloudverbindung in einem der folgenden Formate:

Ändern Sie die Provider-URL in den InitialContext-Eigenschaften oder in den JNDI-Eigenschaften so, dass Host und Port der Cloud verwendet werden.

Wenn Sie eine sichere Verbindung für Aufrufe an ferne EJB-Beans an lokalen Standorten konfigurieren, erstellen und installieren Sie ein HTTP-Tunnelungsservlet im lokalen Anwendungsserver und aktivieren Sie Tunnelung im ORB der Clientseite. Weitere Informationen finden Sie unter HTTP-Tunnelung aktivieren. Konfigurieren Sie den sicheren Client so, dass er auf das HTTP-Tunnelungsservlet verweist, und verwenden Sie die aus der Konfiguration zurückgegebenen Host- und Portwerte für Ihre sichere Cloudverbindung in einem Format wie im folgenden Beispiel:

Sie können dieses Verfahren verwenden, wenn der EJB-Client in die Cloud verschoben wird und sich die EJB-Bean auf einem lokalen System befindet und umgekehrt.

Anmerkung: Liberty für Java-Anwendungen, die ferne EJB-Beans verwenden, kann in IBM Cloud implementiert werden. Die fernen EJB-Beans sind jedoch wegen Portbeschränkungen in der IBM Cloud-Umgebung nicht über Fernzugriff über das CORBA/IIOP-Protokoll zugänglich. Weitere Informationen zu Liberty for Java in IBM Cloud finden Sie unter In IBM Cloud unterstützte Liberty-Features.