문제

아키텍처 시나리오가 있는데 여러분의 의견을 듣기 위해 논의하고 싶습니다.

나는 이 둘 중 하나를 선택할 수 있습니다. (이것은 나에게 부과된 제약입니다.)

  1. EJB3+JPA 사용 - Spring/Hibernate 없음
  2. POJO + JDBC - 다시 Spring/Hibernate 없음

모두 통합해야 하는 일련의 웹 응용 프로그램(인트라넷만 해당)이 있습니다.데이터베이스 수준에는 3~4개의 Oracle 데이터베이스(및 데이터베이스당 약 40~50개의 테이블)가 있습니다.일부 애플리케이션은 일부 쿼리에 대해 둘 이상의 데이터베이스와 상호 작용할 수 있습니다.동시 사용자 수는 100명 미만입니다.애플리케이션당 사용자/대상의 범위는 10~6000(최대)입니다.

모든 애플리케이션은 하나의 서버에 배포되며 데이터베이스와 서버가 동일한 시스템에 있을 가능성이 매우 높습니다.

대부분의 사용 사례는 일부 비즈니스 프로세스, 자동화된 작업 등을 포함하는 CRUD 기반(일부는 ORM에 좋은 도메인 모델을 제공할 수 있지만 일부는 그렇지 않을 수 있음)이며 향후 일부 응용 프로그램에 대해 SAP와 통합해야 할 수도 있습니다.

이 경우 EJB3가 애플리케이션의 확장성을 높여줄 것이라고 생각하시나요? 아니면 단지 복잡성만 더할 뿐이라고 생각하시나요?POJO를 사용하여 디자인하면 이를 적용할 수 있습니까? 아무 이유 없이 복잡성을 추가하고 싶지 않습니다.나는 Spring과 Hibernate를 위해 로비를 시도했지만 성공하지 못했습니다.

자세한 내용이 필요하면 알려주세요.

편집하다:애플리케이션 서버에 대해 언급하는 것을 잊었습니다.WAS 7이에요.

도움이 되었습니까?

해결책

JPA가 어떻게 허용되는지 알 수는 없지만 최대 절전 모드는 그렇지 않을 것입니다. 최대 절전 모드가 JPA 구현이라는 점을 감안할 때 그다지 의미가 없습니다. OpenJPA와 같은 또 다른 JPA 구현이 정상입니까?

기존 서버가 있거나 아직 선택되지 않은 서버에 앱을 설치하는 경우 언급하지 않았습니다. 이 결정이 이미 이루어 졌습니까? 그렇다면, 그것은 당신의 선택을 지시 할 수 있습니다. 전체 최신 Javaee 서버에는 EJB3 및 JPA 구현이 이미 제공됩니다.

서버가 EJB3 지원 서버가 아닌 경우 EJB3은 훨씬 덜 매력적입니다.

그러나 Spring 및 Hibernate와 같은 현명한 기술이 배제 되었다면 Pojos와 JDBC와 결합 할 수있는 Ibatis와 같은 간단한 프레임 워크가 항상 배제되었습니다.

다른 팁

EJB와 JPA는 단지 인터페이스일 뿐입니다.이를 구현하려면 여전히 누군가가 필요합니다.따라서 Spring+Hibernate가 가능하지 않다면 이는 다른 프레임워크에 대해 OK를 얻을 수 없으면 JPA가 없음을 의미합니다(...오류 ...아마도 탑링크겠죠?거기에 있습니까? 아무것 Hibernate 기반이 아닌가?)

POJO와 JDBC에 갇혀 있다면 다음을 살펴보는 것이 좋습니다. 성배.그러면 당신의 삶이 훨씬 더 단순해질 것입니다.

첫 번째 수준의 토론은 {pojo + jdbc, 손으로 끈기}를 {framework for peristence}와 비교하는 것입니다. (나는 또한 당신이 흥미로운 서비스가 필요하다고 생각할 것입니다. 그래서 나는 당신이 자신의 지속성을 굴려야하더라도 EJB3/SLSB 또는 Spring 등가가 관련이 있다고 생각합니다).

그래서 제 믿음은 지속성 기술 (JPA 또는 최대 절전 모드)이 이제 정당한 이유가 필요한 수준에 있다는 것입니다. ~ 아니다 그것들을 사용합니다. 핸드 롤링 CRUD JDBC는 일상적인 작업 일뿐입니다.

JPA V Hibernate와 Spring v EJB3 토론에 관해서는, 나는 많은 Moe Equivocal이며 많은 종교가있는 지역 인 것 같습니다.

귀하의 제약은 다소 모순적이지만 (Hibernate는 결국 JPA 구현입니다) 표준 솔루션을 채택하도록 조언하겠습니다. 유일한 선택이 EJB3/JPA와 같은 표준 스택 vs. 수제 pojo/jdbc 구현이라면 EJB3에 대해 갈 것입니다.

Pojo/JDBC Road를 취하면 아마도 자신의 봄을 만들어 낼 것입니다. 사용자 정의 프레임 워크를 작성하는 것은 거의 정당화 할 수 없습니다 신청 개발자.

그냥 ejb+jpa로 가십시오!

나는 당신이 일부 "기업"env에 갇혀 있고 당신은 오픈 소스 프레임 워크를 사용할 수 없다고 생각합니다.이 경우 위의 인터페이스의 일부 IBM 또는 Oracle 구현을 사용할 수 있다고 생각합니다.

7 명은 기본적으로 OpenJPA 구현이 제공되었습니다. 봄+

EJB3+JPA는 매우 간단하게 작동하게 할 것입니다. 확장 가능하고 서로 구성하고 사용하기가 매우 쉽습니다. 제작 엔티티는 가장 힘든 부분이지만 그 후에는 Java가 현명하게됩니다 (특히 엔터티 관계를 사용하는 경우). 4 년 동안 봄과 최대 절전 모드로 응용 프로그램 서버가 없으면 훌륭합니다. 그러나 당신이 7.0 인 한 EJB+JPA를 사용하는 것이 좋습니다.

JPQL과 함께 작업하는 것은 Java 프로그래머에게는 훨씬 쉽고 합리적입니다. 하지만; 8.5에서만 지원되는 JPA 2.1을 사용하지 않는 한 저장 절차를 호출 할 수 없습니다.

답변은 간단합니다 - Jboss/Glassfish이라면 ejb3를 사용하는 경우 Tomcat, 순수한 JPA 또는 최대 절전 모드 또는 스프링 데이터를 사용하십시오.

EJB3 대 최대 절전 모드? 물론 EJB3. Jboss 하에서 EJB3을 사용한 최대 절전 모드, EJB3가 Eclipse Link JPA를 사용한 EJB3가 무엇을 사용했는지 알아야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top