2011-05-04 2 views
0

EJB3를 사용하지 않았지만 튜토리얼을 읽으면 EJB3는 JPA를 통해 데이터베이스의 데이터를 조작하는 것처럼 보입니다 (당연히 다른 비즈니스 로직을 포함하고 있습니다). 궁금한 점이 있다면, 데이터베이스가 없어도 EJB3를 사용하는 것이 여전히 유익한가 아니면 단지 애플리케이션에 복잡성을 추가하는 것일까 요? POJO가 구현을위한 더 나은 선택이 될 것입니까?데이터베이스가 필요없는 경우에도 EJB3를 사용하는 것이 여전히 유익한가요?

답변

4

EJB 이점 중 상당 부분은 트랜잭션과 지속성에서 비롯된 것입니다.

하지만 EJB가 없어도 EJB를 활용할 수 있습니다. 입증 된 클러스터링 및 밸런싱 모델을 제공 할 수 있습니다. 선언적 보안을 제공 할 수 있습니다. JMS 대기열/주제 및 타이머를 수신하는 편리한 방법 인 MDB를 제공 할 수 있습니다.

위의 모든 작업은 Spring과 같은 타사 라이브러리를 사용하여 수행 할 수 있습니다. EJB는 매우 일관성이 있지만, 예를 들어 클러스터링과 보안을 위해 두 제품을 결합해야 할 수도 있으며, 제대로 작동하고 많은 접착제가 필요하지는 않을 수도 있습니다.

+0

JEE6 스택을 구현하는 GlassfishV3을보고 있는데, 이는 함께 접착제를 붙이기로되어 있습니다. – sarahTheButterFly

+0

클러스터링 및 보안에 관한 부분에 동의하지 않습니다. Spring은 JAAS와 통합 될 수 있으며 Tomcat은 클러스터링을 제공 할 수 있습니다. Spring 애플 리케이션은 일반적으로 Java EE 애플리케이션 서버에 전개되므로 EJB 용으로 제공되는 모든 서비스는 Spring POJO에도 발생한다. – duffymo

+0

@duffymo 어떤 방식으로 EJB가 보안/클러스터링을 제공한다고 동의하지 않습니까? 분명히 Spring/Tomcat은 대용품이지만 EJB 기능 세트를 무효화하지는 않습니다. –

2

EJB는 라이프 사이클, 스레딩 및 기타 서비스를 관리하는 응용 프로그램 서버에 배포되는 트랜잭션 방식의 분산 구성 요소입니다. 지속성은 EJB의 한 유형입니다. 엔티티 빈을 사용하지 않으려는 경우에도 여전히 stateless, stateful 또는 message EJB가 유용 할 수 있습니다.

그렇다면 상태 저장, 상태 비 저장, 영구 또는 메시지 구동 POJO 구성 요소를 만들 수 있습니다. EJB가 필요하지 않습니다. Spring과 같은 것이 좋은 대안이 될 수 있습니다.

관련 문제