소개
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 플랫폼의 목표 중 하나는 조직에 적절하다고 간주되는 어떤 배치 구성이든 충분히 지원할 수 있도록 유연성을 가지고 동시에 엔터프라이즈
관련사항을 처리하는 것입니다.
|