이번 시간엔 웹 어플리케이션이 나오게 되기까지 과정을 알아보자. 데스크톱 애플리케이션 1. PC에 설치되어 실행되 웹 애플리케이션 보다 실행속도가 빠름. - office, 컴퓨터 게임 등등... 2. 문제점 - 배포의 번거로움. - 보안에 취약 : 데이터 베이스에 접근할 때 취약 가능성 - 애플리케이션 실행할 때 먼저 서버에 갱신된 버전이 있는지 조회 후 실행하면 어느정도 해결됨. - 단 보안에 취약... 클라이언트'서버 애플리케이션 - 애플리케이션의 기능을 서버와 클라이언트로 분리. - 장점 - 새로 프로그램이 수정 되도 서버 쪽만 변경하면 됨. - 기능 변경/추가에 유연하게 대처가 됨. - 문제점 개선 방안 - 한번에 하나의 클라이언트 하고만 연결 됨. - 멀티 프로세스와 멀티 스레드로 위 문제를 해결한다. - 멀티 프로세스와 멀티 스레드 - 멀티 프로세스는 원본 프로세스의 메모리를 모두 복제해 자원 낭비가 심함. - 멀티 쓰레드는 전체 메모리를 복제할 필요가 없음. 다중 클라이언트 요청 처리 - 클라이언트의 요청 처리 부분을 별도의 작업으로 분리 - 분리된 작업은 스레드에 정의 - 다중 클라리언트 요청이 병행 처리됨. - C/S 환경의 프로그래밍이 복잡해지는 문제가 생김. 클라이언트'서버 아키텍처의 진화 1. 전통적인 클라이언트'서버 아키텍처 - 서버는 데이터 처리를 맡고 클라이언트는 UI와 비즈니스를 처리했다. - 단점 - 프로그램이 변경되면 PC에 다시 설치해야됨... - 클라이언트가 DBMS로 바로 접속해 보안 문제 발생. 2. 개선된 클라이언트'서버 아키텍처 - 클라이언트의 업무 처리부분은 서버로 이관. - 클라이언트는 오직 UI만 담당. - 서버로부터 결과를