본문 바로가기
JSP

그림으로 설명하는 MVC패턴 5 layer architecture

by chief_sac 2021. 6. 30.
반응형

웹 애플리케이션을 만들기 위한 방법 중 JDBC 구조를 이해하기 위해 공부하였다

위 그림에서 Domain Layer는 Layer or 계층간의 이동에 있어 데이터 유실을 방지하기 위해 LOMBOK과 같은 라이브러리를 이용하거나 set get을 이용해 저장하고 이동하기에 화살표를 생략하였다

5가지 계층 역할

  • 프레젠테이션 계층(Presentation Layer)
    • 역할 :프레젠테이션 계층은 말 그대로 사용자 인터페이스
    • 기능 : 사용자가 선택할 수 있는 기능이 표시되어 있어야 하고, 요청에 필요한 부가적인 정보 전달을 위한 입력 양식이 있어야 한다. 또한 전달된 자료를 효과적으로 보여주기 위한 프리젠테이션 로직이 포함된다. 하지만 비즈니스 로직이나 퍼시스턴스 계층에서 처리하는 일을 직접 수행하거나(스크립트 릿 사용), 각 계층의 컴포넌트와 직접적인 통신이 있어선 안된다
  • 제어 계층(Control Layer)
    • 역할 : 제어 계층은 프레젠테이션 계층과 비즈니스 로직 계층을 분리하기 위한 컨트롤러를 제공
    • 기능 : 전체 시스템의 설정 상태를 유지해야 하며, 그를 통해 어떤 요청이 들어왔을 때 어떤 로직이 처리해야 하는지를 결정한다. 사용자 요청을 검증하고 로직에 요청을 전달하는 일과 로직에서 전달된 응답을 적절한 뷰에 연결 짓는 것 역시 제어 계층의 몫
  • 비즈니스 로직 계층(Business Logic Layer)
    • 역할 : 비즈니스 로직은 말 그대로 핵심 업무를 어떻게 처리하는지에 대한 방법을 기술하는 곳
    • 기능 : 비즈니스 로직에는 핵심 업무 로직의 구현과 그에 관련된 데이터의 적합성 검증 외에도 다양한 부가적인 구현이 추가된다. 트랜잭션 처리라든가, 다른 계층들과 통신하기 위한 인터페이스를 제공한다거나, 해당 계층의 객체들 간의 관계를 관리하는 것 등
  • 퍼시스턴스 계층(Persistence Layer)
    • 역할 : 퍼시스턴스 계층은 데이터 처리를 담당하는 계층이다. 주로 데이터의 생성/수정/삭제/선택(검색)과 같은 CRUD 연산을 수행하게 된다 데이터는 주로 데이터베이스에서 처리되는 경우가 많아, 영속성을 의미하는 퍼시스턴스 계층이란 용어를 사용했다. 하지만 데이터가 처리되는 다른 업무 시스템이나, 웹 서비스, XML, 파일 시스템 등을 모두 고려한다면 레거시 개념을 갖는 EIS 계층이란 표현이 더 적합
    • 기능 : 이 계층에서 수행하는 일은 관계형 정보를 저장하고, 수정/삭제하는 것과, 그러한 일을 수행하는 데 필요한 질의문을 관리하는 것, 그리고 가져온 관계형 정보를 객체화시키는 일이다
  • 도메인 모델 계층(Domain Model Layer)
    • 역할 : 도메인 모델은 각 계층 사이에 전달되는 실질적인 비즈니스 객체라고 할 수 있다.
    • 기능 : 도메인 모델 계층은 흔히 데이터 전송 객체(DTO) 형태로 개발자가 직접 제작해서, 리퀘스트나 세션과 같은 콘텍스트에 담아 넘기게 된다. 하지만 데이터베이스의 모든 정보를 일일이 객체로 만드는 것은 귀찮을 뿐 아니라, 계층 간의 통신 과정에서 데이터가 유실될 위험도 있기 때문에 최근에는 도메인 모델을 서비스로 제공하여 자동화하는 경우가 많다.
반응형

'JSP' 카테고리의 다른 글

표준태그라이브러리(JSTL)  (0) 2021.07.06
POS 무료 템플릿 (자체 제작)  (0) 2021.07.02
JSP 스코프에 대하여  (0) 2021.06.29
JSP의 표현언어 EL태그  (0) 2021.05.29
JSP에서 프로토콜이란  (0) 2021.04.17