2011년 5월 23일 월요일

Chapter 2 앞으로 다룰 J2EE 디자인 패턴

웹 티어패턴Intercepting Filter요구 사항에 대하여 전처리와 후처리에 대한 솔루션을 제공한다. 그것은 요청(request)과 응답(response)을 구별하기 위하여 명시적인 필터의 적용을 허용하는 유동적인 아키텍처를 정의한다. 서블릿 필터는 이 패턴을 구현한 것이다.
Front Controller집중화된 컨트롤러를 통한 요청(request)의 관리와 조작을 제공한다. 컨트롤러는 프레젠테이션 티어에서 일어 나는 공통의 프로세싱을 대신한다. 또한, MVC(Model View Controller) 패턴에서 컨트롤러 부분을 대신한다. 프론트 컨트롤러는 컨텐츠 검색, 보안, 뷰 관리, 탐색들을 관리한다.
View Helper다른 로직(비즈니스 로직)에서 프레젠테이션(출력의 포매팅)에 대한 책임을 가지고 있는 프로그래밍 로직의 분리를 위한 솔루션을 제공한다. 프레젠테이션 포매팅은 뷰 컴포넌트에 위치하며, 이것은 복잡한 뷰의 구성을 위해 다중 서브컴포넌트로 구성하는 것이 가능하다. 비즈니스 로직의 코드는 헬퍼 컴포넌트에 위치한다. 헬퍼 컴포넌트의 전형적인 기능들로는 컨텐츠 검색, 검증, 적용이 있다. 헬퍼 컴포넌트는 비즈니스 서비스에 접근하기 위해 Business Delegate 패턴을 사용할 수 있다.
Compos ite View단일 서브 컴포넌트들을 종합적인 프레젠테이션(뷰)으로 생성하기 위한 유동적인 솔루션이다. 현존하는 아키텍처는 기본적인 뷰 컴포넌트를 쉽게 통합하게 해준다. 기본적인 뷰 컴포넌트는 뷰 프레젠테이션을 융통성 있게 만들어주고, 다른 프레젠테이션과의 개인화와 커스터마이제이션(personalization and customization)을 허용한다.
Service-to-WorkerFront Controller와 View Helper 패턴을 가지고 있는 디스패처 컴포넌트로 이루어진 패턴이다. 이 패턴의 동작은 뷰 프로세싱 전에 수행되어야 하며, 큰 애플리케이션에서 안정적으로 수행된다. 이것은 Dispatcher View 패턴과 매우 흡사하다.
Dispatcher ViewService to Worker와 흡사하다. 또한, 패턴은 프론트 컨트롤러와 뷰 헬퍼 패턴을 가지고 있는 디스패처 컴포넌트로 이루어진 패턴이다. Service to Worker와는 대조적으로, 이 패턴은 뷰 프로세싱 도중에 수행되어야 한다. 따라서, 이것은 작은 시스템에서 더욱 안정적이다.
통합 티어 패턴Data Access Object유연성 있고 투명한 데이터 접근을 제공하며, 또한 데이터 소스의 추상화 그리고 EIS 영속성 티어의 복잡도를 숨겨준다. 이러한 장점들은 비즈니스 티어와 EIS 티어 간의 느슨한 결합을 가능하게 한다. 이 패턴은 영속성을 관리하는 빈 같은 엔터티 빈에서는 유용하게 사용된다.
Value Object티어 간의 데이터 교환시의 문제점과 관련 있는 원격 오버헤드의 문제를 해결한다. Value Object들은 싱글 원격 메소드 호출을 통해 티어 간을 이동하는 직렬화 가능한 객체들이 필요로 하는 모든 데이터를 가지고 있다.
이 패턴은 티어 간의 통신과 데이터 교환을 위한 최상의 테크닉으로 생각된다. 또한, 이 패턴은 분산 시스템에서 상당한 비용을 차지하는 원격 메소드 호출의 숫자를 성공적으로 최소화했다.
비즈니스 티어 패턴Value Object AssemblerEJ B, Data Access Object, Java object 등과 같은 다른 소스에서의 Value Object 조합을 위한 유동적인 솔루션을 제공한다. 이 패턴은 클라이언트를 지나쳐야 하는 데이터를 생성하는 데 유용하게 사용된다. 이 Value Object Assembler 패턴은 Value Object 패턴과 관련이 있다.
Business Delegate티어 간의 커플링, 특히 프레젠테이션 티어와 비즈니스 로직 티어 간의 커플링의 감소를 위한 솔루션을 제공한다. 비즈니스 로직 티어와 EIS 티어를 서비스하기 위한 일반적인 진입점인 이 패턴은 Façade 같은 프록시를 제공한다. 프록시는 성능 향상을 위하여 원격 메소드 호출을 잠시 저장하고 있을 수 있다. Bus iness Delegate 패턴은 Service Locator 패턴과의 병합이 가능하다.
Sess ion Façade비즈니스 컴포넌트의 복잡도를 숨기고, 워크플로어를 집중화시켜 준다. 이 패턴은 원격 메소드의 오버헤드를 감소시키도록 클라이언트와의 큰 단위의 인터페이스를 제공하며, 또한 명시적인 트랜잭션과 보안의 관리에 적합하다. Session Façade 패턴은 보통 Service Locator, Value Object, Value Object Assembler, Value List Handler, Service Activator 그리고 Data Access Object 같은 다른 패턴들과 연동하여 사용한다. 이것은 가장 중요한 J 2EE 패턴 중 하나이다.
Message FaçadeSess ion Façade 패턴과 비슷한 기능을 한다. 그러나 세션 빈 대신에 메시지 드리븐 빈을 사용한다는 차이가 있다. 이 패턴은 비동기화적으로 fault-tolerant한 접근을 가능하게 한다.
Service Locator서비스 팩토리를 찾고, 생성하고, 할당하기 위한 그리고 그것들의 복잡도를 캡슐화하기 위한 솔루션을 제공한
다. 다중의 클라이언트는 Service Locator 객체를 사용할 수 있으며, 이것은 복잡도를 감소시키고, 컨트롤의 싱글 포인트를 제공하고, 캐싱을 통한 성능 향상을 가능하게 해준다.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...