[TIL] 웹 애플리케이션 아키텍처, Web Server와 WAS

Sophia Park
4 min readMar 18, 2021

웹 애플리케이션이란?

  • 웹 애플리케이션은 사용자 인터페이스 및 데이터를 포함한 클라이언트와 서버 애플리케이션이다.
  • 인터넷으로 연결된 웹환경에서 사용자들간의 연결을 통해 서비스를 제공하고 제공 받는 어플리케이션을 의미한다.
  • 사용자(클라이언트)가 웹브라우저의 주소창이나 하이퍼링크 등을 사용하여 서비스를 요청하면 서버쪽에서 그 요청된 정보를 처리하여 결과를 HTML 형태로 사용자의 웹브라우저에 보내준다.
  • 웹 애플리케이션의 서버 측(Server Side)은 데이터의 저장 및 벡 엔드 코드 또는 비지니스 로직의 처리를 담당하고, 클라이언트 측(Client Side)은 서버 측으로부터 받아온 데이터를 기반으로 프론트엔드 코드 또는 프레젠테이션 로직을 처리해 사용자에게 제공한다.

구성요소

사용자 인터페이스 / 사용자 경험(UI/UX) / 구조(structure)

구조의 구성 요소(Structual Components)

  1. 서버 구성 요소
  • 웹서버 : 웹브라우저의 요청을 받아 결과를 바로 브라우저에 전송하거나, 웹 어플리케이션에 실행한 결과를 웹 브라우저에 전송한다.(Apache, IIS …)
  • 웹 어플리케이션 서버(WAS) : 웹서버 만으로는 정적인 정보 제공만이 가능하여 동적인 정보를 서비스 하기 위해서는 WAS가 필요하다. WAS는 웹서버의 요청으로 프로그래밍 언어로 만들어진 웹애플리케이션을 실행하고 그 결과를 웹 서버에 넘겨준다.
  • 데이터베이스 시스템(DBMS): 서비스에 필요한 데이터 저장
  • 미들웨어(PHP…)

2. 클라이언트 구성 요소

  • 웹브라우저
  • JavaScript
  • CSS
  • HTML

애플리케이션 아키텍처란?

  • 프레젠테이션 계층은 웹브라우저를 통해 화면을 보여주는 부분(View)
  • 비즈니스 계층은 실제 로직이 담기는 부분(Model)
  • 데이터베이스 계층은 데이터를 저장하는 부분(Controller)
  • 애플리케이션을 개발하는 과정에서 비즈니스 로직과 데이터 로직은 서버에 업데이트 한다.
  • 프레젠테이션은 클라이언트에서 관리한다.
  • 즉, 일반적으로 서버는 비즈니스 로직과 데이터 로직을 담고 있으며, 클라이언트는 사용자에게 표현되는 화면을 의미한다.

아키텍처의 변화

클라이언트(프레젠테이션) — 서버(비즈니스 로직, 데이터 로직) 형태에서

클라이언트(프레젠테이션) — 애플리케이션서버 — 서버(비즈니스 로직, 데이터 로직) 형태로 발전했다.

WAS와 Web Server

1. Web Server

  • Web Server가 설치되어있는 컴퓨터와 정적인 컨텐츠(html, jpeg,css등)를 제공하는 프로그램으로 나뉜다
  • HTTP 프로토콜을 기반으로 하여 웹 브라우저의 요청을 서비스 한다.
  • 정적인 컨텐츠 제공, WAS를 거치지 않고 바로 자원을 제공
  • 동적인 컨텐츠 제공을 위한 요청 전달 -> 클라이언트의 요청을 WAS에 보내고 WAS의 응답을 클라이언트에 전달
  • Web Server의 예 : Apache, Nginx, LLS

2. WAS(Web Application Server)

WAS = Web Server + Web Container

  • DB조회는 다양한 로직 처리를 요구하는 동적인 컨텐츠를 제공하기 위함
  • HTTP를 통해 컴퓨터나 장치에 애플리케이션을 수행해주는 미들웨어(소프트엔진)
  • 웹 컨테이너, 서블릿 컨테이너 라고도 불림
  • 분산 트랜젝션, 보안, 쓰레드 처리 등의 기능을 처리하는 분산 환경에서 사용
  • WAS의 예 : Tomcat, JBoss, Jeus, Web Sphere

참조:

https://8jz5.tistory.com/54

https://dhan-description.tistory.com/67

https://velog.io/@may_soouu/Web-Server-VS-WAS

--

--