logo

EJB란?

EJB는 다음의 약어입니다. 엔터프라이즈 자바 빈 . 안전하고 강력하며 확장 가능한 분산 애플리케이션을 개발하기 위해 Sun Microsystems에서 제공하는 사양입니다.

분산 애플리케이션에 대한 정보를 얻으려면 다음을 방문하세요. RMI 튜토리얼 첫 번째.

EJB 애플리케이션을 실행하려면 다음이 필요합니다. 애플리케이션 서버 Jboss, Glassfish, Weblogic, Websphere 등과 같은 (EJB 컨테이너)는 다음을 수행합니다.

  1. 수명주기 관리,
  2. 보안,
  3. 거래 관리 및
  4. 개체 풀링.

EJB 애플리케이션은 서버에 배포되므로 서버사이드 컴포넌트라고도 합니다.

EJB는 COM( 구성 요소 개체 모델 ) Microsoft에서 제공합니다. 그러나 Java Bean, RMI 및 웹 서비스와는 다릅니다.


Enterprise Java Bean을 사용하는 경우는 언제입니까?

  1. 애플리케이션에는 원격 액세스가 필요합니다. . 즉, 배포됩니다.
  2. 애플리케이션은 확장 가능해야 합니다. . EJB 애플리케이션은 로드 밸런싱, 클러스터링 및 장애 조치를 지원합니다.
  3. 애플리케이션에는 캡슐화된 비즈니스 로직이 필요합니다. . EJB 애플리케이션은 프리젠테이션 계층과 영구 계층에서 분리됩니다.

엔터프라이즈 Java Bean의 유형

Java에는 3가지 유형의 Enterprise Bean이 있습니다.

세션빈

세션 빈에는 로컬, 원격 또는 웹 서비스 클라이언트가 호출할 수 있는 비즈니스 로직이 포함되어 있습니다.

메시지 기반 빈

Session Bean과 마찬가지로 비즈니스 로직을 포함하지만 메시지를 전달하여 호출됩니다.

엔터티 빈

데이터베이스에 지속될 수 있는 상태를 캡슐화합니다. 더 이상 사용되지 않습니다. 이제는 JPA(Java Pertant API)로 대체되었습니다.


RMI와 EJB의 차이점

RMI와 EJB는 모두 다른 JVM에서 다른 JVM(원격 객체라고도 함)에서 실행 중인 객체에 액세스하는 서비스를 제공합니다. RMI와 EJB의 차이점은 다음과 같습니다.

RMIEJB
RMI에서는 보안, 트랜잭션 관리, 객체 풀링 등과 같은 미들웨어 서비스를 Java 프로그래머가 수행해야 합니다.EJB에서는 미들웨어 서비스가 EJB Container에 의해 자동으로 제공됩니다.
RMI는 서버측 구성요소가 아닙니다. 서버에 배포할 필요는 없습니다.EJB는 서버 측 구성 요소이므로 서버에 배포해야 합니다.
RMI는 소켓 프로그래밍 위에 구축되었습니다.EJB 기술은 RMI 위에 구축되었습니다.

EJB와 웹서비스

EJB에서는 Bean 컴포넌트와 Bean 클라이언트 모두 Java 언어로 작성되어야 합니다.

Bean 클라이언트를 다음과 같은 다른 언어로 작성해야 하는 경우 .그물 , PHP 등등, 우리는 함께 가야 해 웹 서비스 (SOAP 또는 REST). 따라서 웹 서비스를 갖춘 EJB가 더 나은 옵션이 될 것입니다.


EJB의 단점

  1. 애플리케이션 서버 필요
  2. Java 클라이언트만 필요합니다. 다른 언어 클라이언트의 경우 웹서비스를 이용해야 합니다.
  3. ejb 애플리케이션을 이해하고 개발하는 것이 복잡합니다.