[Java] WAS(Web Application Server)란?

김나윤·2024년 6월 20일

IT지식

목록 보기
1/2
post-thumbnail

Java를 공부할 때 WAS라는 용어가 많이 등장하는데 그냥 톰캣이 WAS구나 정도로만 막연하게 생각하고 있었는데, 정확한 용어 정리를 한 적이 없음을 깨달았다. Web Server와 WAS의 개념과 차이를 잘 모르기 때문에 한번 정리하고 넘어가려고 한다.

1. Web Server

1) 개념

HTML파일과 jpg, png, gif 확장자로 되어진 이미지 파일로 이루어진 정적인 문서나 이미지 파일을 웹페이지로 보여지게끔 제공해주는 서버이다.

2) 종류

  • Apache
  • IIS(Internet Information Server)
  • WebtoB(티맥스소프트, 국산)

2. Web Container

1) 개념

JSP(HTML 페이지 속에 Java 소스가 올라가 있는 페이지)와 Servlet(웹기능을 하도록 만들어진 Java Class)을 실행시킬 수 있는 소프트웨어이다.

2) 종류

  • Tomcat
  • Jeus (티맥스소프트, 국산)
  • WebSphere (IBM)
  • WebLogic (오라클사)
  • JBoss (Redhat)
  • Resin (Caucho)

3. WAS (Web Application Server)

1) 개념

Web Server 기능 + Web Container 기능을 합친 것을 말한다.

2) WAS 실행과정

JSP 와 Servlet 은 자바변수가 사용되어지므로 입력되어지는 변수값에 따라 그 내용이 변하기 때문에 동적 웹페이지를 구현한다.

Web Server에 JSP 페이지를 요청하면 Web Container 가 JSP 파일을 Servlet 으로 변환하여 컴파일을 수행해주고 Servlet 의 실행결과물을 Web Server에게 전달하여 화면에 보여준다.

3) WAS의 역할

  • 프로그램 실행환경과 데이터베이스 접속 기능을 제공한다.
  • 여러 개의 트랜잭션을 관리한다.
  • 업무를 처리하는 비즈니스 로직을 수행한다.

이렇게 WAS의 개념에 대해 정리하고 나니 흔히 아파치 톰캣이라고 부르던 용어에 의문이 생겼다. Apache는 Web Server에 해당이 되고 Tomcat은 Web Container에 해당하는데 왜 "아파치 톰캣"이라고 한 단어처럼 부르는 걸까? 구글링을 통해 그 답을 찾을 수 있었다.

4. 아파치 톰캣(Apache Tomcat)?

1. 아파치(Apache)

클라이언트에서 요청하는 HTTP 요청을 처리하는 Web Server이다.
이때, 아파치는 정적타입(HTML, CSS, 이미지 등)의 데이터만 처리한다.
=> 동적 데이터를 처리하기에 어려움이 있다.
=> 따라서 등장한 게 바로 톰캣!!

2. 톰캣(Tomcat)

  • 톰캣 또한 아파치 소프트웨어 재단에서 후원하고 있으면 오픈소스로 개발되고 있다.
  • Java EE 기반으로 만들어졌으면 JSP와 Servlet을 구동하기 위한 Servlet Container 역할을 한다.
  • Apache Server와 다르게 DB연결, 다른 응용프로그램과 상호작용 등 동적인 기능을 수행한다.

3. 정리

기본적으로 위처럼 아파치톰캣의 기능은 나뉘어져 있지만,
톰캣 안에 있는 컨테이너를 통해 일부 아파치의 기능을 발휘하기 때문에
보통 아파치 톰캣으로 합쳐서 부르곤 한다.



출처

Apache Tomcat 용어 의문점 해결
https://velog.io/@maestroks/JVMJavaApache-Tomcat%EC%9D%84-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

profile
Hello, world!

0개의 댓글