본문 바로가기
자바

J2EE 디자인 패턴 - Session Facade Pattern

by 책 읽는 개발자_테드 2021. 12. 6.
반응형

원격 클라이언트에 비즈니스 구성 요소 및 서비스를 노출하려고 할때, 다음과 같은 요구 사항을 만족하기 위해 Session Facade 패턴을 사용할 수 있다.

 

1. 클라이언트와 긴밀한 결합을 방지하기 위해 클라이언트가 비즈니스 계층 구성 요소에 직접 액섹스할 수 없도록 한다. 

2. 비즈니스 객체 및 기타 비즈니스 계층 구성 요소에 원격 액세스 계층을 제공한다.

3. 애플리케이션 서비스 및 기타 서비스를 집계하여 원격 클라이언트에 노출한다.

4. 원격 클라이언트에 노출되어야 하는 모든 비즈니스 논리를 중앙 집중화하고 집계하려고 한다.

5. 비즈니스 구성 요소와 서비스 간의 복잡한 상호 작용과 상호 종속성을 숨겨서 관리 용이성을 높이고,

   논리를 중앙 집중화하여 유연성을 높이고, 변경 사항에 대처하는 능력을 개선한다.

 

즉, 세션 퍼사드를 사용해서 비즈니스 계층 구성 요소를 캡슐화하고, coarse-grained(뭉뚱거린, 덩어리인)한 서비스를 원격 클라이언트에 노출할 수 있다. 클라이언트는 비즈니스 구성 요소에 직접 액세스하는 대신 Session Facade에 액세스하게된다.

 

Session Facade 패턴 클래스 다이어그램

http://www.corej2eepatterns.com/SessionFacade.htm

 

Session Facade 패턴 시퀸스 다이어그램

http://www.corej2eepatterns.com/SessionFacade.htm

 

적용 결과

- 원격 클라이언트에 서비스를 제공하는 계층 도입

- 일관되게 coarse-grained한 인터페이스를 노출

- 계층 간의 결합 감소

- 계층화를 촉진하고, 유연성과 유지보수를 높인다.

- 복잡성 감소

- 성능을 향상시키고, fine-grained(세분화된) 원격 메서드를 감소시킨다.

- 중앙 집중식 보안 관리

- 트랜잭션 제어 중앙 집중화

- 클라이언트에 더 적은 수의 원격 인터페이스 노출

반응형

댓글