3-Tier Architecture

2023. 11. 1. 00:09기타

728x90

3-Tier Architecture란

3-Tier Architecture는 애플리케이션을 프레젠테이션 계층 또는 사용자 인터페이스, 데이터가 처리되는 애플리케이션 계층 그리고 애플리케이션과 관련된 데이터가 저장 및 관리되는 데이터 계층이라는 3개의 논리적이고 물리적인 컴퓨팅 계층으로 구성되는 소프트웨어 애플리케이션 아키텍처입니다.

3-Tier Architecture 상세 설명

프레젠테이션 계층

프레젠테이션 계층은 사용자가 애플리케이션과 상호작용하는 사용자 인터페이스 및 커뮤니케이션 계층입니다. 해당 계층의 목적은 정보를 표시하고 사용자로부터 정보를 수집하는 것입니다. 예를 들어 웹 브라우저, 데스크탑 애플리케이션, GUI 등에서 보여지는 화면 부분이라고 볼 수 있습니다.

애플리케이션 계층

애플리케이션 계층은 특정 비즈니스 논리를 사용하여 프레젠테이션 계층에서 수집된 정보가 처리됩니다. 또한 애플리케이션은 데이터 계층의 데이터를 추가, 삭제 또는 수정할 수도 있습니다. 3-Tier Architecture에서는 모든 통신이 애플리케이션 계층을 통과합니다. 프레젠테이션 계층과 데이터 계층은 서로 간에 직접 통신이 불가능합니다.

데이터계층

데이터 계층은 애플리케이션이 처리하는 정보가 저장 및 관리되는 곳입니다.

3-Tier Architecture 아키텍처의 장점

기능의 논리적 및 물리적 분리

각 계층은 요구 사항에 적합한 별도의 운영 체제와 서버 플랫폼에서 실행될 수 있습니다. 그리고 각 계층이 하나 이상의 전용 서버 하드웨어 또는 가상 서버에서 실행되므로, 다른 계층에 영향을 주지 않고도 각 계층의 서비스를 사용자 정의하고 최적화 할 수 있습니다.

빠른 개발

각 계층이 서로 다른 팀에서 동시에 개발될 수 있으므로 빠르게 시장에 출시될 수 있으며, 프로그래머는 각 계층에 최신 및 최상의 언어와 툴을 사용할 수 있습니다.

개선된 확장성

필요에 따라 어느 계층이든 다른 계층과 독립적으로 확장할 수 있습니다.

개선된 보안

프레젠테이션 계층과 데이터 계층이 직접 통신할 수 없으므로, SQL 인젝션 및 기타 악의적 공격을 방지할 수 있습니다.

웹 개발의 3-Tier Architecture

웹서버

프레젠테이션 계층으로 사용자 인터페이스를 제공합니다. 콘텐츠는 정적 혹은 동적일 수 있으며 일반적으로 HTML, CSS, Javascript를 사용하여 개발됩니다.

애플리케이션 서버

사용자 입력을 처리하는데 사용되는 비즈니스 노릴르 수용하는 계층에 해당됩니다.

데이터베이스 서버

데이터를 실제로 저장하고 관리하는 계층에 해당됩니다.

계층과 레이어의 차이

3-tier Arichitecture의 계층과 웹 애플리케이션에서 많이 사용되는 3-layer의 계층과 레이어는 전혀 다른 개념입니다.

레이어

레이어는 코드(로직) 수준에서의 논리적인 분리를 의미합니다. 다시말해, 관련된 기능들을 구현하는 코드들을 한 군데로 모아놓은 것입니다. 예를 들어 3-layer의 대표적인 User Interface, Business Logic, Data Access 이 세가지 레이어는 각자의 책임이 있고 논리적으로 잘 분리되어 있습니다.
참고로, 레이어는 물리적인 서버의 분리는 존재하지 않습니다.

계층

계층은 물리적인 구조로 분리되어 있습니다. 웹 개발의 3-Tier Architecture와 같이 각자의 역할을 가지고 물리적으로 분리되어 레이어를 포함하고 있습니다.

https://www.ibm.com/kr-ko/topics/three-tier-architecture
https://www.baeldung.com/cs/layers-vs-tiers

728x90

'기타' 카테고리의 다른 글

Kafka가 빠른 이유  (0) 2024.07.25
WEB 3.0  (0) 2023.12.24
Ansible  (0) 2021.12.27
Vuex  (0) 2021.06.01
함수형 프로그래밍  (0) 2021.04.13