클라이언트와 서버
- 클라이언트(서버에게 서비스를 요청함) <-> 서버(클라이언트에게 서비스를 제공함)
DBMS(DataBase Managment System)
- 데이터베이스의 데이터를 관리해주는 소프트웨어
- 서버 형태로 서비스를 제공
- DBMS에 접속해서 동작하는 클라이언트 프로그램들이 많아짐
- 클라이언트의 부담이 커지고, 보안에도 좋은 방법이 아님 -> 미들웨어의 등장
미들웨어
- 클라이언트와 DBMS 사이에 또 다른 서버를 생성
- 클라이언트는 요청만, 로직은 미들웨어가 처리
- 클라이언트가 화면에 결과만 보여주면되므로 부담과 크기가 줄어둠
- 프로그램 로직이 변경되면 중앙 미들웨어만 변경하면 됨
WAS(Web Application Server)
- 웹의 수요가 커짐에 따라 DBMS와 연관된 기능들의 요구가 많아지고, 점점 복잡해짐
- 그러한 이유로 브라우저와 DBMS사이에서 연결된 미드웨어인 WAS가 등장
- WAS의 기능
- 프로그램 실행환경과 데이터베이스 접속 기능 제공
- 여러개의 트랜잭션(논리적인 작업 단위) 관리
- 업무를 처리하는 비즈니스 로직 처리
- 웹 서버를 지원
- 그림
웹 서버 vs WAS
- 일반적으론 웹 서버는 정적인 컨텐츠, WAS는 동적인 컨텐츠를 웹브라우저에게 전달
- 규모가 커질수록 둘을 분리하는게 좋다.
- 장애 극복 기능 : WAS가 다운되면, 서버가 앞단에서 WAS 사용을 중단시키고 다시 실행시키는 기능(사용자는 WAS의 다운을 체감할 수 없도록)
PREVIOUS[네트워크] HTTP 프로토콜