W przypadku aplikacji, które udostępniają zdalne komponenty EJB, należy rozważyć, w jaki sposób obsługiwać dostęp do zdalnych komponentów EJB z klientów w siedzibie przy migrowaniu tej aplikacji.
Następujące adnotacje i klasy Java wskazują na użycie zdalnych komponentów EJB:
javax.ejb.Remotejavax.ejb.RemoteHomejavax.ejb.EJBObjectjavax.ejb.EJBHome
Zdalne komponenty EJB są również wskazywane przez następujące elementy w
pliku ejb-jar.xml:
<entity>, który zawiera element
<home> lub <remote><session>, który zawiera element
<home>, <remote> lub
<business-remote>, jak pokazano w przykładzie poniżej:
<session> <description>Mój komponent 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>Bezstanowy</session-type> <transaction-type>Kontener</transaction-type> </session>
Aplikacje zawierające ten kod udostępniają komponenty EJB, do których można uzyskać zdalny dostęp. Jeśli jest to możliwe, należy rozważyć migrację aplikacji, które uzyskują dostęp do tych komponentów bean, do tego samego środowiska chmury. Należy także rozważyć rozwiązania dotyczące połączeń, które są potrzebne, jeśli do tych komponentów bean będą uzyskiwać dostęp aplikacje klienckie w siedzibie.
Ta reguła jest oznaczana jednorazowo dla projektu Eclipse lub archiwum Java.
Jeśli aplikacja kliencka ma bezpośredni dostęp do tego zdalnego dostawcy komponentów EJB po jego przeniesieniu, nie jest wymagane żadne dalsze działanie.
W przeciwnym wypadku jedną z opcji jest przeniesienie aplikacji dostawcy EJB do chmury z dowolnymi aplikacjami klienckimi, które uzyskują dostęp do zdalnych komponentów EJB. Należy również przeanalizować aplikacje klienckie pod kątem problemów z połączeniem. Alternatywnie można użyć tunelu VPN, na przykład IBM Cloud Secure Gateway, do utworzenia bezpiecznego połączenia dla istniejących aplikacji klienckich EJB w siedzibie w celu uzyskania dostępu do tego dostawcy zdalnych komponentów EJB. Więcej informacji o konfigurowaniu bezpiecznego połączenia zawiera sekcja Konfigurowanie sieci VPN. Po skonfigurowaniu bramy należy połączyć aplikację z nowym miejscem docelowym, korzystając z hosta chmury i numeru portu, który jest udostępniany podczas tworzenia miejsca docelowego. Poniższy przykład przedstawia adres URL zdalnego komponentu EJB:
Przy konfigurowaniu bezpiecznego połączenia dla wywołań do zdalnych komponentów EJB w chmurze, należy utworzyć i zainstalować serwlet tunelowania HTTP na serwerze aplikacji w chmurze i włączyć tunelowanie w brokerze ORB po stronie klienta. Więcej informacji na ten temat zawiera sekcja Włączanie tunelowania HTTP. Należy skonfigurować zabezpieczonego klienta w taki sposób, aby wskazywał serwlet tunelowania HTTP, i użyć hosta oraz portu zwróconych z konfiguracji dla bezpiecznego połączenia chmury w następującym formacie:
Tej techniki można użyć zarówno wówczas, gdy komponent EJB jest przenoszony do chmury, a klient EJB jest w siedzibie, jak i w sytuacji odwrotnej.
Uwaga: aplikacje Liberty for Java używające zdalnych komponentów EJB mogą zostać wdrożone w środowisku wykonawczym IBM Cloud Instant Runtime, jednak zdalne komponenty EJB nie są zdalnie dostępne przy użyciu protokołu CORBA/IIOP z powodu ograniczeń dotyczących portów w środowisku IBM Cloud. Więcej informacji na temat produktu Liberty for Java w produkcie IBM Cloud można znaleźć w dokumentacji Składniki serwera Liberty obsługiwane w produkcie IBM Cloud.