클라이언트·서버 아키텍쳐의 진화

uglyduck.dev·2020년 9월 27일
0

개념 모아 🗂

목록 보기
2/40

1. 전통적인 클라이언트·서버 아키텍쳐

전통적인 C/S 구조에서의 역할

장점

  • 데스크톱 애플리케이션의 데이터 처리 부분을 공통화하여 서버로 이관
  • 자료의 중복이나 자료가 일치하지 않는 문제를 해소할 수 있음

단점

  • 프로그램 변경시 PC에 매번 재설치
  • 업무의 변경이 잦아짐에 대한 유연한 대처 부족
  • 클라이언트 -> DBMS로 직접 접속하므로 보안상의 문제 야기
  • 프로그램 코드상의 아이디 비밀번호 노출 보안 문제

2. 개선된 클라이언트·서버 아키텍쳐**

  • 클라이언트의 업무 처리 -> 서버로 이관
  • 클라이언트는 오직 사용자와의 상호작용을 처리하는 UI만을 담당

개선된 C/S 구조에서의 역할

클라이언트

  • 클라이언트는 사용자에게 데이터를 입력받을 화면을 제공
  • 입력받은 데이터 형식 검사 및 변환
  • 서버로부터 결과를 받고 사용자에게 UI 제공
  • 업무 처리 부분은 서버에게 위임

애플리케이션 서버

  • 업무 처리 전담
  • 클라이언트로부터 요청을 받아서 업무 로직에 따라 DBMS 서버 사용 및 데이터 처리
  • 클라이언트의 접근 제어, 무효한 접근 차단, 트랜잭션 단위로 묶어서 관리하는 역할 수행
  • DB에 직접 접속하지 않으므로 접속 정보 노출 방지
  • 기능 변경에 유연한 대처 가능

Reference

  • 엄진영, 『자바 웹 개발 워크북』, 프리렉(2018.8.9), 42~44p
profile
시행착오, 문제해결 그 어디 즈음에.

0개의 댓글