출처 : 자바 성능 튜닝 이야기
※ 위 그림은 사용자의 요청이 처리되는 순서로 생각하면서 위에서부터 아래로 보면 된다.
가장 윗부분은 프레젠테이션 티어이고, 중간 부분은 비즈니스 티어, 하단 부분은 인테그레이션 티어다.
위로 갈 수록 화면에 가깝고, 아래로 갈 수록 DB와 같은 저장소에 가깝다고 생각하면 이해가 쉽다.
① Intercepting Filter 패턴
-. 요청 타입에 따라 다른 처리를 하기 위한 패턴이다.
② Front Controller 패턴
-. 요청 전후에 처리하기 위한 컨트롤러를 지정하는 패턴이다.
③ View Helper 패턴
-. 프레젠테이션 로직과 상관 없는 비즈니스 로직을 헬퍼로 지정하는 패턴이다.
④ Composite View 패턴
-. 최소 단위의 하위 컨포너트를 분리하여 화면을 구성하는 패턴이다.
⑤ Service to Worker 패턴
-. Front Controller와 View Helper 사이에 디스패처를 두어 조합하는 패턴이다.
⑥ Dispatcher View 패턴
-. Front Controller와 View Helper로 디스패처 컴포넌트를 형성한다.
-. 뷰 처리가 종료될 때까지 다른 활동을 지연한다는 점이 Service to Worker 패턴과 다르다.
⑦ Business Delegate 패턴
-. 비즈니스 서비스 접근을 캡슐화하는 패턴이다.
⑧ Service Locator 패턴
-. 서비스와 컴포넌트 검색을 쉽게 하는 패턴이다.
⑨ Session Facade 패턴
-. 비즈니스 티어 컴포넌트를 캡슐화하고, 원격 클라이언트에서 접근할 수 있는 서비스를 제공하는 패턴이다.
⑩ Composite Entity 패턴
-. 로컬 엔티티 빈과 POJO를 이용하여 큰 단위의 엔티티 객체를 구현한다.
⑪ Transfer Object 패턴
-. 일명 Value Object 패턴이라고 많이 알려져 있다.
-. 데이터를 전송하기 위한 객체에 대한 패턴이다.
⑫ Transfer Object Assembler 패턴
-. 하나의 Transfer Object로 모든 타입 데이터를 처리할 수 없으므로,
여러 Transfer Object를 조합하거나 변현항 객체를 생성하여 사용하는 패턴이다.
⑬ Value List Handler 패턴
-. 데이터 조회를 처리하고, 결과를 임시 저장하며, 결과 집합을 검색하여 필요한 항목을 선택하는 역할을 수행한다.
⑭ Data Access Object 패턴
-. 일명 DAO라고 많이 알려져 있다. DB에 접근을 전담하는 클래스를 추상화하고 캡슐화 한다.
⑮ Service Activator 패턴
-. 비동기적 호출을 처리하기 위한 패턴이다.
※ 성능 개선은 물론 개발과 유지보수의 편의를 위해서 위에 명시된 여러 가지 J2EE 패턴 중에 적어도
Business Delegate, Service Locator, Session Facade, Transfer Object, Data Access Object 패턴은 적용해야 한다고 생각한다.
'JAVA > JAVA Programming' 카테고리의 다른 글
[JAVA] 프로파일링 툴 & APM 툴의 개념 (0) | 2014.02.03 |
---|---|
[JAVA] instanceof 연산자(예약어) (0) | 2014.01.04 |
[JAVA] JAR 파일 만들기 (0) | 2013.03.14 |
[JAVA] 숫자에 쉼표(콤마;Comma)넣기, 천(1000) 단위 구분 (0) | 2012.09.07 |
[JAVA] HashMap (2) | 2012.09.05 |