ABOUT ME

안녕하세요! valid_ming 입니다 :D 저의 성장기록을 담고 있습니다.

Today
Yesterday
Total
  • [부스트코스] WAS
    부스트코스 코딩일지/웹 프로그래밍 기초 2020. 1. 19. 17:47

    WAS는 저도 웹 프로그래밍을 공부하면서 처음 들어보는 용어인데요

    오늘은 WAS의 정의와 역할, 종류를 알아보도록 하겠습니다. 

     

     

    WAS는 미들웨어의 한 종류입니다.

    그렇다면 미들웨어는 무엇일까요?

     

    DBMS라는 것이 있습니다. 이것은 데이터베이스를 관리하는 소프트웨어입니다.

    대표적으로 MySQL, Oracle, MariaDB 등이 있습니다.

    이를 통해, 개발자들은 데이터를 쉽게 관리할 수 있게 되었습니다.

     

    DBMS는 서버 형태로 서비스를 제공하기 때문에, 이러한 DBMS에 접속해서 동작하는 클라이언트 프로그램 또한

    많이 만들어졌습니다. 하지만 이 클라이언트 프로그램은 프로그램 로직이 변경될 때마다 매번 다시 배포되어야 한다는 것과 클라이언트 프로그램의 크기가 커진다는 단점을 갖고 있었는데요.

     

    즉, DBMS에 직접 클라이언트가 연결해 동작하는 방식이 많은 문제점을 가지고 있었습니다.

     

    이를 해결하기 위한 방법이 미들웨어입니다.

    클라이언트와 서버인 DBMS사이에 또 다른 서버를 두는 것인데요. 이 서버가 바로 미들웨어입니다.

    미들웨어를 사용하게 되면서 클라이언트는 미들웨어와 요청과 응답을 주고받으면 되게 되었고, 미들웨어에서

    로직을 수행하게 된 것입니다. 덕분에 클라이언트는 프로그램 로직과 분리되며, 클라이언트 프로그램의 크기가 작아지고

    로직이 변경됨에 따라 매번 다시 배포되어야 하는 경우도 사라지게 되었습니다. 

     

    http://t1.daumcdn.net/cfile/tistory/998B683B5A940BEC21

     

    웹이 발달하면서 웹 브라우저가 복잡한 기능을 수행하기 위해 DBMS에 접근해야 하는 일이 많아졌습니다.

    웹 브라우저와 데이터 베이스 사이에 사용하게 된 미들웨어가 WAS입니다.

     

    WAS는 Web Application Server로, 웹의 복잡한 기능을 수행하기 위해 동작하는 서버입니다.

    여기서 복잡한 기능은 동적 콘텐츠를 제공하는 일이라고 이해하면 됩니다.

     

    WAS의 중요한 기본 기능 세 가지

     

    1. 프로그램 실행 환경데이터베이스 접속 기능을 제공한다.

    2. 여러 개의 트랜잭션을 관리한다. (*트랜잭션 : 논리적인 작업 단위)

    3. 업무를 처리하는 비즈니스 로직을 수행한다.

     

    또한 WAS는 웹 서버의 기능도 기본적으로 제공합니다. 따라서 정적 콘텐츠, 동적 컨텐츠 모두 WAS를 통해

    제공될 수 있는데요. 예를 들어 미들웨어인 톰캣을 설치하면, Apache 같은 웹 서버를 따로 설치하지 않고도 사용 가능합니다.

    그럼에도 웹 서버와 미들웨어를 분리하는 이유는 서버의 규모가 클 때 자원 이용의 효율성과 장애 극복, 배포 및 유지보수의 편의성을 위함입니다. 

     

     

    이렇게 해서 오늘은 WAS의 역할과 기능에 대해 알아보았습니다.

    다음 시간부터는 본격적으로 웹 프로그래밍에 대해 공부해보도록 하겠습니다.

     

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

    댓글

Designed by Tistory.