[네트워크] 미들웨어 WAS

클라이언트와 서버

  • 클라이언트(서버에게 서비스를 요청함) <-> 서버(클라이언트에게 서비스를 제공함)

DBMS(DataBase Managment System)

  • 데이터베이스의 데이터를 관리해주는 소프트웨어
  • 서버 형태로 서비스를 제공
  • DBMS에 접속해서 동작하는 클라이언트 프로그램들이 많아짐
  • 클라이언트의 부담이 커지고, 보안에도 좋은 방법이 아님 -> 미들웨어의 등장

미들웨어

  • 클라이언트와 DBMS 사이에 또 다른 서버를 생성
  • 클라이언트는 요청만, 로직은 미들웨어가 처리
  • 클라이언트가 화면에 결과만 보여주면되므로 부담과 크기가 줄어둠
  • 프로그램 로직이 변경되면 중앙 미들웨어만 변경하면 됨

WAS(Web Application Server)

  • 웹의 수요가 커짐에 따라 DBMS와 연관된 기능들의 요구가 많아지고, 점점 복잡해짐
  • 그러한 이유로 브라우저와 DBMS사이에서 연결된 미드웨어인 WAS가 등장
  • WAS의 기능
    • 프로그램 실행환경과 데이터베이스 접속 기능 제공
    • 여러개의 트랜잭션(논리적인 작업 단위) 관리
    • 업무를 처리하는 비즈니스 로직 처리
    • 웹 서버를 지원
  • 그림

웹 서버 vs WAS

  • 일반적으론 웹 서버는 정적인 컨텐츠, WAS는 동적인 컨텐츠를 웹브라우저에게 전달
  • 규모가 커질수록 둘을 분리하는게 좋다.
  • 장애 극복 기능 : WAS가 다운되면, 서버가 앞단에서 WAS 사용을 중단시키고 다시 실행시키는 기능(사용자는 WAS의 다운을 체감할 수 없도록)