개념: J2EE 배치 구성
이 가이드라인은 J2EE 플랫폼의 다양한 배치 구성의 장단점에 대해 설명합니다.
관계
기본 설명

소개

J2EE 플랫폼은 다양한 표준 배치 구성의 개발 및 배치를 지원합니다. 응용프로그램 개발에서 많은 부분을 추측하는 표준 배치 구성입니다. 다음 섹션에서는 가장 일반적인 배치 구성과 각각에 대한 장단점에 대해 설명합니다.

J2EE 개념에 대해 아직 잘 알지 못하는 경우 먼저 J2EE(Java 2 Platform Enterprise Edition) 개요에서 설명하는 내용을 참조하십시오.

독립형 배치 구성

첫 번째 배치 구성은 그림 1에 표시됩니다. 이 구성에는 웹 컨테이너 및 EIS 컨테이너가 없습니다. 클라이언트는 EIS 자원을 직접 액세스하며 프리젠테이션 로직, 비즈니스 로직 및 통합 로직 자체를 처리하는 책임이 있습니다.

함께 표시된 텍스트에서 설명되는 다이어그램.

그림 1: 독립형 배치 구성

얼핏 보면 이 구성은 EIS 자원에 보유된 데이터의 간단한 조작을 제공하는 응용프로그램에 대한 매력적인 제안처럼 보일 수 있습니다. 그러나 이 구성에는 몇 가지 잠재적인 약점이 있습니다.

EIS 자원을 변경하면 종종 데이터베이스 테이블 구조와 같은 각 EIS 자원의 내부 구조에 직접적으로 종속되는 응용프로그램 구현에 큰 영향을 미칠 수 있습니다. 응용프로그램 자체를 변경하려면 모든 사용자가 완전하게 롤아웃해야 합니다. 클라이언트가 최신 수정사항에 즉시 액세스하도록 응용프로그램을 배치하는 중앙 서버가 없습니다.

또한 이 배치 구성은 책임 분할을 조장하지 않습니다. 예를 들어, 프리젠테이션 로직 및 비즈니스 로직이 밀접하게 결합되어 응용프로그램 전개 및 유지보수를 지원하기 어려운 경우가 자주 있습니다.

그러나 이 배치 구성에 대한 실제적인 문제는 응용프로그램의 크기를 조정하도록 결정할 때 표면화되기 시작합니다. 클라이언트 워크스테이션이 성능 특성을 제한했으므로, 이상적으로는 많은 시스템에 걸쳐 처리를 분산시켜야 합니다. 그러나 독립형 구성은 분산 처리를 지원하도록 디자인되지 않았습니다. 또한 더 많은 클라이언트가 동시에 EIS 자원을 액세스하도록 지원하려고 하면 동시 데이터베이스 연결 수와 같은 EIS 자원 자체에 의해 응용프로그램이 제한되었음을 알 수 있습니다.

EJB 중심 배치 구성

EJB 중심 배치 구성은 그림 2에 표시됩니다. 이 구성에서 EJB 컨테이너는 클라이언트 컨테이너 및 EIS 자원 사이에 있으며 웹 컨테이너는 없습니다. 프리젠테이션 로직은 EJB에 비즈니스 로직이 있는 클라이언트에 있습니다. 직접 EIS 자원을 액세스하기 보다는 클라이언트의 모든 요청을 해당 EJB에서 관리합니다. 그러므로 클라이언트는 EIS 자원의 변경사항으로부터 보호됩니다.

함께 표시된 텍스트에서 설명되는 다이어그램.

그림 2: EJB 중심 배치 구성

EJB 중심 배치 구성은 독립형 배치 구성에서 제공하는 여러 문제를 처리하도록 디자인되었습니다. 확장성 관점에서 J2EE 플랫폼 구현은 여러 시스템으로 처리를 분산시킬 수 있습니다. 또한 EJB 컨테이너는 데이터베이스 연결과 같이 제한된 자원을 효율적으로 사용하도록 하는 책임을 맡습니다. 응용프로그램 전개 및 유지보수 관점에서 이 구성은 프리젠테이션 로직 및 비즈니스 로직의 분리를 조장합니다.

그러나 EJB 중심 배치 구성의 약점은 사용자 인터페이스를 조금만 변경해도 모든 사용자가 응용프로그램을 완전하게 롤아웃해야 한다는 것입니다. EJB에서 캡슐화된 비즈니스 로직은 서버에서 다시 배치될 수 있지만(사용자에게 변경사항에 대한 즉각적인 액세스 제공), 프리젠테이션 로직은 그렇지 않습니다. 응용프로그램의 룩앤필은 빈번하게 변경될 수 있으므로 이것은 부적절한 것입니다.

웹 중심 배치 구성

웹 중심 배치 구성은 그림 3에 표시됩니다. 이 구성에서 웹 컨테이너는 클라이언트 컨테이너 및 EIS 자원 사이에 있으며 EJB 컨테이너는 없습니다. 프리젠테이션 로직 및 비즈니스 로직 모두가 웹 컨테이너의 요소로 처리됩니다(JSP 및 servlet). 그와 동시에 XML 또는 WML일 수 있지만 이 구성에서는 HTML과 같이 단순한 마크업 언어가 클라이언트에서 사용됩니다.

함께 표시된 텍스트에서 설명되는 다이어그램.

그림 3: 웹 중심 배치 구성

일반적으로 웹 중심 배치 구성은 결과 응용프로그램의 룩앤필 지원을 강조하고 비즈니스 로직 지원은 덜 강조하는 결과를 가져옵니다. 이러한 구성은 응용프로그램의 모양의 빈번한 변경을 지원하며 현재 널리 사용되고 있습니다.

웹 중심 배치 구성은 여러 가지 이점을 제공합니다. 우선, 클라이언트가 직접 EIS 자원에 액세스하지 않으므로 EIS 자원의 변경에 영향을 받지 않습니다. 두 번째, 응용프로그램은 전적으로 서버에 상주하므로 사용자에게 롤아웃을 요구하지 않고 전체 응용프로그램을 다시 배치할 수 있습니다.

그러나 EJB의 사용은 때때로 가까운 장래에 작업 과잉이 될 것으로 간주되지만, EJB의 누락은 독립형 배치 구성에서 발생하는 몇 가지 문제를 가져옵니다. 특히 이 구성이 프리젠테이션 로직 및 비즈니스 로직 간의 명백한 책임 분할을 조장하지 않지만, 종종 밀접하게 결합된 요소를 발생시켜 응용프로그램 전개 및 유지보수를 방해합니다. 또한 독립형 배치 구성에 나타나는 모든 확장성 문제가 웹 중심 아키텍처에 적용됩니다.

다중 층 배치 구성

다중 층 배치 구성은 그림 4에 표시됩니다. 이 구성은 웹 컨테이너 및 EJB 컨테이너 둘 다를 포함하며, 약점이 없는 기타 배치 구성에 대해 설명된 모든 이점을 나타냅니다. 프리젠테이션 로직은 웹 컨테이너의 요소로 처리되며 비즈니스 로직은 EJB 컨테이너의 EJB로 처리됩니다.

함께 표시된 텍스트에서 설명되는 다이어그램.

그림 4: 다중 층 배치 구성

EIS 자원이 직접 액세스되지 않으므로 클라이언트는 EIS 자원의 변경사항에 영향을 받지 않습니다. 또한 응용프로그램은 전적으로 서버에 상주하므로 사용자에게 롤아웃을 요구하지 않고 전체 응용프로그램을 다시 배치할 수 있습니다.

확장성 관점에서 동시 처리를 지원하도록 처리를 분산시킬 수 있습니다. 또한 확장성 관점에서 EJB 컨테이너는 데이터베이스 연결과 같이 제한된 자원을 효율적으로 사용하도록 하는 책임을 맡습니다.

응용프로그램 전개 및 유지보수 관점에서 이 구성은 확실한 책임 분리를 조장합니다. 프리젠테이션 로직은 EIS 자원에서 분리되며 비즈니스 로직은 룩앤필에서 분리됩니다. 이 확실한 분리는 숙련 정도가 다른 개발자에게 작업을 할당하는 데 도움을 줄 수 있으며 프리젠테이션 로직 및 비즈니스 로직을 동시에 개발할 수 있습니다.

또한 다중 층 배치 구성은 하나의 클라이언트 장치(예: 웹 브라우저)에서 다른 클라이언트 장치(예: PDA)로의 이주를 용이하게 할 수 있습니다. EJB에 캡슐화된 비즈니스 로직은 변경되지 않은 채로 남아 있으며 있는 그대로 사용될 수 있으므로 응용프로그램의 전체 재작성이 필요하지 않습니다.

요약하자면, 여러 가지 배치 구성이 있으며 각각에는 장단점이 있습니다. J2EE 플랫폼의 목표 중 하나는 조직에 적절하다고 간주되는 어떤 배치 구성이든 충분히 지원할 수 있도록 유연성을 가지고 동시에 엔터프라이즈 관련사항을 처리하는 것입니다.