- 웹 애플리케이션 계층 구조2024년 12월 16일
- imaginaring
- 작성자
- 2024.12.16.:11
1. 웹 레이어
* 사용자 인터페이스와 관련된 입출력 처리를 담당
* 흔히 '프리젠테이션 레이어' 또는 '컨트롤러 레이어' 라고도 불린다
* HTTP 요청을 처리하고, 클라이언트 응답을 반환
=> Java : Spring MVC의 @controller 또는 @RestController
=> Node.js : Express.js의 라우터
=> Python : Django, Flask의 View
2. 서비스 레이어
* 비즈니스 로직을 담당
* 데이터를 검증하고 처리하는 핵심 비즈니스 규칙을 포함
* 웹 레이어와 퍼시스턴스 레이어 간의 중간 역활
* 주요 작업 : 트랜잭션 관리, 퍼시스턴스 레이어 호출 등등
=> Java : Spring @Service
=> Node.js : 비즈니스 로직을 처리하는 서비스 클래스
=> Python : 장고의 서비스레이어
3. 퍼시스턴스 레이어
* DB와의 직접적인 데이터 접근 및 조작(CRUD)을 담당
* DAO(Data Access Object), Repository 패턴등을 사용하여 데이터 관리
* 데이터 CRUD (생성, 조회, 수정, 삭제), 데이터 접근 추상화
* 데이터 접근 로직을 분리하여 유지보수와 확장을 용이하게 함
=> Java : JPA, Hibernate, MyBatis
=> Node.js : Sequelize, Mongoose
=> Python : Django ORM, SQLAlchemy
[클라이언트 요청]
↓
| 웹 레이어 | ← 사용자 입력 처리, 응답 반환
(Controller)
↓
| 서비스 레이어 | ← 비즈니스 로직 수행, 트랜잭션 관리
| (Service Class) |
↓
| 퍼시스턴스 레이어 | ← 데이터베이스 접근, 데이터 조작
| (Repository) |
↓
[데이터베이스]
요약
웹 레이어 : 클라이언트와의 인터페이스
서비스 레이어 : 비즈니스 로직 처리
퍼시스턴스 레이어 : DB 접근 및 관리
==== > 4계층으로 나누는 경우도 있는데, 서비스 레이어를 로직 레이어와 어플리케이션 레이어로 더 세부적으로 나누는 구조
구성 3계층 구조 4계층 구조 프리젠테이션 웹 레이어 웹 레이어 애플리케이션 서비스 레이어에 포함 애플리케이션 레이어 (흐름 관리) 비즈니스 로직 서비스 레이어 비즈니스 로직 레이어 (핵심 로직) 데이터 접근 퍼시스턴스 레이어 퍼시스턴스 레이어 '프로그래밍 > Java' 카테고리의 다른 글
제네릭 클래스 (0) 2024.12.16 자바에서의 예외처리 (Exception Handling) (0) 2024.12.16 자바 기초적인 내용들 (0) 2024.12.16 다음글이전글이전 글이 없습니다.댓글