Pour les applications fournissant des beans EJB distants, réfléchissez à la manière de maintenir l'accès à ces beans depuis les clients locaux lors de la migration de cette application.
Les annotations et classes Java suivantes indiquent l'utilisation de beans EJB distants :
javax.ejb.Remotejavax.ejb.RemoteHomejavax.ejb.EJBObjectjavax.ejb.EJBHome
Les beans EJB distants sont également indiqués par les éléments suivants dans le fichier ejb-jar.xml :
<entity> qui contient un élément <home> ou <remote><session> qui contient un élément <home>, <remote> ou
<business-remote>, comme illustré dans l'exemple suivant :
<session> <description>Mon bean métier</description> <display-name>beanBusinessLogic</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>Sans état</session-type> <transaction-type>Conteneur</transaction-type> </session>
Les applications qui contiennent ce code fournissent des beans EJB accessibles à distance. Si possible, envisagez de migrer les applications qui ont accès à ces beans vers le même environnement de cloud. Envisagez également d'utiliser des solutions de connectivité si ces beans doivent être accessibles par les applications client locales.
Cette règle est signalée une fois par projet Eclipse ou par archive Java.
Si votre application client peut accéder directement à ce fournisseur d'EJB distant après son déplacement, aucune action supplémentaire n'est requise.
Sinon, vous pouvez déplacer dans le cloud l'application du fournisseur EJB avec toutes les applications client qui accèdent aux beans EJB distants. Analysez les applications client à la recherche de problèmes de connectivité. Vous pouvez également utiliser un tunnel VPN, par exemple IBM Cloud Secure Gateway, pour établir une connexion sécurisée permettant à vos applications client EJB locales d'accéder à ce fournisseur EJB distant. Pour plus d'informations sur la configuration d'une connexion sécurisée, voir Configuration d'un VPN. Après avoir configuré votre passerelle, connectez votre application à la nouvelle destination en utilisant l'hôte et le numéro de port de cloud fournis lors de la création de la destination. L'exemple suivant illustre une URL d'EJB distant :
Lorsque vous configurez une connexion sécurisée pour des appels à des EJB distants dans le cloud, créez un servlet de tunnellisation HTTP sur le serveur de l'application dans le cloud et activez la tunnellisation dans la fonction ORB côté client. Pour plus d'informations, voir Activation des tunnels HTTP. Configurez le client sécurisé de sorte qu'il pointe vers le servlet de tunnellisation HTTP, puis utilisez l'hôte et le port renvoyés par la configuration, en respectant le format suivant, pour établir la connexion sécurisée du cloud :
Vous pouvez utiliser cette technique lorsque le bean EJB est déplacé vers le cloud et que le client EJB est local, et inversement.
Remarque : Les applications Liberty for Java utilisant des beans EJB distants peuvent être déployées vers un environnement d'exécution instantanée IBM Cloud. Toutefois, les beans EJB distants ne sont pas accessibles à distance avec le protocole CORBA/IIOP en raison des restrictions de port dans l'environnement IBM Cloud. Pour plus d'informations sur Liberty or more information about Liberty for Java on IBM Cloud, voir Liberty features supported in IBM Cloud.