WAS(Web Application Server)

KOO HEESEUNG·2021년 5월 27일

네이버 부스트코스 웹 프로그래밍(풀스택) > 7) WAS를 공부하며 정리한 내용입니다.

DBMS

  • 다수의 사용자들이 데이터베이스 내의 데이터를 접근할 수 있도록 해주는 소프트웨어
  • ORACLE, MySQL, MariaDB 등이 있음.
  • 보통 서버 형태로 서비스를 제공하기에 클라이언트 로직이 많아지고, 클라이언트 프로그램 크기가 커지는 문제가 발생함.
  • 이는 프로그램 로직이 변경되면 클라이언트가 매번 배포되어야 하고, 대부분의 로직이 클라이언트에 포함되어 배포되기 때문에 보안이 나쁘다는 단점이 존재함.

미들웨어(MiddleWare)

  • DBMS의 문제점을 해결하기 위해 등장
  • 클라이언트와 DBMS 사이에 또다른 서버를 두는 방식
  • 클라이언트는 서버에 요청만 보내고, 미들웨어에서 대부분의 로직 수행.
  • 클라이언트는 복잡한 로직이 사라지고, 화면에 결과만 보여주면 되기에 사용자에게 입력만 받으면 됨 => 크기가 매우 작아짐.

WAS(Web Application Server)

  • WAS는 일종의 미들웨어로 웹 클라이언트 요청 중 웹 애플리케이션이 동작하도록 지원
  • 웹서버의 기능도 기본적으로 제공함.

기본 기능

  1. 프로그램 실행 환경과 데이터베이스 접속 기능 제공
  2. 여러 개의 트랜잭션 관리
  3. 업무를 처리하는 비즈니스 로직 수행

웹 서버 vs WAS

  • 웹서버는 보통 정적인 콘텐츠를 웹 브라우저에게 전송하는 역할. 상대적으로 간단한 구조로 이루어져 있음.
  • WAS는 프로그램의 동적인 결과를 웹 브라우저에게 전송하는 역할
  • WAS는 보통 자체적으로 웹 서버 기능을 내장하고 있지만, 어플리케이션 규모가 커질수록 웹서버와 WAS를 분리한다.(장애 극복 기능 목적 - 대용량 웹 애플리케이션의 무중단 배포를 위해 웹 서버가 WAS 앞단에서 동작하도록 함.)

0개의 댓글