내일배움캠프 D+60

유제협·2021년 11월 12일
0
post-thumbnail

Layered Acitectuer

[Acitectuer 설명]

Client -> DB

  1. Client에서 요청을 보낸다.
  2. Web Interface(MVC)에서 DTO를 생성해준다.
  3. DTO를 통해 Service Layer로 보내준다.
  4. CRUD를 통해 Repository에 요청한다.
  5. Repository의 DAO객체에 Enetity로 RDBMS에 접근한다.

DB -> Client

  1. Repository의 DAO객체에서 Enetity로 RDBMS에 접근한다.
  2. Repository에서 DTO로 Service Layer와 Presentation Layer에 접근한다.
  3. Web Interface(MVC)에서 JSP로 Client에 응답해 준다.

*DTO는 단방향으로 방향 갯수에 맞춰 나누어 그려주었다.

MVC.

MVC 패턴은 어플리케이션을 개발할 때 그 구성 요소를 Model과 View 및 Controller 등 세 가지 역할로 구분하는 디자인 패턴입니다. 비즈니스 처리 로직(Model)과 UI 영역(View)은 서로의 존재를 인지하지 못하고, Controller가 중간에서 Model과 View의 연결을 담당한다.

DTO.

Data Transfer Object의 약자로, 계층 간 데이터 교환 역할을 한다. DB에서 꺼낸 데이터를 저장하는 Entity를 가지고 만드는 일종의 Wrapper라고 볼 수 있는데, Entity를 Controller 같은 클라이언트단과 직접 마주하는 계층에 직접 전달하는 대신 DTO를 사용해 데이터를 교환한다.

DAO.

Data Access Object의 약자로, 실제로 DB에 접근하는 객체다. DAO는 프로젝트의 서비스 모델과 실제 데이터베이스를 연결하는 역할을 하며, JPA에서는 DB에 데이터를 CRUD 하는 Repository 객체들이 DAO라고 볼 수 있다.

Entity.

관계형 데이터베이스 : entity는 저장될 수 있는 어떤 데이터에 관한 사람, 장소, 또는 사물이다.
데이터 모델링 : entity는 분류될 수 있고, 다른 entity들에 대해 정해진 관계를 가지는 데이터 단위이다.

출처: https://linuxism.ustd.ip.or.kr/45 [linuxism]

JSP (JavaServerPages)

Java 언어를 기반으로 하는 Server Side 스크립트 언어


[출처]
Layered Acitectuer : https://velog.io/@yu_jep/%EB%82%B4%EC%9D%BC%EB%B0%B0%EC%9B%80%EC%BA%A0%ED%94%84-D60
MVC : https://tecoble.techcourse.co.kr/post/2021-04-25-dto-layer-scope/
DTO, DAO : https://velog.io/@ohzzi/Entity-DAO-DTO%EA%B0%80-%EB%AC%B4%EC%97%87%EC%9D%B4%EB%A9%B0-%EC%99%9C-%EC%82%AC%EC%9A%A9%ED%95%A0%EA%B9%8C
Entity : https://linuxism.ustd.ip.or.kr/45
JSP : https://gmlwjd9405.github.io/2018/11/03/jsp.html

0개의 댓글