ETC - WAS

Web Application Server

API 개발하면서 늘상 들었던 용어 WAS! 오늘 제대로 알아보자.

WAS 란?

위키피디아에 따르면 WAS(Web Application Server)는 말 그대로 web application을 “호스팅”하는 서버를 지칭한다. 응? web application???

  • Web Application
    • Application 중에서 네트워크 연결한 후 웹 브라우저를 통해 실행 할 수 있는 것을 말한다. 예를 들면 내가 매일 사용하는 YouTube, Google, Facebook 등등 웹 브라우저로 프로그램이 실행되기 때문에 web application이라고 한다. 알다시피 Youtube는 우리의 검색어를 받아서 수많은 동영상 중 내가 가장 보고 싶을만한 비디오를 제공한다. 이렇게 복잡한 기능을 구현하기 위해서는 사용자 데이터를 받아 처리할 수 있는 Web Server(WAS)가 필요하다. web application은 사용자(client)가 보는 화면과 실제로 데이터가 처리되고 프로그램이 관리되는 서버(server)가 분리되있기 때문에 Client-Server구조를 따른다고 한다.

WAS의 역할

  1. Web Application 생성 - API 제공
  2. Application 실행하기 위한 환경을 제공 및 관리

1번은 WAS의 정의에서 설명한 것과 동일한 내용이다. WAS는 web browser에서 받아온 데이터를 가공해 데이터를 다시 brower로 보내주는 등의 일을 한다. 이 때 API를 사용한다. API???

  • Application Programming Interface

WAS는 단순히 앱을 만드는 것이 아니라 이를 실행하고 관리하는 환경을 제공한다. WAS는 1. clustering 2. fail-over 3. load-balancing 등의 기능을 제공한다.

Third-tiered Application

Web application을 개발할 때 시스템을 크게 3 단계 (third-tiered)로 나눈다.

  1. Presentation tier

web browser를 의미한다. web browser는 보통 html, CSS, javascript로 개발한다.

  1. Application tier

web browser에서 데이터를 받아와 처리하는 단계다. 보통 JSP/Java, Node.js, Python 언어를 사용한다.

  1. Storage tier

Database를 의미한다. application tier에서 처리한 결과물을 database에 저장, 삭제, 변경, 생성한다.

Reference

  1. wiki-appserver