웹 컨테이너
"오늘의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 컨테이너 기능을 갖추고 있다.
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