본문 바로가기
What is □?

07. WAS(Web Application Server)란 무엇인가?

by 전봇대파괴자 2021. 4. 7.

 

웹 애플리케이션 서버(WAS, Web Application Server)란, 웹 서버와 웹 컨테이너의 기능을 모두 수행하는 프로그램을 말한다. 웹 서버는 이 게시물을 참고하고, 우선 웹 컨테이너가 뭔지부터 알아보자.

 

  • 웹 컨테이너(Web Container)는 클라이언트의 요청에 따른 데이터를 데이터베이스에서 전달받아 웹 서버로 전달하는 프로그램이다. 라면집을 예로 들어 설명하면 주문을 받고 나온 라면을 갖다주는 종업원이 웹 서버, 주방에서 나온 음식을 그 종업원에게 전달하는 주방 종업원이 웹 컨테이너라고 생각하면 된다. 기본 기능은 다음과 같다.
    • 프로그램 실행 환경과 데이터베이스 접속 기능을 제공한다.
    • 여러 개의 트랜젝션을 관리한다.
    • 업무 처리를 위한 비즈니스 로직을 수행한다.
    • Web Service 플랫폼의 역할을 수행한다.
    이러한 웹 컨테이너는 jsp, php 등 개발 언어를 읽고 포털 검색 결과와 같은 콘텐츠, 다소 복잡한 웹 응용 프로그램 등을 처리한다. 웹 서버가 한번 다운로드되면 내용이 변하지 않는, HTML 문서와 같은 정적 콘텐츠를 처리하는 것과 비교된다. 또한 웹 서버 측에서 클라이언트의 요청을 받아 응답을 할 때, 요청에 필요한 데이터를 처리하거나 웹 서버에 전달해 주는 역할을 한다. 때문에 데이터베이스 서버와 같이 작업을 수행하는 경우가 많다. 일종의 중간관리자로 웹 서버를 지원하는 역할이라고 보면 되겠다. 이런 소프트웨어를 미들웨어(Middleware)라고 한다.

WAS 서버는 원래 이 웹 컨테이너 프로그램을 말하는 것인데, 요즘의 WAS 서버는 웹 컨테이너 기능에 웹 서버 기능까지 내장하고 있는 경우가 많다. 그러다 보니 WAS 서버는 웹 서버+웹 컨테이너를 합친 프로그램을 말하는 의미로도 쓰이게 되었다.

 

하지만 서버 규모가 커질 경우에는 웹 서버와 웹 컨테이너를 분리한다고 한다. 자원 이용의 효율성 및 배포, 유지보수의 편의성을 볼 때 그쪽이 더 낫기 때문이라고.