WAS 종류 정리 (Jetty, Tomcat, JBoss, WebLogic, WebSphere, JEUS)

국내에서 아직까지 가장 많이 사용되는 백엔드 언어는 자바(JAVA)입니다. 그 말은 자바로 개발된 웹 애플리케이션이 매우 많다는 의미이고, 그만큼 자바 기반의 WAS(Web Application Server)가 많이 사용됩니다. 자바 기반의 WAS를 볼 기회가 많습니다.

WAS 역할

우선 WAS가 필요한 이유부터 알아보겠습니다. 자바 웹 애플리케이션을 실행하기 위해 서버에 필요한 기능들이 있습니다. 이런 기능들을 제공하는 게 WAS입니다. 개발자는 WAS를 활용해서 애플리케이션을 개발합니다.

 

1. Servlet과 JSP 실행

웹 애플리케이션은 주로 Servlet과 JSP(Java Server Pages)를 사용하여 개발되며, 이러한 컴포넌트들을 실행하고 관리할 수 있는 기능이 필요합니다.

 

2. 세션 관리

웹 애플리케이션은 사용자 세션을 관리해야 합니다. 사용자가 로그인하면, 서버는 그 사용자의 세션을 추적하고 관리해야 합니다. 이를 위해, 웹 애플리케이션 서버는 세션 생성, 세션 데이터 저장, 세션 무효화 등의 기능을 제공해야 합니다.

 

3. 보안

웹 애플리케이션 서버는 HTTPS 지원, 인증과 권한 부여, 데이터 암호화 등의 보안 기능을 제공해야 합니다.

 

4. 데이터베이스 연결 관리

대부분의 웹 애플리케이션은 데이터베이스와 연결되어 데이터를 읽고 쓰게 됩니다. 웹 애플리케이션 서버는 데이터베이스 연결 풀을 관리하고, 데이터베이스 연결을 애플리케이션에 제공하는 기능을 가지고 있어야 합니다.

 

5. 클러스터링과 로드 밸런싱

웹 애플리케이션 규모가 크면 여러 서버에 분산 실행되는 경우가 있습니다. 이럴 때 웹 애플리케이션 서버는 클러스터링과 로드 밸런싱 기능을 제공해야 합니다.

 

6. 에러와 예외 처리

웹 애플리케이션에서 발생하는 에러와 예외를 적절하게 처리하고, 필요한 경우 에러 페이지를 사용자에게 보여줄 수 있어야 합니다.

 

7. 로깅과 모니터링

웹 애플리케이션의 동작을 추적하고 문제를 발견하기 위해 로깅과 모니터링 기능이 필요합니다.

 

WAS 종류

제가 느끼기에 국내 기업에서 자주 사용하고 있는 WAS는 대략 5~6개 정도입니다. 간단하게 정리해 보겠습니다. 확실한 건 아니지만, 체감상 언급하는 순서대로 많이 사용되는 거 같습니다.

 

1. Apache Tomcat

 

tomcat

 

Apache Tomcat은 오픈 소스 서블릿 컨테이너로 가장 널리 사용되는 WAS 중 하나입니다. 기업뿐만 아니라 개발을 막 시작한 예비 개발자들도 서버 개발을 하면 열에 아홉은 톰켓을 씁니다. 톰캣은 Java Servlet, JavaServer Pages(JSP), Java Expression Language, Java WebSocket 기술을 지원합니다. 오픈 소스로 제공되기 때문에 사용료가 없습니다. 많이 사용되는 만큼 커뮤니티 자원도 풍부해서 문제가 있을 때 찾아볼 수 있는 자료가 많습니다. 중소 규모의 웹 애플리케이션을 호스팅 하는데 적합합니다.

 

2. Jetty

 

jetty

 

Jetty는 Eclipse Foundation에서 개발한 오픈 소스 서블릿 컨테이너입니다. 가볍고 빠른 퍼포먼스와 유연성이 특징입니다. Jetty는 애플리케이션 내에 직접 포함될 수 있는 경량화된 WAS입니다. 이런 특징으로 인해, 임베디드 웹 서버나 마이크로서비스 아키텍처에 특히 적합합니다. 또한, 완전 비동기 I/O를 지원하므로 대량의 동시 연결을 효율적으로 처리할 수 있습니다.

 

3. JBoss

 

jboss

 

Red Hat이 제공하는 JBoss EAP (Enterprise Application Platform)는 풀스펙의 Java EE를 지원하는 오픈 소스 WAS입니다. Java EE 전체 스택을 지원하므로 복잡한 엔터프라이즈 애플리케이션을 개발하고 실행하는데 적합합니다. JBoss는 확장성, 트랜잭션 관리, 클러스터링, 메시지 큐 등의 고급 기능을 제공합니다.

 

4. Oracle WebLogic

 

weblogic

 

Oracle WebLogic Server는 상업적으로 사용되는 풀스펙의 Java EE WAS입니다. 큰 규모의 엔터프라이즈 애플리케이션에서 주로 사용되며, Oracle 데이터베이스, Oracle Cloud와의 통합성, 성능, 안정성을 강조합니다.

 

5. IBM WebSphere

 

websphere

 

IBM WebSphere Application Server도 상업용 WAS로 Java EE 풀스펙을 지원합니다. 오라클과 비슷하게 IBM의 다른 솔루션들과의 통합성이 특징이며 보안 및 관리 도구, 트랜잭션 관리 등의 고급 기능을 제공합니다.

 

6. TmaxSoft JEUS

 

jeus

 

JEUS는 국내 업체인 티맥스소프트에서 개발한 토종 WAS입니다. Java EE를 완전히 지원합니다. 국산이다보니 한국 기업 환경에 적합하도록 설계가 됐습니다.

반응형

댓글

Designed by JB FACTORY