wrkbrs

웹서버와 WAS(웹 어플리케이션 서버또는 컨테이너)의 차이 본문

Web dev

웹서버와 WAS(웹 어플리케이션 서버또는 컨테이너)의 차이

zcarc 2019. 2. 11. 13:30

웹서버와 WAS의 차이

 

 구분
 설 명 
 
 웹 서버
 Web Client(웹 브라우저)에게 제공하는 컨텐츠를 제공하는 서버.

정적인 HTML 혹은 jpeg나 gif같은 이미지를 HTTP프로토콜을 통해 웹 브라우저로 제공.
 
 WAS
 Server단에서 어플리케이션을 동작할 수 있도록 지원.

일반적으로 컨테이너라는 용어로 사용됨.

Servlet, JSP, ASP, PHP 등의 프로그램으로 사용됨. 
 

 

Background

 

초기 web: 이미지 혹은 단순 HTML

현재: 게시판, 방명록 등 Server-Client간 상호대화하는 페이지를 제공.

       -> 내부 어플리케이션을 동작시킬 수 있는 컨테이너를 내장.

            동적인 요구에 대응하기 위해 이에 적합한 형태로 변화.

 

각 사이트가 많은 사용자에게 원활한 서비스를 제공하기 위해 기능적인 layer를 나누게 됨.

-> 여기서 웹서버와 WAS의 구분이 나타나게 됨.

 

 

 

* 웹 서버와 WAS의 기능적 분류를 통해 효과적 분산을 유도한 예

 

정적인 데이터(image, CSS, js-javascript- 파일 등의 리소스)는 구조족으로 앞에 존재하는 웹 서버에서 처리하고

WAS로 서비스 요청이 넘어가지 않게 한다.

동적인 데이터는 WAS가 처리한다. WAS는 웹 어플리케이션의 수행에 집중할 수 있다.

 

Extended Description

 

- 웹서버 기능

  1. Clustering 기능: 사용자 요청이 발생하면 상황에 따라 각각의 WAS에 요청을 넘김.

  2. Cache 기능: css, js, image 등의 리소스 파일을 가지고 있다가 was를 거치지 않고 사용자에게 직접 넘김.

                      사용자는 cache period동안 전달받은 리소스를 사용함.

 

- WAS 기능

  Servlet 페이지를 html 형태로 변환함.

  예를 들어 jsp의 경우 jsp를 WAS에서 java class파일로 컴파일 후 html형태의 페이지를 사용자에게 전달하게 됨.

 

 

 

 

 

 

 

 

----------추가-------------------

 

Web Server

웹서버는 클라이언트/서버 모델과 웹의 HTTP를 사용하여 웹 페이지가 들어 있는 

파일을 사용자들에게 제공하는 프로그램이다. 

웹사이트가 운영되고 있는 인터넷상의 모든 컴퓨터들에는 모두 웹서버 프로그램이 설치되어 있다.

가장 보편적인 웹서버들로는 32 비트 윈도우와 유닉스 기반의 운영체계에서 모두 쓸 수 있는 아파치와, 

윈도우 NT에 딸려 나오는 IIS, 그리고 넷스케이프의 엔터프라이즈 서버 등이 있다.

그밖에 네트웨어 운영체계를 쓰는 사용자들을 위한 노벨의 웹서버,

주로 IBM의 OS/390과 AS/400 고객들을 위한 IBM의 로터스 도미노 서버를 비롯, 다른 웹서버들도 있다.

웹서버들은 흔히 전자우편FTP 파일의 다운로드, 그리고 웹페이지 구축, 발간 등에 필요한 인터넷 및 

인트라넷과 관련된 프로그램들의 커다란 패키지의 일부로서 나온다.

웹서버를 고를 때 고려해야할 사항으로는, 운영체계나 다른 서버들과 얼마나 잘 어울려 동작할 것이냐 하는 것과,

서버 측의 프로그래밍, 퍼블리싱, 검색엔진 등을 처리하는 능력, 그리고 함께 따라오는 구축도구 등이 있다.


 WAS (Web Application Server)
웹과 기업의 기간 시스템 사이에 위치하면서, 웹 기반 분산 시스템 개발을 쉽게 도와주고

안정적인 트랙잰션 처리를 보장해 주는 일종의 미들웨어 소프트웨어 서버.

3계층 웹 컴퓨팅 환경에서 기존 클라이언트/서버 환경의 애플리케이션 서버와 같은 역할을 하며, 

클라이언트와 서버 환경에서 트랜잭션 처리및 다른 기존 시스템 간의 

애플리케이션 연동을 등을 주된 기능으로 하고 있다. 

요즘들어서는 WAS는 주로 데이터베이스 조회나 일반적인 비즈니스 로직에 대한 처리를

위해 다양한 언어로 개발된 인터넷/인트라넷환경의 소프트웨어로 많이 불리운다. 

자바스크립트나 JSP 등과 같은 스크립트 및 서비스들은 대개 최신의 데이터를 검색하기

위해데이터베이스에 접근하고, 브라우저 또는 클라이언트 프로그램을 통해 

사용자들에게 검색 결과를 제공한다.

WAS를비롯한 애플리케이션 서버들은, 웹서버 즉 HTTP 서버와 같은 컴퓨터를 공유할 수도 있지만 

별개의 컴퓨터를 독립적으로 사용하는경우도 많다. 대규모 사이트에서는, 오히려 WAS와 웹서버 

등을 위해 여러 대의 컴퓨터가 동원되기도 한다. 
넷스케이프의Netscape Application Server, Bea의 Weblogic Enterprise,

볼랜드의 Appserver,그리고 IBM의 Websphere Application Server 등의 WAS 대표적인 제품들이다.


※Web Server와 WAS와 차이※

- Web Server 의 정의 : Web Client(웹 브라우저)에게 컨텐츠를 제공하는 서버, 

정적인 HTML이나 jpeg, gif 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에게 전송하는 역할

- WAS(Web Application Server)의 정의 
   ○ Server 단에서 Application을 동작할 수 있도록 지원함 => Jeus
   ○ 기존 웹 서버와 달리 동적인 요구에 대응하기 위해 적합한 형태로 변화, 

       Web Client(브라우저)에게는 결과값만 전송함.
   ○ Container(컨테이너)라는 용어로 쓰이며, 초창기는 CGI, 그 후에서는 Servlet, 

      , JSP, ASP 등의 프로그램으로 사용됨

- Web Server와 WAS의 구성에 따른 분류
   ○ WAS와 WebServer를 분리하지 않는 경우  
   모든 컨텐츠를 한곳에 집중시켜 웹서버와 WAS의 역할을 동시에 수행, 

   스위치를 통한 로드 밸러싱, 사용자가 적을 경우 효율적
  
   ○  WAS와 WebServer를 분리한 경우 
   웹서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도,

   정적인 데이터는 웹서버에서 처리, 동적인 데이터는 WAS가 처리
 
   ○  WAS 여러개와 WebServer를 분리한 경우
   WAS단을 프리젠테이션 로직와 비즈니스 로직으로 구분하여 구성, 

   특정 logic의 부하에 따라 적절한 대응할 수 있지만 설계단
   계 유지보수 단계가 복잡해 질 수가 있다. 


 WAS 와 Web Server 종류

   ○ WAS 종류
   tomcat, tMax jeus, BEA Web Logic, IBM Webspere, JBOSS,Bluestone, Gemston,

   inprise, Oracle, PowerTier,Apptivity, silverStream
   ○ Web Server  
    IIS, apache, tMax, WebtoB

   - tomcat
       아파치 소프트웨어 재단의 애플리케이션 서버로서, 자바 서블릿을 실행시키고 JSP 코드가 포함되어

      있는 웹페이지를 만들 어준다. 

      자바 서블릿과 JSP 규격 '참조용 구현'으로 평가되고 있는 톰캣은, 

      개발자들의 개방적 협력 작업의 산물로 바이너리 버전과 코어버전 둘 

      모두를 아파치 웹사이트에서 얻을 수 있다. 톰캣은 자체적으로 보유하고 있는 내부 웹서버와 함께 독립
      적으로 사용 될 수도 있지만 아파치나 넷스케이프 엔터프라이즈 서버, 

      IIS, 마이크로소프트의 PWS 등 다른 웹서버와 함께 사용할 수도 있다. 

      톰캣을 실행시키기 위해서는 jre  1.1  이상에 부합되는 자바 런타입 환경이 필요하다