본문 바로가기

참고자료

WAS = Web Application Server

was 는 미들웨어의 한 종류이다.

 

미들웨어란? 

클라이언트와 DBMS 사이를 중개해주는 매개체이다. 중간 서버라고 이해해도 좋다.

 

그럼 was는 왜 나왔나?

was는 웹이 발달하면서 나온 것이다.

웹 서버와 클라이언트간의 상호작용을 프로그래밍한 CGI(= common gateway interface)를

보다 효과적으로 구현하기 위해 나왔다.

php 같은 스크립트도 CGI를 효과적으로 만들기위한 도구가 나온 것 처럼 말이다.

 

was는 웹 서버인가?

톰캣과 같은 was도 웹 서버를 가지고 있고 웹 서버 기능을 할 수 있다.

하지만 웹 서버는 아니다.

웹 서버는 apache web server, nginx 등을 말한다.

 

차이점?

--web server는 

1.정적인 컨텐츠 제공에 중점

2.서버가 설치된 컴퓨터(하드웨어) + 소프트웨어(정적 콘텐츠 제공) 

3.was없이도 콘텐츠 제공 가능

4.클라이언트 요청을 was로 보내고

  was가 처리한 결과 클라이언트에게 전달

 

--was는

1.DB조회, 다양한 로직, 처리 동적 콘텐츠 제공에 중점을 둔다.

2.소프트웨어 엔진이다.

3.톰캣 같은 경우는 '웹 컨테이너' 혹은 '서블릿 컨테이너' 라고도 불린다. 

   -- 웹 컨테이너라고 불리는 경우는 좀 제한적이다.

   

그럼 web 서버는 왜 쓰는가?

web server - was 를 주로 쓴다. 

원래 was 의 내장 웹 서버는 성능이 떨어졌다.

때문에 웹 서버와 같이 사용했다.

하지만 기술의 발전으로 was도 웹서버의 역할도 충분이 한다.

 

하지만 웹서버 사용시 장점이 있다.

웹 서버는 was보다 구조가 간단하다.

대용량 웹 어플리케이션에 중요한 

장애 극복 기능 때문이다.

웹서버 하나에 여러개의 was를 연결할 수 있다.

was에 문제가 있을때 was를 재시작 해야된다

그럼 웹 서버가 문제 있는 was를 클라이언트가 이용하지 못하도록 막는다.

그리고 다른 was에서 처리한다.

결과적으로 클라이언트가 was에 문제가 있는지 모르게 이용할 수 있게 한다.

그외에도 

물리적 분리로 인한 보안 강화 목적,

was에 작업 할당을 하여 서버 기능 부하 방지 등이 있다.

 

 

was의 주요 기능

1. 프로그램 실행 환경 구축과 DB 접속 

2.여러개의 트랜잭션을 관리

3.비즈니스 로직 수행

이외의 기능도 많다.

 

 

 

 

 

 

참고

gmlwjd9405.github.io/2018/10/27/webserver-vs-was.html

 

'참고자료' 카테고리의 다른 글

aws  (0) 2021.03.22
동기와 비동기 통신  (0) 2021.02.18
서블릿(servlet) 이란?  (0) 2020.12.01
자바스크립트의 위치는?  (0) 2020.12.01
객체 지향(OOP)과 절차 지향  (0) 2020.11.30