위의 그림에 나타낸 바와 같이, 나는 입구 역할을하고 3 웹을 보유하고 EJB3 엔터프라이즈 응용 프로그램 (EAR 파일),이 동일한 데이터 스토어와 통신하고 트랜잭션하는 응용 프로그램 (WAR 파일)입니다. 이 3 개의 웹 애플리케이션은 포틀릿 구현이 아니지만 엔터프라이즈 애플리케이션의 지속성 계층을 통해 데이터 저장소와 상호 작용하는 일반 웹 애플리케이션입니다. 이러한 웹 응용 프로그램은 독립적으로 개발되므로 일부는 엔터프라이즈 응용 프로그램의 웹 서비스를 사용하고 일부는 EJB 클라이언트를 사용합니다. 또한
, 아래 그림과 같이 이러한 웹 어플리케이션 (웹 앱 1, 웹 앱 2 및 웹 앱 3)를 교체하고 통신 및 데이터베이스와 거래하는 독립 기업의 앱을 사용하는 다른 옵션이있다 :
자, 내 질문은 다음과 같습니다.
1) 위의 두 가지 옵션 중에서 가장 좋은 옵션은 무엇입니까?
2) 클라이언트로 작동하는 웹 응용 프로그램을 독립 Enterprise Apps (EAR 파일)로 대체 할 때 어떤 영향을 줍니까?
3) 트랜잭션 처리, SSO 기능, 확장 성 및 기타 요인에 대한 더 나은 모델은 무엇입니까?
4) 다른 더 우수한 모델이 있습니까?
EDIT :
1) EAR 파일과 상호 작용하는 바람직한 방법은 상기 제 1 모델에서, - 웹 서비스 또는 EJB 클라이언트 JAR 파일/라이브러리 (인터페이스 및 유틸리티 클래스)?
2) 두 모델 모두 메모리 사용량 (서버 RAM)과 성능이 어떻게 다른가요? 어떤 큰 차이가 있습니까?
왜이 두 가지 옵션을 고려하고 있습니까? 예를 들어 다른 배포 옵션에 맞습니까? 또한 옵션 2에서 데이터 액세스를 분할하는 방법 - 각 EAR이 자신의 데이터에 대해 "소유권"을 갖습니까? 아니면 전체 EAR 전체가 전체 데이터 세트에 대해 전체 읽기/쓰기 액세스를 가질 수 있습니까? 별도의 경우 트랜잭션 경계는 어디에 있습니까? 각 EAR은 자신의 경계에만 관심을 가져야합니까? 어떤 유형의 데이터 저장소가 있으며 병목 현상이 될 것입니다. 귀하의 신청서가 우세하게 읽혀 지거나 쓰여져 있습니까? 미안, 모든 질문에 대해 - 나는 이것이 내 자신의 무지를 반영하지 않기를 바란다! – Romski
Romski : 나는이 두 가지 옵션을 내 호기심으로 생각하고 베스트 프랙티스가 무엇인지 알아 내고 우리의 요구에 더 잘 맞습니다. 귀하의 질문에 관해서는 각 EAR에 소유권이 있습니다. 그것들은 다른 기능을 다루거나 다른 비즈니스상의 이유로 그 방법으로 설계/개발됩니다. 모든 응용 프로그램은 주로 읽기 및 쓰기가 가능하며 현재 RDBMS를 사용합니다. – bchetty
또한 원래 게시물의 '수정'부분을 확인하십시오. – bchetty