Ferne EJB-Provider

Für Anwendungen, die ferne EJB-Beans bereitstellen, müssen Sie berücksichtigen, wie der Zugriff auf ferne EJB-Beans über lokale Clients bei der Migration dieser Anwendung aufrechterhalten werden soll.

Die folgenden Java-Annotationen und -Klassen weisen auf die Verwendung von EJB-Beans hin:

Ferne EJB-Beans werden auch mit den folgenden Elementen in der Datei ejb-jar.xml angezeigt:


<session> <description>Meine Business-Bean</description> <display-name>BusinessLogic -Bean</display-name> <ejb-name>BusinessLogic</ejb-name> <home>com.ibm.ejbs.BusinessLogicHome</home> <remote>com.ibm.ejbs.BusinessLogic</remote> <ejb-class>com.ibm.ejbs.BusinessLogicSession</ejb-class> <session-type>Stateless</session-type> <transaction-type>Container</transaction-type> </session>

Anwendungen, die diesen Code enthalten, stellen EJB-Beans bereit, die über Fernzugriff zugänglich sind. Sofern möglich, sollten Sie die Anwendungen, die auf diese Beans zugreifen, in dieselbe Cloudumgebung migrieren. Außerdem müssen Sie erforderliche Konnektivitätslösungen anwenden, falls über lokalen Clientanwendungen auf diese Beans zugegriffen wird.

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

Lösungsmöglichkeiten

Wenn Ihre Clientanwendung direkt auf diesen fernen EJB-Provider zugreifen kann, nachdem sie migriert wurde, ist keine weitere Aktion erforderlich.

Sollte dies nicht der Fall sein, besteht eine Möglichkeit darin, die EJB-Provideranwendung zusammen mit allen Clientanwendungen, die auf ferne EJB-Beans zugreifen, in die Cloud zu verschieben. Untersuchen Sie die Clientanwendungen auch auf Konnektivitätsprobleme hin. Alternativ können Sie einen VPN-Tunnel wie IBM Secure Gateway für IBM Cloud verwenden, um eine sichere Verbindung zu Ihren bestehenden EJB-Clientanwendungen herzustellen, um auf diesen fernen EJB-Provider zuzugreifen. Weitere Informationen zur Konfiguration einer sicheren Verbindung finden Sie im Abschnitt VPN konfigurieren. Nachdem Sie Ihr Gateway konfiguriert haben, verbinden Sie Ihre Anwendung mit dem neuen Ziel, indem Sie die Host- und Portnummer der Cloud verwenden, die bei der Erstellung des Ziels angegeben wurden. Das folgende Beispiel zeigt eine EJB-Remote-URL:

Wenn Sie eine sichere Verbindung für Aufrufe an ferne EJB-Beans in Clouds konfigurieren, erstellen und installieren Sie ein HTTP-Tunnelungsservlet im Cloudanwendungsserver 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 die EJB-Bean in die Cloud verschoben wird und sich der EJB-Client 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.