3 계층 구조란?
애플리케이션을 3개의 논리적 및 물리적 계층으로 분리해 운영하는 아키텍처 패턴
다중 계층 아키텍처 패턴에서 가장 널리 사용된다
- Presentation Tier(Client)
일반 사용자가 직접 액세스 할 수 있는 계층
이 계층은 사용자 인터페이스와 관련된 부분으로, 사용자와 애플리케이션이 상호 작용하는 부분이다.
이 계층은 GUI 또는 프런트엔드(front-end)라고도 부른다. 그러므로 이 계층에서는 사용자 인터페이스와 관계없는 데이터를 처리하는 로직은 포함하지 않는다. (HTML, Javascript, CSS 등) - Logic Tier(Application)
비즈니스 로직을 처리하는 부분으로, 전반적인 프로세스 제어와 데이터 처리를 담당한다. 비즈니스 계층 또는 트랜잭션 계층이라고도 한다. 주로 서버 사이드에서 작동하며, 서버 프로그램 또는 API 서비스로 구현된다. 프레젠테이션 계층에겐 응답하고, 데이터 계층에겐 요청한다.
이 계층은 미들웨어(Middleware) 또는 백엔드(back-end)라고도 불린다. (PHP, Java 등) - Data Tier(Database)
데이터 베이스와 관련된 부분으로 데이터를 저장, 검색, 수정 및 삭제하는 기능을 담당한다.
주로 DBMS (Database Management System)이 이 계층에 해당된다. 데이터 계층 또한 백엔드(back-end)라고도 부른다. (MySQL, Oracle, MongoDB 등)
3 계층 구조의 장점
3티어 구조는 각 계층 간의 역할을 명확하게 분리함으로써 각자의 전문 분야에 대해 작업하며 협업하기 용이해지므로 업무 효율성이 증가한다.
각 영역의 독립성이 높아지기 때문에 한 계층에서의 유지 보수나 코드 수정이 다른 계층에 영향을 미치지 않는다는 이점이 있고, 여러 개의 서버로 각 계층이 나뉘어 동작하기 때문에 서버의 부하가 줄어든다.
'공부' 카테고리의 다른 글
CHAR와 VARCHAR의 차이점 (0) | 2023.09.24 |
---|---|
Java Virtual Machine(JVM) (0) | 2023.09.17 |
JPA N+1 문제에 대하여 (BatchSize, EntityGraph) (0) | 2023.09.15 |
JPA와 JPQL (0) | 2023.09.14 |
Cross-Origin Resource Sharing(CORS)와 preflight (0) | 2023.09.03 |