3-Tier Architecture

0

TIL

목록 보기
100/126

3-Tier Architecture는 소프트웨어 개발과정에서 사용되는 일반적인 설계 패턴 중 하나이다. 이 아키텍처는 세 개의 주요 구성 요소 또는 계층으로 구성되어 있으며, 각 계층은 특정 기능을 수행한다. 이러한 계층은 데이터 흐름과 역할 분담을 통해 시스템을 구조화하고, 유지 보수 및 확장을 용이하게 한다.

  1. Presentation Layer
    사용자 인터페이스(UI)와 상호 작용하는 부분으로, 사용자에게 결과를 표시하고 입력을 받아들이는 역할을 한다. 주로 웹 브라우저 또는 모바일 앱과 같은 클라이언트 측 기술을 사용하여 구현되며,
    이 계층은 사용자 요청을 받아 처리하기 위해 비즈니스 로직 계층으로 전달하고, 처리 결과를 사용자에게 반환한다.

  2. Application or Business Logic Layer
    비즈니스 로직을 구현하는 부분으로, 이 계층은 Presentation Layer로부터 받은 요청을 처리하고 필요한 데이터를 검색하고 가공하여 적절한 결과를 생성한다. 주로 서버 측 기술을 사용하여 구현되며, 데이터 유효성 검사, 비즈니스 규칙 실행, 데이터베이스 조작 등을 처리하고, 외부 시스템과의 통합을 담당한다.

  3. Data Storage Layer
    데이터베이스 또는 파일 시스템과 같은 데이터 저장소를 관리하는 부분으로, 데이터의 영구 저장과 관련된 작업을 수행한다. Application Layer는 이 계층을 통해 데이터를 저장, 검색, 갱신하고, 필요한 경우에는 데이터베이스 서버 또는 파일 시스템과 상호작용을 한다.

  • 관심사의 분리 : 각 계층은 고유한 역할을 수행하므로, 개발자들은 자신의 영역에 선택적으로 작업이 가능하여 코드의 재사용성과 유지 보수의 편의성을 높여준다.
  • 확장성 : 각 계층은 독립적으로 확장 가능하므로, 필요에 따라 서버, 데이터베이스 등을 추가하거나 교체할 수 있다.
  • 보안 : 각 계층의 접근 권한을 관리함으로써 시스템 보안을 강화할 수 있다.
  • 유연성 : 클라이언트와 서버 사이에 인터페이스 계층이 존재하기 때문에, 다양한 클라이언트 플랫폼에 대한 지원이 용이하다.

0개의 댓글