ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [WebProgramming] Web Server, WAS(WebApplicationServer)
    IT/개발(자바, 서블릿, 스프링 등) 2019. 10. 29. 17:12

    출처: https://www.edwith.org/boostcourse-web/lecture/16666/

     

    DBMS(Database Management System, 데이터베이스 관리 시스템)가 등장하기 전에는 개발자들이 파일에 데이터를 쓰고 읽는 기능을 모두 구현.

    DBMS는 서버 형태로 서비스 제공하기 때문에, DBMS에 접속하여 동작하는 클라이언트 프로그램들 등장.

    클라이언트 쪽에 비즈니스 로직이 많아짐, 클라이언트 관리(배포 등)로 인해 비용이 많이 발생.

    비즈니스 로직을 클라이언트와 DBMS사이의 미들웨어 서버에서 동작하도록 함으로써 클라이언트는 입력과 출력만 담당.

     

    출처: https://www.edwith.org/boostcourse-web/lecture/16666/

     

     

    middleware의 일종인 WAS(톰캣 등등).

    WAS의 기능. **더 알아보고 정리할 것.

    프로그램 실행 환경과 디비 접속 기능을 제공

    여러개의 트랜잭션을 관리

    업무 처리하는 비즈니스 로직을 수행

    웹서버의 기능

     

     

    클라이언트(예를들면, 브라우저)의 요청에 대해서, 웹서버(예를들면, 아파치)는 정적인 데이터를 웹브라우저에게 전송하는 역할

    클라이언트(예를들면, 브라우저)의 요청에 대해서, WAS(예를들면, 톰캣)는 동적인 결과를 웹브라우저에게 전달

    ** 사용자가 요청한 데이터에 대해서 수집하고, 가공한 결과물로 응답하는 것을 동적인 결과라고 한다. ex: 웹에서 데이터 검색 및 조회의 결과를 리턴한 문서.

     

    WAS가 제공하는 웹서버의 기능은 웹서버와 비슷하여, 웹서버 없이 WAS만 있어도 정적, 동적 컨텐츠 제공 가능

    초창기엔 WAS 내의 웹서버가 성능이 떨어졌기 때문에, 아파치와 톰캣을 같이 설치

    계속 발전하면서 WAS가 웹서버 역할도 충분히 하기 때문에 톰캣만 설치

    그럼에도 웹서버가 WAS 앞단에 있으면 좋은 이유? 

    WAS 자체 오작동할 때, WAS 재시작이 필요한데, 웹서버에서 장애 극복 기능(failover)을 함.

     

    ** 개인적으로 웹서버와 WAS의 개념이 헷깔렸었는데 정리 완료!

     

    가장 많이 사용하는 웹 서버는 Apache, Nginx, Microsoft IIS.

    Apache웹 서버는 Apache Software Foundation에서 개발한 웹서버로 오픈소스 소프트웨어.

    Nginx는 차세대 웹서버로 불리며 더 적은 자원으로 더 빠르게 데이터를 서비스하는 것을 목적으로 만들어진 서버이며 Apache웹 서버와 마찬가지로 오픈소스 소프트웨어.

     

    가장 많이 사용하는 WAS는 Tomcat 등이 있다.

    - Tomcat 8버전은 JDK 7이상에서 동작하며 Servlet Spec 3.1을 지원.

    - Tomcat 9버전은 JDK 8이상에서 동작하며 Servlet Spec 4.0을 지원.

     

     

     

    참고

    www.edwith.org/boostcourse-web

Designed by Tistory.