3-Tier Architecture는 소프트웨어 개발과정에서 사용되는 일반적인 설계 패턴 중 하나이다. 이 아키텍처는 세 개의 주요 구성 요소 또는 계층으로 구성되어 있으며, 각 계층은 특정 기능을 수행한다. 이러한 계층은 데이터 흐름과 역할 분담을 통해 시스템을 구조화하고, 유지 보수 및 확장을 용이하게 한다.
Presentation Layer
사용자 인터페이스(UI)와 상호 작용하는 부분으로, 사용자에게 결과를 표시하고 입력을 받아들이는 역할을 한다. 주로 웹 브라우저 또는 모바일 앱과 같은 클라이언트 측 기술을 사용하여 구현되며,
이 계층은 사용자 요청을 받아 처리하기 위해 비즈니스 로직 계층으로 전달하고, 처리 결과를 사용자에게 반환한다.
Application or Business Logic Layer
비즈니스 로직을 구현하는 부분으로, 이 계층은 Presentation Layer로부터 받은 요청을 처리하고 필요한 데이터를 검색하고 가공하여 적절한 결과를 생성한다. 주로 서버 측 기술을 사용하여 구현되며, 데이터 유효성 검사, 비즈니스 규칙 실행, 데이터베이스 조작 등을 처리하고, 외부 시스템과의 통합을 담당한다.
Data Storage Layer
데이터베이스 또는 파일 시스템과 같은 데이터 저장소를 관리하는 부분으로, 데이터의 영구 저장과 관련된 작업을 수행한다. Application Layer는 이 계층을 통해 데이터를 저장, 검색, 갱신하고, 필요한 경우에는 데이터베이스 서버 또는 파일 시스템과 상호작용을 한다.