소프트웨어 아키텍처 - 17(Client-Server
Architecture
Style)
Client-Server Architecture Style
- 개요
- 가장 일반적인 분산 아키텍처
- 일반적으로 다른 프로세서에서 실행되는 두 개의 통신 프로세스
- 구조
- 시스템을 두 가지 주요 하위 시스템으로 분해
- 클라이언트 및 서버
- 클라이언트
- 서버
- 요청을 수신하고(데이터베이스에서 데이터 제공, 문서 출력 등), 해당 작업을 수행한 후 클라이언트에 응답을 보냄
- 서버와 클라이언트
- 서버
- 클라이언트
- 서버에 요청을 보내고 응답을 대기하는 프로세스
- 통신 과정
- 두 개의 컴퓨터 간의 관계를 하나는 클라이언트, 다른 하나를 서버라부름 클라이언트의 요청과 서버의 응답이 분산 시스템에서 서비스 요청과 제공의 기본적인 관계를 설명하는 방식 중 하나, 클라이언트와 서버는 네트워크를 통해 통신하고 클라이언트가 원격 서버에서 제공하는 서비스를 요청하고 응답을 받음
- Two-tier client-server architecture
- 티어 : 분류의 횟수
- 장점
- 사용자 인터페이스 표현과 비즈니스 로직 처리와 같은 책임의 분리
- 서버 컴포넌트의 재사용
- 단점
- 요구 사항 변경 처리를 위한 인프라 부재
- 보안의 복잡성
- 서버 가용성과 신뢰성
- 테스트 용이성과 확장성
- 프레젠테이션 및 비즈니스 로직이 함께 있는 두꺼운 클라이언트