Page 22 -
P. 22
2.3 미들 티어 J A VA EE D E S IG N P A T TE R N S 2
자바 EE 서버는 미들 티어에 둥지를 틀고 웹 컨테이너와 EJB 컨테이너라는 두 논리 컨테이너를 자바 EE 기초
제공합니다. 이들은 대략 웹 레이어, 비즈니스 레이어에 해당하며 레이어마다 하는 일은 분명히
다르지만 살짝 겹칠 때도 있습니다.
MVC 패턴은 웹 레이어의 뷰 생성과 비즈니스 레이어의 데이터 모델링을 명확하게 구분 짓기 위
해 사용합니다. 관심사 분리는 14장 MVC 패턴에서 자세히 다룹니다.
2.3.1 웹 레이어
웹 레이어는 클라이언트 티어와 비즈니스 레이어 간 상호 작용을 관장합니다.
클라이언트 티어는 웹 레이어에게 리소스를 요청합니다. 요청 정보에는 ID/비밀번호 등 사용자
입력 데이터나 로그인 정보가 담겨있겠죠. 요청을 처리하면서 필요 시 웹 레이어와 비즈니스 레
이어는 서로 대화를 나눕니다. 특정 형식(브라우저에 응답한다면 대개 하이퍼텍스트 마크업 언어
(HTML))로 응답을 동적 생성한 다음 클라이언트로 보냅니다.
웹 레이어는 세션에 사용자 상태를 담아두고 부분적으로 비즈니스 로직을 수행하거나 메모리에
임시로 데이터를 담아놓습니다.
웹 레이어 기술은 클라이언트 티어와 미들 티어 간 움직임을 관장하고 응답을 생성하는 문제에
관한 것들이 대부분입니다. 자바 서버 페이지(JavaServer Pages, JSP), 표현식 언어(Expression Language,
EL), 자바 서버 페이지 표준 태그 라이브러리(JavaServer Pages Standard Tag Library, JSTL)가 클라이언트
로 보낼 응답을 포장하는 동안 서블릿은 웹 흐름을 제어하고 교통정리를 합니다. 웹 레이어에서
쓸 수 있는 기술은 이뿐만이 아닙니다. 전체 목록은 그림 2-2를 참고하세요.
웹소켓(WebSocket), 동시성 유틸리티(Concurrency Utilities), 배치(Batch), JSON-P는 자바 EE 7 이후로
추가된 신기술로 웹소켓을 제외하고 웹 레이어, 비즈니스 레이어 모두 사용합니다.
039
java_06.indd 39 2017-02-28 �� 3:00:52