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
   17   18   19   20   21   22   23