원격 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.xml, ejb-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 아카이브당 한 번씩 플래그가 지정됩니다.

해결 방법

애플리케이션이 EJB 원격 제공자에 직접 액세스할 수 있는 경우에는 추가 조치가 필요하지 않습니다.

그렇지 않은 경우, 한 가지 옵션은 이 애플리케이션을 마이그레이션할 때 원격 EJB Bean을 포함하는 애플리케이션 또한 클라우드로 이동하는 것입니다. 해당 애플리케이션에서 연결성 문제도 분석하십시오. 또는 IBM Cloud Secure Gateway와 같은 VPN 터널을 사용하여 기존 사내 구축형 EJB 원격 제공자를 검색하기 위한 보안 연결을 작성할 수 있습니다. 보안 연결 구성에 대한 자세한 정보는 VPN 구성을 참조하십시오. EJB 검색의 경우, 보안 클라이언트에서 사내 구축형 JNDI 트리로 대상을 구성하십시오. 클라우드 보안 연결에 대한 구성에서 리턴된 호스트 및 포트를 다음과 같은 형식 중 하나로 사용하십시오.

클라우드 호스트 및 포트를 사용하도록 InitialContext 특성 또는 JNDI 특성에서 제공자 URL을 수정하십시오.

원격 사내 구축형 EJB Bean에 대한 호출의 보안 연결을 구성할 때는 사내 구축형 애플리케이션 서버에 HTTP 터널링 서블릿을 작성 및 설치하고 클라이언트측 ORB에서 터널링을 사용하십시오. 자세한 정보는 HTTP 터널링 사용을 참조하십시오. HTTP 터널링 서블릿을 가리키도록 보안 클라이언트를 구성하고, 다음과 같은 형식으로 클라우드 보안 연결에 대한 구성에서 리턴된 호스트 및 포트를 사용하십시오.

EJB 클라이언트가 클라우드로 이동되고 EJB Bean이 사내 구축형인 경우와 그 반대의 경우에 모두 이 기술을 사용할 수 있습니다.

참고: 원격 EJB Bean을 사용하는 Liberty for Java 애플리케이션을 IBM Cloud Instant Runtime에 배치할 수 있습니다. 그러나 IBM Cloud 환경의 포트 제한사항 때문에 CORBA/IIOP 프로토콜을 사용하여 원격으로 원격 EJB Bean에 액세스할 수 없습니다. Liberty for Java on IBM Cloud에 대한 자세한 정보는 IBM Cloud에서 지원되는 Liberty 기능을 참조하십시오.