EJB는 다음의 약어입니다. 엔터프라이즈 자바 빈 . 안전하고 강력하며 확장 가능한 분산 애플리케이션을 개발하기 위해 Sun Microsystems에서 제공하는 사양입니다.
분산 애플리케이션에 대한 정보를 얻으려면 다음을 방문하세요. RMI 튜토리얼 첫 번째.
EJB 애플리케이션을 실행하려면 다음이 필요합니다. 애플리케이션 서버 Jboss, Glassfish, Weblogic, Websphere 등과 같은 (EJB 컨테이너)는 다음을 수행합니다.
- 수명주기 관리,
- 보안,
- 거래 관리 및
- 개체 풀링.
EJB 애플리케이션은 서버에 배포되므로 서버사이드 컴포넌트라고도 합니다.
EJB는 COM( 구성 요소 개체 모델 ) Microsoft에서 제공합니다. 그러나 Java Bean, RMI 및 웹 서비스와는 다릅니다.
Enterprise Java Bean을 사용하는 경우는 언제입니까?
- 애플리케이션에는 원격 액세스가 필요합니다. . 즉, 배포됩니다.
- 애플리케이션은 확장 가능해야 합니다. . EJB 애플리케이션은 로드 밸런싱, 클러스터링 및 장애 조치를 지원합니다.
- 애플리케이션에는 캡슐화된 비즈니스 로직이 필요합니다. . EJB 애플리케이션은 프리젠테이션 계층과 영구 계층에서 분리됩니다.
엔터프라이즈 Java Bean의 유형
Java에는 3가지 유형의 Enterprise Bean이 있습니다.
세션빈
세션 빈에는 로컬, 원격 또는 웹 서비스 클라이언트가 호출할 수 있는 비즈니스 로직이 포함되어 있습니다.
메시지 기반 빈
Session Bean과 마찬가지로 비즈니스 로직을 포함하지만 메시지를 전달하여 호출됩니다.
엔터티 빈
데이터베이스에 지속될 수 있는 상태를 캡슐화합니다. 더 이상 사용되지 않습니다. 이제는 JPA(Java Pertant API)로 대체되었습니다.
RMI와 EJB의 차이점
RMI와 EJB는 모두 다른 JVM에서 다른 JVM(원격 객체라고도 함)에서 실행 중인 객체에 액세스하는 서비스를 제공합니다. RMI와 EJB의 차이점은 다음과 같습니다.
| RMI | EJB |
|---|---|
| RMI에서는 보안, 트랜잭션 관리, 객체 풀링 등과 같은 미들웨어 서비스를 Java 프로그래머가 수행해야 합니다. | EJB에서는 미들웨어 서비스가 EJB Container에 의해 자동으로 제공됩니다. |
| RMI는 서버측 구성요소가 아닙니다. 서버에 배포할 필요는 없습니다. | EJB는 서버 측 구성 요소이므로 서버에 배포해야 합니다. |
| RMI는 소켓 프로그래밍 위에 구축되었습니다. | EJB 기술은 RMI 위에 구축되었습니다. |
EJB와 웹서비스
EJB에서는 Bean 컴포넌트와 Bean 클라이언트 모두 Java 언어로 작성되어야 합니다.
Bean 클라이언트를 다음과 같은 다른 언어로 작성해야 하는 경우 .그물 , PHP 등등, 우리는 함께 가야 해 웹 서비스 (SOAP 또는 REST). 따라서 웹 서비스를 갖춘 EJB가 더 나은 옵션이 될 것입니다.
EJB의 단점
- 애플리케이션 서버 필요
- Java 클라이언트만 필요합니다. 다른 언어 클라이언트의 경우 웹서비스를 이용해야 합니다.
- ejb 애플리케이션을 이해하고 개발하는 것이 복잡합니다.