3티어 아키텍처는 애플리케이션을 세 가지 논리적 및 물리적 컴퓨팅 티어, 즉 프레젠테이션 티어 또는 사용자 인터페이스, 데이터가 처리되는 애플리케이션 티어, 애플리케이션 데이터가 저장 및 관리되는 데이터 티어로 구성하는 잘 정립된 소프트웨어 애플리케이션 아키텍처입니다.
연구 뉴스레터
월간 Future Forward 뉴스레터를 통해 IBM 전문가들의 AI, 양자, 하이브리드 클라우드 등에 관한 최신 연구를 살펴보세요. IBM 개인정보 보호정책을 참조하세요.
구독은 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.
프레젠테이션 티어는 최종 사용자가 애플리케이션과 상호 작용하는 애플리케이션의 사용자 인터페이스 및 커뮤니케이션 티어입니다. 주요 목적은 사용자에게 정보를 표시하고 사용자로부터 정보를 수집하는 것입니다. 이 최상위 티어는 예를 들어 웹 브라우저, 데스크톱 애플리케이션 또는 그래픽 사용자 인터페이스(GUI)에서 실행될 수 있습니다. 웹 프레젠테이션 티어는 HTML, CSS, JavaScript를 사용하여 개발됩니다. 데스크톱 애플리케이션은 플랫폼에 따라 다양한 언어로 작성할 수 있습니다.
로직 티어 또는 미들 티어라고도 하는 애플리케이션 티어는 애플리케이션의 핵심입니다. 이 티어에서는 프레젠테이션 티어에서 수집된 정보가 특정 비즈니스 규칙을 사용하여(때로는 데이터 티어의 다른 정보와 비교하여) 처리됩니다. 애플리케이션 티어는 데이터 티어의 데이터를 추가, 삭제 또는 수정할 수도 있습니다.
애플리케이션 티어는 일반적으로 Python, Java, Perl, PHP 또는 Ruby를 사용하여 개발되며 API 호출을 사용하여 데이터 티어와 통신합니다.
데이터베이스 티어, 데이터 액세스 티어 또는 백엔드라고도 하는 데이터 티어는 애플리케이션에서 처리되는 정보가 저장되고 관리되는 곳입니다. 이 티어는 PostgreSQL, MySQL, MariaDB, Oracle, Db2, Informix 또는 Microsoft SQL Server와 같은 관계형 데이터베이스 관리 시스템 또는 Cassandra, CouchDB 또는 MongoDB와 같은 NoSQL 데이터베이스 서버에 있을 수 있습니다.
3티어 애플리케이션에서는 모든 통신이 애플리케이션 티어를 통해 이루어집니다. 프레젠테이션 티어와 데이터 티어는 서로 직접 통신할 수 없습니다.
다시 말하지만, 3티어 아키텍처의 가장 큰 장점은 기능의 논리적, 물리적 분리에 있습니다. 각 티어는 기능 요구 사항에 가장 적합한 별도의 운영 체제 및 서버 플랫폼(예: 웹 서버, 애플리케이션 서버, 데이터베이스 서버)에서 실행될 수 있습니다. 또한 각 티어는 하나 이상의 전용 서버 하드웨어 또는 가상 서버에서 실행되므로 다른 티어에 영향을 주지 않고 각 티어의 서비스를 사용자 지정하고 최적화할 수 있습니다.
(단일 또는 2티어 아키텍처와 비교한) 다른 이점은 다음과 같습니다.
3티어(3-tier) 아키텍처를 설명할 때 '프레젠테이션 계층(layer)' 또는 '비즈니스 로직 계층(layer)'처럼 계층(layer)을 티어(tier)와 혼용해 사용하는 경우가 많습니다.
이 두 용어는 동일하지 않습니다. '계층(layer)'은 소프트웨어의 기능적 구역을 의미하지만, '티어(tier)'는 다른 구역과 별도의 인프라에서 실행되는 소프트웨어의 기능적 구역을 의미합니다. 예를 들어 휴대폰의 연락처 앱은 3계층 애플리케이션이지만, 3개 계층 모두 휴대폰에서 실행되므로 단일 티어 애플리케이션입니다.
티어와 계층은 제공하는 이점이 다르기 때문에 이러한 차이를 이해하는 것이 중요합니다.
웹 개발에서 티어는 이름은 다르지만 비슷한 기능을 수행합니다.
3티어 아키텍처가 가장 널리 채택되는 멀티티어 애플리케이션 아키텍처이지만, 업무나 연구에서 접할 수 있는 다른 아키텍처도 있습니다.
2티어 아키텍처는 프레젠테이션 티어와 데이터 티어로 구성된 최초의 클라이언트-서버 아키텍처로, 비즈니스 로직은 프레젠테이션 티어, 데이터 티어 또는 둘 다에 존재합니다. 2티어 아키텍처에서는 프레젠테이션 티어, 즉 최종 사용자가 데이터 티어에 직접 액세스할 수 있으며 비즈니스 로직이 제한되는 경우가 많습니다. 사용자가 연락처 데이터를 입력하고 검색할 수 있는 간단한 연락처 관리 애플리케이션이 2티어 애플리케이션의 예입니다.
멀티티어 아키텍처라고도 하는 N-티어 아키텍처는 티어가 두 개 이상인 모든 애플리케이션 아키텍처를 나타냅니다. 그러나 티어가 3개 이상인 애플리케이션은 드뭅니다. 추가 티어는 거의 이점을 제공하지 않으며, 애플리케이션을 느리게 만들고, 관리가 어려워지며, 실행 비용이 더 많이 들 수 있기 때문입니다. 따라서 일반적으로 N-티어 아키텍처와 멀티티어 아키텍처는 3-티어 아키텍처의 동의어로 사용됩니다.
Watsonx.ai는 애플리케이션 개발 팀이 워크플로에 AI를 원활하게 통합할 수 있도록 지원합니다. 이 포괄적인 툴킷은 모델 생성에서 배포에 이르기까지 전체 AI 라이프사이클를 지원합니다.
x86 하드웨어에서 메인프레임 애플리케이션 개발, 테스트, 데모, 교육을 위한 플랫폼을 사용합니다.
앱을 신속하게 설계하고 프로토타입을 제작하여 시장에 쉽게 출시할 수 있는 IBM의 모바일 앱 개발 플랫폼에 대해 알아보세요.