개념: J2EE 전개 형상

주제

소개 To top of page

J2EE 플랫폼은 다양한 표준 전개 형상의 개발 및 전개를 지원합니다. 이것은 어플리케이션 개발에서 많은 추측을 하게 되는 표준 전개 형상입니다. 다음 섹션에 가장 일반적인 전개 형상 및 각각에 대한 장단점이 소개되어 있습니다.

J2EE 개념에 아직 익숙하지 않은 경우 계속하기 전에 개념: J2EE 개요에 설명된 내용을 참조하십시오.

독립형 전개 형상 To top of page

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

첨부 텍스트에 설명된 다이어그램

그림 1: 독립형 전개 형상

얼핏 보면 이 형상은 EIS 자원에 보유된 데이터의 간단한 조작을 제공하는 어플리케이션에 대한 매력적인 제안처럼 보일 수 있습니다. 그러나 이 형상에는 몇 가지 잠재적인 약점이 있습니다.

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

또한 이 전개 형상은 책임 분할을 조장하지 않습니다. 예를 들어, 프리젠테이션 논리 및 비즈니스 논리가 밀접하게 결합되어 어플리케이션 전개 및 유지보수를 지원하기 어려운 경우가 자주 있습니다.

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

EJB 중심 전개 형상 To top of page

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

첨부 텍스트에 설명된 다이어그램

그림 2: EJB 중심 전개 형상

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

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

웹 중심 전개 형상 To top of page

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

첨부 텍스트에 설명된 다이어그램

그림 3: 웹 중심 전개 형상

일반적으로 웹 중심 전개 형상은 결과 어플리케이션의 룩앤필 지원을 강조하고 비즈니스 논리 지원은 덜 강조하는 결과를 가져옵니다. 이러한 형상은 어플리케이션의 모양의 빈번한 변경을 지원하며 현재 널리 사용되고 있습니다.

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

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

다중 층 전개 형상 To top of page

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

첨부 텍스트에 설명된 다이어그램

그림 4: 다중 층 전개 형상

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

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

어플리케이션 전개 및 유지보수 Perspective에서 이 형상은 확실한 책임 분리를 조장합니다. 프리젠테이션 논리는 EIS 자원에서 분리되며 비즈니스 논리는 룩앤필에서 분리됩니다. 이 확실한 분리는 숙련 정도가 다른 개발자에게 작업을 할당하는 데 도움을 줄 수 있으며 프리젠테이션 논리 및 비즈니스 논리를 동시에 개발할 수 있습니다.

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

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



Rational Unified Process   2003.06.15