AP Server와 WAS의 관계

2024. 12. 5. 19:06CS

1. 웹 서버 (Web Server)

  • 웹 서버는 HTTP 요청을 받아서 클라이언트에게 정적 콘텐츠(HTML, CSS, 이미지 등)를 제공하는 서버입니다.
  • 웹 서버는 웹 브라우저에서 요청한 자원(웹 페이지, 이미지 등)을 처리하고 응답을 반환합니다.
  • 웹 서버는 동적 콘텐츠 처리(예: 서버에서 데이터베이스 쿼리 실행 후 결과를 웹 페이지로 렌더링)에는 제한이 있어 보통 애플리케이션 서버에 요청을 전달합니다.
  • Apache HTTP Server, Nginx

2. 웹 애플리케이션 서버 (Web Application Server, WAS)

  • 웹 애플리케이션 서버는 HTTP 요청을 처리와 같은 웹 서버의 역할을 포함하면서, 동적 콘텐츠 처리를 할 수 있는 서버입니다.
  • 즉, 웹 애플리케이션에서 서블릿(Servlet)이나 JSP와 같은 동적인 콘텐츠를 생성하고 실행할 수 있습니다.
  • WAS는 웹 서버 기능에 애플리케이션의 비즈니스 로직 처리를 추가한 서버입니다.
  • 세션 관리, 보안 처리, 트랜잭션 관리 등의 고급 기능도 수행.
  • Tomcat (가벼운 WAS), Jetty, WildFly (JBoss) (상급 WAS), WebLogic, GlassFish (기업용 WAS)

3. 애플리케이션 서버 (Application Server, AP Server)

  • 애플리케이션 서버는 애플리케이션의 비즈니스 로직을 처리하고, 데이터와 클라이언트 간의 중간 역할을 수행하는 역할을 한다. 
  • 클라이언트와 직접 상호작용하면서도, 데이터베이스와 서버 리소스를 최적화해 서비스의 핵심 로직을 책임진다.

AP 서버와 WAS

1. AP 서버와 WAS는 종종 같은 의미로 사용된다.

  • 실무에서 AP 서버라는 용어는 보통 WAS를 가리키는 포괄적 표현으로 쓰이는 경우가 많아.
  • "AP 서버를 띄운다" = "WAS를 띄운다"와 같은 의미로 쓰임.
  • AP 서버 = WAS = Tomcat, JBoss 등 동적 콘텐츠와 비즈니스 로직을 처리하는 서버를 지칭하는 경우가 많지.

2. AP 서버는 WAS보다 더 포괄적인 개념으로 쓰이기도 한다.

  • AP 서버가 WAS의 기능을 포함하지만, 웹 서버 역할(HTTP 요청 처리)이나 추가적인 백엔드 서비스 관리(트랜잭션 처리, 메시징 등)까지 아우를 수 있어.
  • 이런 맥락에서 AP 서버는 WAS보다 더 광범위한 개념으로 볼 수 있어.

3. WAS는 기술적으로 더 명확한 정의를 가진다.

  • WAS는 웹 애플리케이션을 실행하고 서블릿/JSP 같은 기술을 통해 동적 콘텐츠를 처리하는 서버로 명확히 정의돼.
  • 예: Tomcat은 명백히 WAS로 분류돼.

AP 서버와 WAS가 거의 비슷한 역할을 하기 때문에, "AP 서버 = WAS"로 이해해도 틀리지 않은 경우가 많아. 하지만 문맥에 따라 AP 서버는 더 넓은 개념으로 쓰일 수도 있으니, 사용 환경과 목적에 따라 용어가 달라질 수 있다는 점을 기억하면 돼!