///////
Search
🧳

WAS는 무엇인가요?

웹서버(WEB) 란?

클라이언트로부터 HTTP 요청을 받아 HTML 문서나 각종 리소스(Resource)를 전달
정적 리소스와 기타 부가기능을 제공
ex) NginX, Apache Server
기능 1
정적인 컨텐츠 제공
WAS를 거치지 않고 바로 자원을 제공한다.
기능 2
동적인 컨텐츠 제공을 위한 요청 전달
클라이언트의 요청(Request)을 WAS에 보내고, WAS가 처리한 결과를 클라이언트에게 전달(응답, Response)한다.

WAS(Web Application Server)란?

클라이언트로부터 웹서버가 요청을 받으면 애플리케이션에 대한 로직을 실행하여 웹서버로 다시 반환해주는 소프트웨어
DB 조회나 로직 처리를 요구하는 동적 컨텐츠를 제공하기 위해 만들어진 Application Server
Web container, Servlet Container 라고도 불린다.
Container란? - jsp, servlet을 실행시킬 수 있는 소프트웨어를 말한다.

WAS 기능

프로그램 실행 환경과 DB 접속 기능 제공
여러 개의 트랜잭션 관리기능
업무 처리하는 비즈니스 로직수행
ex) Tomcat, Websphere, Weblogic, Jeus, JBoss, Resin

Web Server 와 WAS를 분리한 형태

1. 기능을 분리하여 서버 부하 방지 가능
WAS는 DB 조회 등 페이지를 만들기 위한 다양한 로직을 처리하는데, 단순한 정적 콘텐츠를 WAS에서 제공한다면 다른 작업에 사용하는 리소스들로 인해 지연이 생겨날 수 있다.
tomcat 5.5 이상부터는 성능이 크게 떨어지지 않는다고 한다.
2. 물리적으로 분리하여 보안 강화
SSL에 대한 암복호화 처리에 Web Server를 사용한다.
공격에 대해 Web Server를 앞단에 두어 중요한 정보가 담긴 DB나 로직까지(WAS까지) 전파되지 못하게 한다.
3. 여러 대의 WAS를 연결이 가능하다.
Load Balancing(부하의 균등화) 가능 -> 한 서버가 다운되더라도 서비스를 이어갈 수 있다는 장점이 있다.
fail over(장애 극복), fail back 가능
대용량 웹 애플리케이션의 경우(여러 개의 서버 사용) Wev Server와 WAS를 분리하여 무중단 운영을 위한 장애 극복에 쉽게 대응할 수 있다.