본문 바로가기

Programming/WAS

[WAS] Web Server와 WAS의 이해

Web Server와 WAS의 이해



Web server와  WAS의 이해

  • Web Server의 정의 : 
    • Web Client(웹 브라우저)에게 컨텐츠를 제공하는 서버, 정적인 HTML이나 jpeg, gif 같은 이미지를 HTTP 프로토콜을 통해 웹 브라우저에 전송함 => WebToB
  • WAS(Web Application Server)의 정의

    • Server 단에서 Application을 동작할 수 잇도록 지원함. => Jeus
    • 기존 웹 서버와 달리 동적인 요구에 대응하기 위해 적합한 형태로 변화, Web Client(브라우저)에게는 결과값만 전송함.
    • Container(컨테이너)라는 용어로 쓰이며, 초창기는 CGI, 그 후에서는 Servlet, JSP, ASP 등의 프로그램으로 사용됨
  • 웹서버와 WAS의 구성에 따른 분류

    • WAS & WebServer : 모든 컨텐츠를 한고에 집중시켜, 웹서버와 WAS의 역할을 동시에 수행, 스위치를 통한 로드 밸런싱, 사용자가 적을 경우 효율적
    • WAS X WebServer : 웹서버와 WAS의 기능적 분류를 통해 효과적인 분산을 유도, 정적인 데이터는 웹서버에서 처리, 동적인 데이터는 WAS가 처리
    • WAS X WAS X WebServer : WAS단을 프리젠테이션 로직와 비즈니스 로직으로 구분하여 구성, 특정 logic의 부하에 따라 적절한 대응, 구성이 복잡해지는 단점

WAS 도입효과 및 기술표준

  • WAS 도입효과

    • 안정된 시스템 구성 : 안정적 서비스 보장, 자동적인 어플리케이션 복구기능 제공, 업무 로직이 중간 어플리케이션 서버에 존재, 쉽고 빠르게 구축할 수 있다.
    • DB 성능 보장 : WAS서버가 DB서버와의 최적 사용을 조절화, DB connection pool을 총해 DB connection 관리 및 트랜잭션 처리
    • 비용절감 : 서버 리소스의 원할한 사용
  • WAS 기술 표준

    • J2EE : Java 기반의 분산객체 아키텍쳐
  • WAS는 J2EE 아키텍쳐를 구현한 플랫폼 솔루션
  • WAS의 일반적인 기능

    • Web 환경을 위한 n-tier Architecture 플랫폼
    • Presentation(GUI)과 Business Logic의 분리 운영
    • Thread 관리
    • 부하조절(Load Balancing) 기능 지원
    • 장애대책(Fail-Over) 기능 지원
    • Transaction 처리 자동화
    • Web Service 플랫폼으로써의 역할