#37
지난 포스팅은 Web 서버에 대해서 포스팅했었습니다.
이번에는 Web 서버와 뗄레야 뗄 수 없는 WAS에 대해서 포스팅을 해보고자 합니다.
1. WAS(Web Application Server)란?
웹 브라우저와 같은 클라이언트로부터 웹 서버가 요청을 받으면 애플리케이션에 대한 로직을 실행하여 웹 서버로 다시 반환해주는 소프트웨어입니다.
웹 서버와 DBMS 사이에서 동작하는 미들웨어로써, 컨테이너 기반으로 동작합니다.
2. WEB 서버와 WAS의 동작 과정
3. WEB 서버와 WAS의 차이점
언뜻보면 웹 서버와 WAS가 무슨 차이가 있지라는 생각을 하실 수 있습니다.
또한, 둘의 역할을 구분하시기 어려우실 수가 있습니다.
가장 큰 차이점은 요청을 받아 처리하는 컨텐츠에 있습니다.
웹 서버의 경우 정적인 컨텐츠(HTML, CSS, IMAGE 등)를 요청받아 처리합니다.
WAS의 경우 동적인 컨텐츠(JSP, ASP, PHP 등)를 요청받아 처리합니다.
4. WEB서버와 WAS를 나눠야하는 이유
사실 WAS의 경우 웹 서버 + 웹 컨테이너의 개념이라 웹 서버가 없더라도 웹 서버의 역할을 동시에 수행할 수 있습니다.
그래서 웹 서버를 사용하지 않더라도 웹 서비스를 할 수 있지만 웹 서버와 WAS를 나눠서 사용합니다.
그 이유에 대해서 말씀드리겠습니다.
1. 데이터 처리 방식
위에서 말씀드린 것처럼 웹 서버는 정적인 컨텐츠를 처리하고 WAS는 동적인 컨텐츠를 처리합니다.
만약 부하가 적은 웹 서비스라면 두가지의 요청을 하나의 WAS에서 처리하면 되지만, 부하가 많다면 굳이 빠른 시간에 처리할 수 있는 정적 컨텐츠를 WAS에서 처리하여 부하를 줄 필요가 없습니다.
2. 보안
사용자들에게 WAS는 공개되어질 필요가 없습니다.
위의 동작과정을 보시면 아시겠지만 사용자에게 요청은 웹 서버가 받고 그 요청을 웹 서버가 WAS에 전달합니다.
그리고 WAS의 경우 DB서버에 대한 접속 정보가 있기때문에 외부로 노출될 경우 보안상 문제가 될 수 있습니다.
그래서 웹 서버의 경우 DMZ구간에 위치하고 WAS는 내부망에 위치시켜 보안을 유지할 수 있습니다.
5. WAS의 종류
WAS의 경우 웹 서버와 마찬가지로 오픈소스와 상용소프트웨어가 있습니다.
1-1 오픈소스
아파치 Tomcat
아파치와 같이 아파치 재단에서 관리하는 WAS로써, 역시 많이 사용되고 있는 WAS입니다.
Jetty
이클립스 재단에서 관리하며, 임베디드 자바 애플리케이션에서 웹 서비스를 제공하고 이클립스를 IDE 컴포넌트로 사용합니다.
https://www.eclipse.org/jetty/
2-1 상용소프트웨어
WebLogic
오라클에서 관리하는 WAS입니다.
https://www.oracle.com/kr/middleware/weblogic/
JBoss
레드햇에서 관리하는 WAS입니다.
https://developers.redhat.com/middleware/?referrer=jbd&extIdCarryOver=true&sc_cid=701f2000001Css5AAC
Jeus
WebToB와 같이 국내 회사인 티맥스소프트에서 관리하는 제품으로써, 국내에선 많이 사용하고 있습니다.
https://kr.tmaxsoft.com/product/productView.do?prod_cd=jeus&detail_gubun=prod_main
'컴소니 > 서버' 카테고리의 다른 글
리눅스(CentOS7)에 Apache Tomcat(WAS) 설치하기 (0) | 2020.03.06 |
---|---|
Apache Web서버 웹 서비스 테스트 (2) | 2020.03.03 |
리눅스(CentOS7)에 Apache Web서버 설치하기 (0) | 2020.03.02 |
웹(Web) 서버란? (0) | 2020.02.29 |
이클립스에서 톰캣(Tomcat) 설치하고 테스트하기 (2) | 2020.02.06 |
댓글