2012-07-23 2 views
2

EJB가 무겁다는 것을 여러 번 읽었습니다 ... 어쨌든 어제 밤 EJB에 대한 Java EE 6 자습서를 읽었으며 Stateless 또는 Singletons와 같은 주석을 가질 수 있다는 것을 제외하고는 일반 Java 객체처럼 보입니다. 그 외에도 (아주 기본적인) 자습서에 포함 된 기능은 MVC 응용 프로그램의 모델 클래스와 마찬가지로 매우 표준 적이었습니다.엔터 프라이즈 빈이 'heavyweight'로 만드는 이유는 무엇입니까?

  1. 왜 EJB에 매우 부정적인 태도를 보입니까?
  2. 대다수의 웹 앱에서 불필요하다고 말하는 이유는 무엇입니까?
  3. 그리고 '헤비급'으로 만드는 것은 무엇입니까?
+1

EJB는 트랜잭션, 메시징, RPC 등 엔터프라이즈 애플리케이션에 많은 이점을 제공합니다. 추가 디자인, 코딩 및 앱 서버는 적절한 유형의 EJB를 선택하지 않으면 "중량"으로 간주 될 수 있습니다. 그것은 당신의 성능에 장애가 될 수 있습니다. 예를 들어, Entity EJB는 종종 Stateless Session EJB가 충분할 수있는 성능 붕괴의 원인이됩니다. EJB는 "lookup"과 인스턴스 생성이 필요하며 원격 클라이언트는 클라이언트 라이브러리와 일반적으로 JBoss, WebLogic, WebSphere 같은 J2EE 어플리케이션 서버를 필요로합니다. JBoss는 오픈 소스이지만 후자는 2 $$$입니다. –

+0

-1 근원이 그 점의 무엇이든을 제공 할 수없는 경우에, 아마 그 (것)들은 아주 좋지 않다. 또한 EJB에는 오랜 역사가 있습니다. Java EE6에서 볼 수 있듯이 EJB 3.1은 2004 년에 보았던 것과 다를 게 없습니다. 소스의 날짜도 확인하는 것이 좋습니다. 또한이 질문은 매우 주관적이고 매우 개방적입니다. – Justin

+0

@MikeS EJB 엔티티 빈즈 (JPA 엔티티와 혼동하지 마십시오!)는 거의 사용되지 않으며 거의 ​​사용되지 않습니다. EJB는 조회가 필요 없지만 쉽게 주입 할 수 있습니다. J2EE 어플리케이션 서버는 무엇입니까? 방금 2004 년부터 타임 캡슐에 도착 했습니까? –

답변

5

중량이 큰 EJB bean의 몇 가지 원인이 있습니다.

첫 번째 것은로드 존슨의 수사학입니다. 사람들이 Spring을 채택하려면 Rod가 EJB가 헤비급 (그리고 스프링이 자동으로 가벼운)이라는 아이디어를 전파하는 것이 중요했습니다. Springsource는 상업적인 조직이고 Rod는 영리한 사업가입니다. Spring을 사용하는 사람이 많을수록 SpringSource로부터 지원 계약을 맺을 비율이 더 커집니다.

두 번째 소스는 EJB를 전혀 사용해 본 적이없는 스프링 광 고라 만, 항상로드와 EJB가 헤비급 인 다른 열렬한 사람들로부터 들었습니다. 그들은 단순히 들었던 노래를 자랑하고 있습니다.

세 번째 소스는 2004 년 이전에 EJB 2에 의해 구워진 사람들입니다. 이 EJB 버전은 실제로 중량급이었습니다. 사람들은 다시 EJB로 돌아 섰고 뒤돌아 보지도 않고 매우 가볍고 사용하기 쉬운 기술을 보았을 때 EJB 3이 발생했다는 것을 완전히 잊어 버렸습니다.

관련 문제