오픈 소스 자바 EE 애플리케이션 서버의 상태
이 글은 커뮤니티에서 어떤 활성 컨테이너를 사용할 수 있고 각 컨테이너의 일반적인 상태를 어떠한지 알 수 있도록 하기 위해 현재 사용 중인 오픈 소스 자바 EE 애플리케이션 서버 및 서블릿 컨테이너(웹 컨테이너)에 대한 매우 기본적인 검토 내용입니다. 이 글은 개발 또는 제품 생산 과정에서 나중에 이들 중 하나를 사용하도록 선택할 필요가 있는 사람이 출발점으로 삼을 수 있게 하려는 목적만 가지고 있습니다. 이들을 상세히 비교한 내용은 기술 서적의 많은 지면을 할애해야 기술 가능합니다.
완전히 파괴된 오픈 소스 자바 EE 애플리케이션 서버:
Caucho의 유명한 제품인 레진은 꽤 오랫동안 사용된 오픈 소스 자바 EE 애플리케이션 서버로, 이 서버를 소규모 또는 대규모로 배포하여 DZone 자체와 같이 다양한 대소 규모의 시스템에 사용하고 있습니다.
현재 안정적인 레진 버전은 자바 EE 5를 완전히 지원하는 3.1.9이며 현재 버전을 대체할 개발 단계의 버전은 4.0.1입니다. 레진 라이선싱 스키마는 다른 대체 스키마와는 약간 다릅니다. 상업용으로 사용하려면
매년 CPU 단위로 Caucho에 소정의 요금을 지불해야 하지만, 오픈 소스 배포자와 평가자를 위한 GPL 버전을 제공합니다. 레진의 다른 버전들은 기능과 특징이 다른 기능 집합과 함께 사용할 수 있고, 각 버전에는 자체적인 가격 결정 스키마가 있습니다. 다른 버전과 라이선스 요금에 대한 자세한 내용은 라이선싱에서 확인할 수 있습니다.
레진은 통합 캐싱 시스템의 클러스터링, 고가용성 지원 및 각종 이점이 제공됩니다. Quercus를 사용하여 PHP 애플리케이션을 호스트하는 글래스피쉬 레진 지원과 유사합니다.
관리 및 유지 관리를 위해, 레진은 관리자와 개발자가 애플리케이션 서버에서 다른 서비스들의 상태를 볼 수 있게 하기 위해 가벼운 모니터링 애플리케이션을 제공함으로써 대체 경로를 택했고 관리자들이 구성 파일을 통해 관리 및 구성 작업을 수행할 수 있게 했습니다.
개발 도구 지원에 관해서라면 Ant, Maven 및 Ivy와의 통합과 함께 NetBeans, Eclipse 및 IntelliJ 통합을 예상할 수 있습니다.
- 다운로드 링크: http://www.caucho.com/download/ 버전 4.0.1을 구할 수 있음
- 시작 방법: OS에 따라 install_dir/bin으로 이동하고 /resin.sh start 또는 resin.bat start를 실행함
- 모니터링 콘솔: 세부 사항: URL: http://127.0.0.1:8080/resin-admin/ 더 진행하려면 사용자와 암호를 만들어야 합니다. 화면에 표시되는 절차에 따라 사용자와 암호를 만듭니다.
제로니모: ASF 하에서 분명히 배포되는 아파치 자바 EE 애플리케이션 서버. 새 자바 EE 사양을 구현하는 문제라면 제로니모가 글래스피쉬보다 못하지만,
JBoss에 비해 관리 콘솔이 좋다는 점이 이점입니다. 클러스터링은 Terracotta와 같은 타사 제품을 통해 사용할 수 있고 클러스터링 및 고가용성에 대해 기본 제공되는 지원은 없습니다. 제로니모는 ServiceMix 및 ActiveMA와 같은 다른 아파치 프로젝트와 잘 통합됩니다. 제로니모의 현재 버전은 v2.1.4이고 자바 EE 5 사양을 완벽히 지원합니다. 제로니모에 대한 상업적 지원은 IBM 웹스피어 애플리케이션 서버 커뮤니티 에디션을 통해 받을 수 있습니다.
제로니모의 두 가지 배포 버전을 따로 사용할 수 있는데, 하나는 제티가, 다른 하나는 톰캣이 웹 컨테이너로 포함되어 있습니다. 모든 주요 IDE는 개발 서버로서 제로니모를 지원합니다.
- 다운로드 링크: http://geronimo.apache.org/apache-geron ··· ase.html
- 시작 방법: OS에 따라 install_dir/bin으로 이동하고 ./geronimo.sh start 또는 geronimo.bat start를 실행함
- 관리 콘솔 세부 정보: URL: http://localhost:8080/console/ 자격 증명: 시스템/관리자
글래스피쉬: 주로 썬 마이크로시스템즈에서 개발했으며 모듈식 아키텍처와 확장 가능한 아키텍처에서 이익을 얻습니다. 글래스피쉬는 새 자바 EE 사양 구현 능력을 커뮤니티에 제공하는 동시에, 모든 사용자에게 고급 관리 채널, 기본 제공
클러스터링 및 고가용성, OSGI 런타임 배포 등과 같은 기능을 제공합니다. 글래스피쉬를 사용한다는 것은 사용자가 배포 비트를 변경할 필요 없이 계약에 서명하면 썬으로부터 손쉽게 지원을 얻을 수 있음을 의미합니다. 현재 안정적인 글래스피쉬 버전은 글래스피쉬 2.1.1이고 다음 주 버전은 자바 EE 6에 완전히 적합하고 OSGI를 기반으로 하는 애플리케이션 서버인 글래스피쉬 v3입니다. 새 버전은 올해 11월에 릴리스될 예정입니다. 오픈 소스 글래스피쉬는 CDDL 및 GPL 라이선스에서 액세스 가능합니다.
글래스피쉬는 운영 체제(솔라리스)에서 시작하여 IDE(NetBeans)까지 다양하고 폭 넓은 썬 제품군과의 통합으로 많은 이점을 누립니다. 글래스피쉬 ESB, 오픈 포털, OpenSSO 및 OpenMQ는 글래스피쉬가 잘 통합되는 주목할 만한 프로젝트 중 일부입니다.
글래스피쉬의 다른 강점은 필수 소프트웨어 및 라이선스 비용을 전혀 지불하지 않아도 입증된 고가용성 인프라를 이룰 수 있는 썬 HADB와의 통합 능력입니다.
모든 주요 IDE는 글래스피쉬를 개발 서버로 지원하며, 이는 글래스피쉬를 사용하여 자바 EE 애플리케이션을 손쉽게 개발하기 시작할 수 있다는 뜻입니다.
- 다운로드 링크: https://glassfish.dev.java.net/downloads/v2.1.1-final.html
- 시작 방법: intall_dir/bin으로 이동하고 asadmin start-domain을 실행함
- 관리 콘솔 세부 정보: URL: http://localhost:4848 기본 자격 증명: admin/adminadmin
JBoss: JBoss는 다른 프로젝트보다 오랫동안 오픈 소스 커뮤니티에서 있었고 레드 햇 지원의 이점이 있습니다. JBoss 애플리케이션 서버는 기본적으로 클러스터링 및 고가용성을 제공하지만, 버전 5.1부터 배포에 포함되는 관리 콘솔은 관리자가 모든 애플리케이션 서버 리소스를 관리할 수 있도록 하기에 충분히 발전되지는 않습니다. 포함된 관리 및 유지 관리 콘솔은
Jopr(http://www.jboss.org/jopr)의 임베디드 버전입니다. 이 콘솔은 ESB, 캐시 등의 모든 JBoss 기술을 위한 단일 관리 및 유지 관리 지점으로 작동합니다. JBoss의 현재 버전은 5.1.0.GA이고 다음에 나올 버전은 5.2입니다. JBoss는 LGPL 하에서 배포되며 관심 있는 사람은 누구든지 레드 햇으로부터 상용 지원을 받을 수 있습니다. JBoss 커뮤니티 배포 및 엔터프라이즈 배포는 두 가지 다른 패키지이며, 커뮤니티 지원에서 상용 지원으로의 이동은 JBoss 엔터프라이즈 미들웨어라는 이름의 다른 Jboss 버전 설치를 의미합니다.
JBoss 애플리케이션 서버는 JBoss에서 제공하는 다양한 미들웨어와 통합함으로써 기대하는 효과를 거둡니다. 이 제품에는 캐싱, BPM, ESB, 포털 등이 포함됩니다. 개발 측면에서는 Eclipse를 기반으로 하는 JBoss Developer Studio(무료로 사용할 수는 없음)를 사용하며 Jboss에서 제공하는 다양한 미들웨어를 위한 도구를 제공합니다.
모든 주요 IDE는 JBoss를 개발 서버로 지원하며, 이는 이 애플리케이션 서버에서 애플리케이션을 손쉽게 개발하기 시작할 수 있다는 뜻입니다.
- 다운로드 링크: http://www.jboss.org/jbossas/downloads/
- 시작 방법: OS에 따라 install_dir/bin으로 이동하고 ./run.sh 또는 ./run.bat를 실행함
- 관리 콘솔 세부 정보: URL: http://localhost:8080/admin-console/ 기본 자격 증명: admin/admin
설계, 배포 및 관리하기 위해 JASMINe과 통합됩니다.
Jonas의 현재 버전은 자바 EE 5를 완벽히 지원하는 5.1이고, 다음에 나올 것으로 계획된 버전은 자바 EE와 자체 관리 기능을 기본적으로 지원하는 5.2로서 2010년 2월에 릴리스될 예정입니다. Eclipse 및 NetBeans와 같은 주요 IDE는 개발 서버로서 JOnAS를 지원합니다. Jonas는 LGPL 하에서 배포됨
- 다운로드 링크: http://wiki.jonas.ow2.org/xwiki/bin/view/Main/Downloads
- 시작 방법: OS에 따라 install_dir/bin으로 이동하고 ./jonas start 또는 jonas.bat start를 실행함
- 관리 콘솔 세부 정보: URL: http://localhost:9000/jonasAdmin/ 자격 증명: admin/admin
서블릿 컨테이너:
제티: 제티는 일정 수준까지 톰캣에 대한 대한으로 간주됩니다. 이들 컨테이너 아키텍처의 차이 때문에, 각기 다른 사용자층을 가지고 있습니다. 톰캣은 기능이 다양한 데 반해, 제티는 더 가볍고 내장시키기 쉽고 고도로 모듈화되어 있는 것으로 여겨집니다. 두 프로젝트 모두
큰 부하를 받는 조건에서 좋은 성능을 보이지만, 확실히 버전마다 차이가 있고 사용 사례에 따라서도 다른 결과를 나타냅니다. Gigaspaces, WADI, Terracotta 등을 사용하여 제티 인스턴스의 클러스터를 구성할 수 있습니다. 제티에는 관리 콘솔이 없고 모든 것은 구성 파일에 필요한 변경 사항을 추가하여 구성 파일을 거쳐야 합니다. 톰캣과 제티를 잘 비교한 자료는 다음 URL에서 확인할 수 있습니다. http://www.webtide.com/choose/jetty.jsp
- 다운로드 링크: http://www.eclipse.org/jetty/downloads.php
- 시작 방법: OS에 따라 install_dir/bin으로 이동하고 ./jetty.sh start 또는 jetty.bat start를 실행함
- 관리 콘솔 세부 정보: 관리 콘솔 없음.
참고: 제티를 시작하기 전, OS에 따라 install_dir/bin/jetty.sh 또는 jetty.bat에 다음 행을 추가합니다.
Windows:
set JETTY_HOME=path/to/jetty/install/dir
Linux, UNIX..:
export JETTY_HOME=path/to/jetty/install/dir
톰캣: 아파치 톰캣은 과거 10년간 사용되었고 지금도 가장 널리 사용되는 서블릿 컨테이너입니다. 인터넷에서 글래스피쉬, 제로니모, JBoss 및 JOnAS 호스팅은 찾기 힘들지만,
공유 호스트 공급자 중 다수가 고객을 위해 톰캣 호스팅을 제공합니다. 아파치 톰캣은 아파치 라이선스 하에서 배포되고 현재 버전(6.0.20)은 서블릿 2.5와 JSP 2.1을 지원합니다. 아파치 톰캣에는 관리자에게 매우 기본적인 구성 기능을 제공하는 번들형 관리 콘솔이 있습니다. 대부분의 관리 및 유지 관리 작업은 구성 파일을 편집하여 완료해야 합니다. 톰캣은 알려진 모든 IDE 및 빌드/배포 도구에서 지원되고 커뮤니티에서 높은 인기를 누리고 있습니다. 톰캣에는 내장형 클러스터링 및 세션 복제 지원 기능이 제공됩니다.
- 다운로드 링크: http://tomcat.apache.org/download-60.cgi#6.0.20
- 시작 방법: OS에 따라 install_dir/bin으로 이동하고 ./startup.sh 또는 startup.bat를 실행함
- 관리 콘솔 세부 정보: URL: http://127.0.0.1:8080/manager/html 자격 증명: admin/admin
참고: 톰캣을 시작하기 전에 tomcat-users 노드 내부의 install_dir/conf/tomcat-users.xml에 다음 행을 추가합니다.
<user username="tomcat" password="tomcat" roles="manager"/>
결론: 이 프로젝트 중 어떤 것도 모든 개발 및 배포 계획과 요구 사항에 딱 들어맞을 수는 없습니다. 그들 각각은 5가지 다른 경쟁 프로젝트에 비해 나름의 강점과 약점이 있습니다. 따라서 이들을 모두 테스트한 후 어떤 것이 더 나은지 결정해야 합니다.
----------------------------------------------------------------------------------------
원문 :
State of Open Source Java EE Application Servers
http://weblogs.java.net/blog/kalali/arc ··· -servers
"Java EE" 카테고리의 다른 글
- JAX-WS 핸들러 구성, 패키징, 배치하기 (댓글 2개 / 트랙백 0개) 2006/10/19
- Enterprise Bean에서 보안 주석 사용하기 (댓글 4개 / 트랙백 0개) 2007/05/28
- 엔터프라이즈용 Java Application Verification Kit, 2부 (댓글 1개 / 트랙백 0개) 2005/10/05
- Java Persistence를 최상으로 구현하는 방법 (댓글 12개 / 트랙백 0개) 2007/07/23
- SAAJ 소개 (댓글 1개 / 트랙백 0개) 2005/06/08
- 커스텀 ELResolver를 이용하여 통합 EL 확장하기 (댓글 4개 / 트랙백 0개) 2006/10/19
- JAX-WS를 이용한 웹 서비스 개발 (댓글 1개 / 트랙백 0개) 2006/01/18
- JAXR (JAVA API FOR XML REGISTRIES) (댓글 1개 / 트랙백 0개) 2005/05/18
- GlassFish에서 호출 흐름 모니터링하기 (댓글 3개 / 트랙백 0개) 2006/06/16
- Groovy, Grails, MySQL 및 Java Persistence API의 조합 (댓글 0개 / 트랙백 0개) 2008/08/20
댓글을 달아 주세요