1. 전통적인 클라이언트·서버 아키텍쳐
장점
- 데스크톱 애플리케이션의 데이터 처리 부분을 공통화하여 서버로 이관
- 자료의 중복이나 자료가 일치하지 않는 문제를 해소할 수 있음
단점
- 프로그램 변경시 PC에 매번 재설치
- 업무의 변경이 잦아짐에 대한 유연한 대처 부족
- 클라이언트 -> DBMS로 직접 접속하므로 보안상의 문제 야기
- 프로그램 코드상의 아이디 비밀번호 노출 보안 문제
2. 개선된 클라이언트·서버 아키텍쳐**
- 클라이언트의 업무 처리 -> 서버로 이관
- 클라이언트는 오직 사용자와의 상호작용을 처리하는 UI만을 담당
클라이언트
- 클라이언트는 사용자에게 데이터를 입력받을 화면을 제공
- 입력받은 데이터 형식 검사 및 변환
- 서버로부터 결과를 받고 사용자에게 UI 제공
- 업무 처리 부분은 서버에게 위임
애플리케이션 서버
- 업무 처리 전담
- 클라이언트로부터 요청을 받아서 업무 로직에 따라 DBMS 서버 사용 및 데이터 처리
- 클라이언트의 접근 제어, 무효한 접근 차단, 트랜잭션 단위로 묶어서 관리하는 역할 수행
- DB에 직접 접속하지 않으므로 접속 정보 노출 방지
- 기능 변경에 유연한 대처 가능
Reference
- 엄진영, 『자바 웹 개발 워크북』, 프리렉(2018.8.9), 42~44p