맨위로가기

웹 컨테이너

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

웹 컨테이너는 자바 서블릿 명세 또는 자카르타 서블릿 사양을 구현하는 애플리케이션을 지칭한다. 오픈 소스 및 상용 웹 컨테이너로 분류되며, 아파치 톰캣, 아파치 제로니모, 제티 등이 오픈 소스에 해당하고, 오라클 iPlanet 웹 서버, JBoss 엔터프라이즈 애플리케이션 플랫폼, WebLogic Application Server 등이 상용 웹 컨테이너에 속한다. 일부 웹 컨테이너는 EJB 컨테이너 기능도 함께 제공한다.

더 읽어볼만한 페이지

  • 웹 개발 - Ajax
    Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다.
  • 웹 개발 - WebXR
    WebXR은 웹 브라우저에서 가상 현실 및 증강 현실 콘텐츠를 구현하기 위한 API로, 다양한 장치 및 플랫폼에서 몰입형 웹 경험을 제공하며, 구글, 메타, 모질라 등 여러 기업과 단체가 개발에 참여하여 지속적인 업데이트를 통해 기능 향상을 목표로 한다.
  • 컴퓨터 네트워킹 - 유니캐스트
    유니캐스트는 데이터를 단일 목적지로 전송하는 방식으로, 브로드캐스트 및 멀티캐스트와 대비되며, 개인적 또는 고유한 리소스가 필요한 네트워크 프로세스에 사용되지만, 대량 데이터 전송 시 비용이 증가하는 단점이 있다.
  • 컴퓨터 네트워킹 - 노드 (네트워크)
    노드(네트워크)는 데이터 통신에서 데이터를 주고받는 장치를 의미하며, 물리적 네트워크 노드, 인터넷 노드, 통신 네트워크 노드, 분산 시스템 노드, 네트워크 가상화 노드 등으로 분류된다.
  • 소프트웨어 구조 - Ajax
    Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다.
  • 소프트웨어 구조 - 멀티테넌시
    멀티테넌시는 단일 애플리케이션 인스턴스로 여러 고객에게 서비스를 제공하여 SaaS 및 클라우드 환경에서 비용과 관리 효율성을 높이고 데이터 활용 가치를 창출하는 소프트웨어 아키텍처 방식이다.
웹 컨테이너
일반 정보
종류자바 서블릿
역할웹 서버의 확장 기능 제공
기능서블릿 생명 주기 관리, URL과 서블릿 매핑, 보안 관리
구현웹 서버 내부에 포함되거나 독립적인 컴포넌트로 존재
예시톰캣, 제티, 웹스피어
주요 기능
요청 처리HTTP 요청을 분석하고 해당 서블릿에 전달한다.
서블릿 관리서블릿의 생성, 실행, 소멸을 관리한다.
자원 관리서블릿이 필요로 하는 자원(데이터베이스 연결, 파일 등)을 제공한다.
세션 관리사용자 세션을 추적하고 관리한다.
보안사용자 인증 및 권한 부여를 수행한다.
동작 방식
1단계클라이언트가 웹 서버에 HTTP 요청을 보낸다.
2단계웹 서버는 요청을 웹 컨테이너에 전달한다.
3단계웹 컨테이너는 요청에 해당하는 서블릿을 찾아서 실행한다.
4단계서블릿은 요청을 처리하고 응답을 생성한다.
5단계웹 컨테이너는 서블릿의 응답을 클라이언트에게 다시 전달한다.

2. 서블릿 컨테이너 목록

선 마이크로시스템즈의 자바 서블릿 명세나 이클립스 재단(Eclipse Foundation)의 자카르타 서블릿 사양을 구현한 애플리케이션을 판매 여부에 따라 분류한다. 일부는 Enterprise JavaBeans 작동도 가능한 EJB 컨테이너 기능을 갖추고 있다.

서블릿 컨테이너 목록
제품명제조사비고
아파치 톰캣아파치 소프트웨어 재단
글래스피쉬오라클
JBoss레드햇
제티이클립스 재단
WebSphere Application ServerIBM


2. 1. 오픈 소스 웹 컨테이너

다음은 오픈 소스 라이선스로 배포되는 서블릿 컨테이너 목록이다.

  • 루트리스 테크놀로지스사의 엔하이드라[1]
  • 오라클의 글래스피시 (웹 컨테이너를 포함하는 애플리케이션 서버)[1]
  • 레드햇 JBoss 부서의 와일드플라이 (이전 명칭: JBoss 애플리케이션 서버). 자바 EE를 완전히 구현했다.[1][2]
  • Jaminid는 서블릿의 추상화된 개념을 포함하고 있다.[1]
  • Winstone은 v2.5 (현재 0.9) 명세를 지원하고, 최소한의 설정에 초점을 맞추고 원하는 기능만 남도록 추려내는 기능을 가지고 있다.[1]
  • Tiny Java Web Server (TJWS) 2.5는 작고 모듈화 가능하도록 설계되어있다.[1]

2. 1. 1. 아파치 소프트웨어 재단

아파치 소프트웨어 재단에서 개발 및 배포하는 서블릿 컨테이너는 다음과 같다.

  • 아파치 톰캣: 아파치 소프트웨어 라이선스 하에 사용할 수 있는 오픈 소스 웹 컨테이너이다. 6 이상 버전은 일반적인 애플리케이션 컨테이너로도 작동할 수 있다.
  • 아파치 제로니모: 자바 EE 6를 완전히 구현한 웹 컨테이너이다.

2. 1. 2. 이클립스 재단

이클립스 재단제티SPDY와 WebSocket 프로토콜을 지원한다.[1] 버고는 이클립스 재단에서 제공하며, 내장된 톰캣제티를 사용하여 구현된 모듈형 OSGi 기반 웹 컨테이너이다.[1] 버고는 이클립스 공용 라이선스 하에 사용할 수 있다.[1]

2. 1. 3. 기타 오픈 소스 웹 컨테이너


  • 아파치 톰캣(예전 자카르타 톰캣)은 아파치 소프트웨어 라이선스 하에 사용할 수 있는 오픈 소스 웹 컨테이너이다. 6 이상 버전은 일반적인 애플리케이션 컨테이너로 작동할 수 있다(이전 버전은 웹 컨테이너만 지원).[1]
  • 아파치 제로니모아파치 소프트웨어 재단에서 자바 EE 6를 완전히 구현한 웹 컨테이너이다.[1]
  • Lutris Technologies사의 Enhydra.[1]
  • 오라클의 글래스피시(웹 컨테이너를 포함하는 애플리케이션 서버)[1]
  • 제이보스(현재 WildFly)는 레드햇의 제이보스에서 자바 EE를 완전히 구현한 웹 컨테이너이다.[1]
  • 이클립스 재단제티. SPDY웹소켓 프로토콜을 지원한다.[1]
  • Jaminid는 서블릿의 추상화된 개념을 포함하고 있다.[1]
  • Winstone은 v2.5 (현재 0.9) 명세를 지원하고, 최소한의 설정에 초점을 맞추고 원하는 기능만 남도록 추려내는 기능을 가지고 있다.[1]
  • Tiny Java Web Server(TJWS) 2.5는 작고 모듈화 가능하도록 설계되어있다.[1]
  • 이클립스 재단의 Virgo는 모듈화된 OSGi 기반의 웹 컨테이너로 내장 톰캣과 제티를 구현하고 있다. Virgo는 이클립스 공용 라이선스 하에 사용 가능하다.[1]
  • 엔하이드라[2]
  • 와일드플라이(이전 명칭: JBoss 애플리케이션 서버)는 레드햇의 JBoss 부서에서 제공하는 완전한 자바 EE 구현체이다.[2]

2. 2. 상용 웹 컨테이너

다음은 상용 라이선스로 판매되는 서블릿 컨테이너 목록이다.

  • iPlanet 웹 서버 (오라클)
  • 레드햇의 JBoss 엔터프라이즈 애플리케이션 플랫폼은 서브스크립션 커머스와 오픈소스로 된 자바 EE 기반의 애플리케이션 서버다.
  • 어도비 시스템즈의 JRun (과거 Allaire Corporation에서 개발).
  • WebLogic 애플리케이션 서버 (오라클, 과거 BEA Systems에서 개발).
  • IronFlaer의 Orion 애플리케이션 서버.
  • Caucho Technology의 Resin Pro.
  • New Atlanta Communications의 ServletExec.
  • IBM WebSphere 애플리케이션 서버
  • SAP NetWeaver
  • SpringSrouce Inc. 의 tc Server.


일부 제품은 비즈니스 로직을 처리하는 Enterprise JavaBeans의 작동도 가능한 EJB 컨테이너로서의 기능도 함께 갖추고 있다.

참조

[1] 서적 Java EE 7 Developer Handbook https://books.google[...] Packt Publishing Ltd 2013-09-20
[2] 웹사이트 J2EE Framework for project development http://www.slideshar[...] 2016-06-15
[3] 웹사이트 J2EE 1.4 Glossary http://java.sun.com/[...] Sun Developer Network 2010-04-06
[4] 웹인용 MAKE TECHNICAL TALK FRIENDLY & DIGESTIBLE http://www.insiteadv[...] 2015-10-20



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com