클라이언트/서버 구조
클라이언트(Client)는 서비스(Service)를 제공하는 서버(Server)에게 정보를 요청하여 응답 받은 결과를 사용합니다.
DBMS (DataBase Management System)
다수의 사용자가 데이터베이스 내의 데이터에 접근할 수 있도록 해주는 소프트웨어입니다.
미들웨어 (MiddleWare)
클라이언트 쪽에 비즈니스 로직이 많을 경우, 클라이언트 관리(배포 등)로 인해 비용이 많이 발생하는 문제가 있습니다.
비즈니스 로직을 클라이언트와 DBMS사이의 미들웨어 서버에서 동작하도록 함으로써 클라이언트는 입력과 출력만 담당하도록 합니다.
WAS (Web Application Server)
WAS는 일종의 미들웨어로 웹 클라이언트(보통 웹 브라우저)의 요청 중 웹 애플리케이션이 동작하도록 지원하는 목적을 가집니다.
- 브라우저를 클라이언트라고 본다면 브라우저와 DBMS사이에서 동작하는 미들웨어 같은 것
- 1) 프로그램 실행 환경과 데이터베이스 접속 기능을 제공
- 2) 여러 개의 트랜잭션을 관리
- 3) 업무를 처리하는 비즈니스 로직을 수행
웹 서버 vs WAS
- 웹 서버는 보통 정적인 콘테츠를 웹 브라우저에게 전송하는 역할
WAS는 프로그램의 동적인 결과를 웹 브라우저에게 전송하는 역할 - WAS도 보통 자체적으로 웹 서버 기능을 내장하고 있습니다.
- 현재는 WAS가 가지고 있는 웹 서버도 정적인 콘텐츠를 처리하는 데 있어서 성능상 큰 차이가 없습니다.
- 규모가 커질수록 웹 서버와 WAS를 분리합니다.
- 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 웹서버와 WAS를 대체로 분리합니다.
e.g.) WAS에서 동작하도록 구현된 프로그램이 오작동이 발생하여 WAS를 재시작하여야할 경우,
앞단의 웹 서버에서 해당 WAS를 이용하지 못하도록 막고,
WAS 를 재시작한다면, 해당 웹 애플리케이션을 사용하는 사람은 WAS의 문제가 발생하였는지 모르고 이용가능
생각해보기
- 톰켓 버전별 차이점에 대해서 알아보세요.
: 지원되는 java, servelet 버전이 다르다.
따라서, 개발환경에 맞게 톰캣버전을 설치해야한다.
출처 Boostcourse - 제목
반응형
'TIL > 웹 프로그래밍(풀스택) - boostcourse' 카테고리의 다른 글
2-2) HTML Layout 태그 (0) | 2020.12.27 |
---|---|
2-1) HTML Tags (0) | 2020.12.25 |
6) 웹서버 (0) | 2020.12.25 |
5) browser에서의 웹 개발-2 (0) | 2020.12.25 |
5) browser에서의 웹 개발-1 (0) | 2020.12.23 |
댓글