글래스피시
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.
1. 개요
글래스피시는 썬 마이크로시스템즈에서 시작된 오픈 소스 애플리케이션 서버 프로젝트이다. Java EE 사양을 지원하며, 2005년 6월에 시작되어 오라클을 거쳐 현재는 이클립스 재단에서 관리하고 있다. 글래스피시는 모듈식 아키텍처와 고성능 요청 디스패처인 Grizzly를 특징으로 하며, Java EE 및 Jakarta EE의 참조 구현으로 사용된다. 페어라 서버와 같은 파생 제품도 존재하며, 한국어를 포함한 다국어 지원을 제공한다.
더 읽어볼만한 페이지
- 오라클 코퍼레이션 - 오라클 파크
오라클 파크는 샌프란시스코 자이언츠의 홈 구장으로, 맥코비 코브와 인접한 독특한 입지 조건과 스플래시 히트 존으로 유명하며 야구 외 다양한 스포츠 및 문화 행사가 개최되는 장소이다. - 오라클 코퍼레이션 - Btrfs
Btrfs는 내결함성, 복구 기능, 쉬운 관리를 특징으로 하는 카피-온-라이트 방식의 파일 시스템으로, 동적 아이노드 할당, 쓰기 가능한 스냅샷, 서브볼륨, 압축, 온라인 조각 모음 등의 기능을 제공하며 데이터 무결성 보장 및 오류 자동 수정이 가능하다. - 썬 마이크로시스템즈 소프트웨어 - 자바 데스크톱 시스템
- 썬 마이크로시스템즈 소프트웨어 - 핫자바
핫자바는 자바 프로그래밍 언어 기반으로 개발된 웹 브라우저이며, 1995년 TED 컨퍼런스에서 처음 시연되고 SunWorld 컨퍼런스에서 공식 발표되었다. - 컴퓨터 네트워킹 - 유니캐스트
유니캐스트는 데이터를 단일 목적지로 전송하는 방식으로, 브로드캐스트 및 멀티캐스트와 대비되며, 개인적 또는 고유한 리소스가 필요한 네트워크 프로세스에 사용되지만, 대량 데이터 전송 시 비용이 증가하는 단점이 있다. - 컴퓨터 네트워킹 - 노드 (네트워크)
노드(네트워크)는 데이터 통신에서 데이터를 주고받는 장치를 의미하며, 물리적 네트워크 노드, 인터넷 노드, 통신 네트워크 노드, 분산 시스템 노드, 네트워크 가상화 노드 등으로 분류된다.
글래스피시 - [IT 관련 정보]에 관한 문서 | |
---|---|
기본 정보 | |
이름 | GlassFish |
개발자 | Eclipse Foundation (오라클에서 기증) |
최초 출시일 | 2005년 6월 6일 |
최신 버전 | 6.2.5 |
최신 버전 출시일 | 2022년 2월 13일 |
저장소 | GitHub 저장소 |
운영 체제 | 크로스 플랫폼 |
플랫폼 | Java |
프로그래밍 언어 | Java |
사용 언어 | 한국어, 영어 |
종류 | 애플리케이션 서버 |
라이선스 | Eclipse Public License 2.0 & GPL2 (GNU Classpath Exception 포함) |
웹사이트 | 공식 웹사이트 |
2. 역사
글래스피시(GlassFish)는 썬 마이크로시스템즈에서 시작하여 오라클을 거쳐 현재 이클립스 재단에서 관리하는 오픈 소스 Java EE 애플리케이션 서버이다.
글래스피시의 역사는 넷스케이프 애플리케이션 서버까지 거슬러 올라가며, 아이플래닛 소프트웨어와 함께, 오라클의 TopLink Essentials, 에릭슨의 SIP 서블릿 지원 등 다양한 회사의 코드를 포함하고 있다. 2010년에는 상용 버전과 오픈소스 버전의 차이가 이미 상당히 작았다.[20]
글래스피시는 여러 회사를 거치면서 발전해왔다.
시기 | 회사 | 내용 |
---|---|---|
2005년 ~ 2010년 | 썬 마이크로시스템즈 | 썬 마이크로시스템즈는 2005년에 글래스피시 프로젝트를 시작했다. |
2010년 ~ 2017년 | 오라클 | 2010년 오라클이 선 마이크로시스템즈(Sun Microsystems)를 인수하면서 글래스피시는 오라클의 소유가 되었다. |
2017년 ~ 현재 | 이클립스 재단 | 2017년, 오라클은 소스 코드를 이클립스 재단(Eclipse Foundation)에 기증했다. |
2. 1. 썬 마이크로시스템즈 시대 (2005년 ~ 2010년)
2005년 6월 6일, 썬 마이크로시스템즈는 Sun Java System Application Server의 검증된 소스를 게시하여 글래스피시 프로젝트를 시작했다.[9][10] 초기 버전의 빌드는 로그에서 "sun-appserver-pe9.0"으로 식별된다.[11]2006년 5월 4일, Project GlassFish는 Java EE 5 사양을 지원하는 버전 1.0(a.k.a. Sun Java System Application Server 9.0)을 출시했다. 2006년 5월 15일에는 GlassFish 1.0에서 파생된 Sun Java System Application Server 9.0이 출시되었다.[14]
2007년 5월 8일, Project 세일핀(SailFin)은 JavaOne에서 Project GlassFish의 하위 프로젝트로 발표되었다. Project SailFin은 세션 개시 프로토콜(SIP) 서블릿 기능을 GlassFish에 추가하는 것을 목표로 했다.[15]
2007년 9월 17일, GlassFish 커뮤니티는 완전한 엔터프라이즈 클러스터링 기능, 마이크로소프트와 상호 운용 가능한 웹 서비스를 갖춘 버전 2.0(a.k.a. Sun Java System Application Server 9.1)을 출시했다.
2009년 1월 21일, 썬 마이크로시스템즈와 커뮤니티는 Sailfin 1.0(a.k.a. Sun Communication Application Server 1.0)의 기반이 되는 버전 GlassFish 2.1(a.k.a. Sun GlassFish Enterprise Server 2.1)을 출시했다.
2009년 10월 28일, GlassFish 2.1.1(a.k.a. Sun GlassFish Enterprise Server 2.1.1)을 활용하고 고가용성, 롤링 업그레이드, 유연한 네트워크 토폴로지, 더 나은 과부하 보호, Diameter 지원, 진단 기능 개선, 로드 밸런서용 Java 기반 DCR 파일 등 여러 기능을 추가한 SailFin 2.0(a.k.a. Sun Communication Application Server 2.0)이 출시되었다.
2009년 12월 10일, GlassFish 3.0(a.k.a. Sun GlassFish Enterprise Server 3.0)이 출시되었다. Java EE 6 JSR 316을 완전히 구현한 첫 번째 애플리케이션 서버였다. 그러나 JSR 316은 유보된 상태로 승인되었다.[16] 이 버전에서 GlassFish는 Tomcat에서 GlassFish로 마이그레이션하기 쉬운 새로운 기능을 추가했다.[17] 다른 주요 새로운 기능은 모듈성(GlassFish v3 Prelude는 이미 아파치 펠릭스(Apache Felix) OSGi 런타임과 함께 제공), 시작 시간(몇 초), 변경 시 배포(NetBeans 및 Eclipse 플러그인 제공) 및 재배포 시 세션 보존에 관한 것이다.[18]
GlassFish는 Sun Java System Application Server 8.x의 후속 제품으로, 썬 최초의 오픈 소스 애플리케이션 서버로 개발이 시작되었다. GlassFish 프로젝트는 2005년 6월 6일에 발족하여, 2006년 5월 4일에 첫 번째 버전 (GlassFish v1)을 릴리스했다. GlassFish v1의 개요는 다음과 같다.
- Java EE 5 준수 (참조 구현)이다.[43]
- 오픈 소스이다 (라이선스는 CDDL과 GPL이다).
- 다른 그룹에서 다수의 우수한 컴포넌트를 채용하고 있다. 예를 들어 Metro (en) 나 JAXB 등이다. 여기에는 오라클에서 제공받은 en도 포함된다.
- 연간 330만 다운로드 이상을 목표로 한다.
- Sun Java System Application Server 9.0으로, 썬에 의한 상용 지원을 제공한다.
GlassFish v1은 1회의 업데이트 릴리스 (무상)와 5회의 패치 릴리스 (썬의 유상 지원에 의한)가 릴리스되었다.[44]
GlassFish v1은 Java EE 5의 참조 구현으로서의 성격이 강했고, 단일 인스턴스에 특화되어 있었다. 두 번째 메이저 릴리스(GlassFish v2)에서는 그 점을 대폭 개선했다. GlassFish v2의 새로운 기능은 다음과 같다.
기능 | 내용 |
---|---|
클러스터링 및 HADB 제공 | JXTA 기반의 인메모리 복제 메커니즘 포함 |
상용 수준의 관리 및 모니터링 기능 | 관리 콘솔(웹 기반), 문서, CLI의 모니터링 기능 포함 |
올인원 | SJS AS 8.x의 여러 에디션 통합 |
Metro 웹 서비스 프레임워크 | 마이크로소프트 제품(.NET Framework 3.0)과의 상호 연결성 보장 |
성능 향상 | 오픈 소스 애플리케이션 서버 중 유일하게 SPECjAppServer 2004 벤치마크 실시, BEA WebLogic과 IBM WebSphere를 능가하는 결과 |
GlassFish v2의 첫 번째 릴리스는 2007년 9월 17일에 이루어졌다. 이 버전의 썬에서의 명칭은 Sun Java System Application Server 9.1이다.
GlassFish v2는 2011년 1월 시점에서 4번의 업데이트 릴리스(무상)와 21번의 패치 릴리스(썬/오라클의 유상 지원)가 릴리스되었으며, 앞으로도 패치 릴리스가 예정되어 있다.
또한, GlassFish v2.1에서 썬에서의 명칭이 Sun GlassFish Enterprise Server 2.1로 변경되었고, 이후 버전 번호가 커뮤니티 버전과 상용 버전으로 통일되었다.
썬과 에릭슨에 의한 "Communication Application Server"를 구축하는 프로젝트로, 2007년 5월 8일에 GlassFish의 서브 프로젝트 [http://sailfin.dev.java.net/ SailFin]로서 Java One에서 발표되었다. SailFin은 에릭슨으로부터 제공된 SIP Servlet [47]을 GlassFish v2.1에 통합한 것이다. SailFin 1.0은 GlassFish v2.1과 동시에 2009년 1월 26일에 릴리스되었다. 썬에 의한 상용 버전은 Sun Java System Communication Application Server이다.
GlassFish v3는 다음 주요 릴리스로, Java EE 6의 참조 구현일 뿐만 아니라, 아키텍처를 근본적으로 재검토하여 OSGi 모듈 서브 시스템에 대응했다.[48] 기능을 사용할 때 초기화하여 매우 빠른 기동을 실현했으며, 재기동 대기 시간을 대폭 감소시키는 데 성공했다. 이 새로운 아키텍처는 GlassFish v3 Prelude로 선행 출시되었다. 또한, GlassFish v3에서는 Java EE 이외의 스크립트 언어에도 본격적으로 대응하고 있으며, GlassFish에서 동작하는 스크립트 언어 구현도 증가하고 있다.
2008년 11월 6일에 출시된 최초의 v3 버전이 GlassFish v3 Prelude이다. 이 제품은 Java EE 5의 하위 집합을 제공하며, 일부 Java EE 6의 기능도 포함하고 있었다. Java EE에 준수하지는 않았지만, 썬 마이크로시스템즈(Sun Microsystems)에 의한 상용 지원이 제공되었다.
2009년 12월 10일, GlassFish v3가 출시되었다. 이는 Java EE 6을 준수하는 최초의 애플리케이션 서버이다. 당초 예정되었던 클러스터 기능은 GlassFish v3.1로 연기되었지만, 썬에 의한 상용 지원은 계속 제공되었다. GlassFish v3의 주요 기능은 다음과 같다.
기능 | 내용 |
---|---|
Java EE 6 참조 구현 | Java EE 6의 참조 구현 제공 |
OSGi 모듈화 서브 시스템 대응 | 아파치 펠릭스(Apache Felix) 채용, 디렉토리 구조가 GlassFish v2에서 대폭 변경 |
Metro 웹 서비스 프레임워크 | 마이크로소프트 제품 (.NET Framework 3.5) 과의 상호 접속성 보장 |
비동기 I/O (Comet) | 비동기 I/O (Comet) 에 대응 |
RESTful 관리 채널 | 기존의 관리 콘솔, CLI 관리 도구에 더하여 RESTful 관리 채널 추가, JAX-RS 애플리케이션에서 서버의 관리·감시 가능 |
ZIP 아카이브 버전 배포 | 설치 프로그램 버전 외에 ZIP 아카이브 버전으로 배포 시작, 아카이브 해제 후 바로 사용 가능 |
2. 2. 오라클 시대 (2010년 ~ 2017년)
2010년 오라클이 선 마이크로시스템즈(Sun Microsystems)를 인수하면서 글래스피시는 오라클의 소유가 되었다. 오라클은 클러스터링, 가상화 및 코히어런스 등 오라클 기술과의 통합을 중심으로 글래스피시의 로드맵을 발표했다.[20]오라클 시대의 글래스피시 버전별 주요 특징은 다음과 같다.
버전 | 출시일 | 주요 특징 |
---|---|---|
3.1 | 2011년 2월 28일 | ssh 기반 프로비저닝, 중앙 집중식 관리, 클러스터링 및 로드 밸런싱 지원 도입, 웹 프로파일 및 전체 Java EE 6 플랫폼 사양 지원 유지. |
3.1.1 | 2011년 7월 28일 | 여러 구성 요소 업데이트(Weld, Mojarra, Jersey, EclipseLink 등), JDK 7 지원, AIX 지원 등 포함. |
3.1.2 | 2012년 2월 29일 | 관리 콘솔 향상, 데이터베이스로부터의 트랜잭션 복구 및 새로운 스레드 풀 속성을 포함한 버그 수정 및 새로운 기능 포함. |
3.1.2.2 | 2012년 7월 17일 | 제품의 일부 예외적인 문제를 해결하기 위한 "마이크로" 릴리스.[21] |
4.0 | 2013년 6월 12일 | Java Platform, Enterprise Edition 7 지원 제공.[22] PaaS형 클라우드에 대한 대응을 예정하고 있었으나 출시에서 제외됨.[50][51] |
4.1 | 2014년 9월 9일 | 1,000개 이상의 버그 수정, CDI 및 WebSockets의 최신 MR 릴리스 포함.[25] |
4.1.1 | 2015년 10월 7일 | 버그 수정 및 보안 수정, 여러 기본 구성 요소 업데이트.[26] |
4.1.2 | 2017년 3월 31일 | 버그 수정 포함.[27] |
5.0 | 2017년 9월 21일 | Java EE 8 오픈 소스 참조 구현 포함, Java EE 8 우산 사양과 모든 기본 사양(JAX-RS 2.1, Servlet 4.0, CDI 2.0, JSON-B 1.0, Bean Validation 2.0 등) 최종 확정 및 승인.[28] |
2013년 11월, 오라클은 글래스피시 4.1 오픈 소스 에디션을 계획하고 오픈 소스 업데이트는 계속하지만, 상업적 지원은 종료한다고 발표했다.[23][24] 상용 고객은 오라클의 대체 제품인 오라클 웹로직 서버로 전환하도록 권고받았다.[42]
2. 3. 이클립스 재단 시대 (2017년 ~ 현재)
2017년, 오라클은 소스 코드를 이클립스 재단(Eclipse Foundation)에 기증했다.[29][30] 이클립스에서 Payara는 오라클과 레드햇(Red Hat)의 지원을 받아 글래스피시 프로젝트를 이끌었다.[1]2019년 1월 29일, 이클립스 재단은 글래스피시 5.1을 출시했다. 이 릴리스는 기술적으로 오라클의 글래스피시 5.0과 동일하지만, 오라클이 이클립스 재단으로 이전하고 이후 EPL 2.0으로 재 라이선스된 소스 코드를 기반으로 완전히 빌드되었다. 글래스피시 5.0과 마찬가지로 5.1은 Java EE 8 인증을 받았지만 RI 상태는 없다. 이 릴리스의 주요 목표는 모든 소스 코드가 이전되었고 실제로 완전히 호환되는 제품으로 빌드될 수 있음을 증명하는 것이다.[31] 글래스피시 5.2 릴리스는 Jakarta EE 8 호환 구현으로 계획되었지만 출시되지 않았다. Jakarta EE 8은 기능적으로 Java EE 8과 동일하지만 이클립스 재단 사양 프로세스(EFSP)를 통해 생성되었다.[32]
2020년 12월 31일, 이클립스 재단은 글래스피시 6.0.0을 출시했다. 이 버전은 기능적으로 글래스피시 5.1과 거의 동일하지만 Jakarta EE 9를 구현한다.[33] Jakarta EE 9는 기능적으로 Jakarta EE 8 (Java EE 8과 기능적으로 동일)과 동일하지만, 패키지와 다양한 상수가 javax.*에서 jakarta.*로 변경되었다.
2021년 5월 5일, 이클립스 재단은 글래스피시 6.1.0을 출시했다. 이 버전은 기능적으로 글래스피시 6.0.0과 동일하지만 Jakarta EE 9.1을 구현한다. Jakarta EE 9.1은 기능적으로 Jakarta EE 9 (Jakarta EE 8 및 Java EE 8과 기능적으로 동일)와 동일하지만 JDK 11을 지원한다. 이 릴리스는 JDK 11이 필요하다.
2021년 8월 28일, 이클립스 재단은 글래스피시 6.2.1을 출시했다. 이 버전은 JDK 17에 대한 지원이 개선되었으며 독립형 Jakarta Authorization 구현인 새로운 구성 요소 Eclipse Exousia를 포함한다. 글래스피시 6.2.1은 JDK 11에서 JDK 17까지 컴파일된다.
2022년 12월 14일, 이클립스 재단은 글래스피시 7.0.0을 출시했다. 이 버전은 더 큰 리팩토링 및 코드 정리, 많은 버그 수정과 새로운 기능을 포함하는 첫 번째 버전이다.[34] 새로운 Jakarta Concurrency 사양을 구현하고 JDK 11을 지원하지만, JDK 17 사용을 권장한다. 글래스피시 7 개발은 에스토니아 회사 OmniFish에 의해 상당 부분 후원되었으며,[35] 이 회사는 다시 글래스피시에 대한 상업적 지원을 제공한다.[36][37]
3. 주요 기술
글래스피시는 자카르타 EE의 참조 구현으로, 자카르타 REST, 자카르타 CDI, 자카르타 보안, 자카르타 지속성, 자카르타 트랜잭션, 자카르타 서블릿, 자카르타 페이스, 자카르타 메시징 등을 지원한다. 이를 통해 개발자는 이식 가능하고 확장 가능하며 기존 기술과 통합되는 엔터프라이즈 애플리케이션을 만들 수 있다.
글래스피시는 썬과 오라클의 TopLink 지속성 시스템의 소스 코드를 기반으로 하며, 웹 콘텐츠 제공을 위한 서블릿 컨테이너로 아파치 톰캣의 파생물을 사용한다. 또한, 확장성과 속도를 위해 자바 논블로킹 I/O (NIO)를 사용하는 그리즐리 구성 요소가 추가되었다.
글래스피시의 Java EE 참조 구현은 여러 서브 프로젝트로 나뉘어 개발된다.
프로젝트명 | 설명 |
---|---|
Metro (Java API for XML Web Services|label=JAX-WS영어) | SOAP 기반 웹 서비스 개발 API. 아파치 Axis2보다 90% 빠르며,[55] 마이크로소프트 .NET Framework 3.0 및 3.5와의 상호 연결성 보장. |
Jersey (Java API for RESTful Web Services|label=JAX-RS영어) | RESTful 웹 서비스 개발 API. |
Mojarra (JSF) | 사용자 인터페이스 개발 표준 기술. |
OpenMQ (JMS) | 메시지 기반 통신 API. |
Tyrus (WebSocket API) | 실시간 양방향 통신을 위한 웹소켓 API. |
JSON Processing | JSON 데이터 처리 API. |
글래스피시는 다음과 같은 외부 참조 구현도 채용한다.
프로젝트명 | 설명 |
---|---|
Weld (CDI) | 의존성 주입 및 컨텍스트 관리 표준 기술. |
Hibernate Validator (Bean Validation) | 자바 빈 유효성 검사 API. |
EclipseLink (JPA) | 객체 관계 매핑(ORM) 표준 기술. |
JBatch | 배치 처리 API. |
3. 1. 모듈식 아키텍처 (GlassFish v3 이후)
OSGi를 기반으로 하는 모듈식 커널에서 구축된 글래스피시는 아파치 펠릭스 구현 위에서 바로 실행된다. 또한 Equinox OSGi 또는 Knopflerfish OSGi 런타임에서도 실행된다. HK2는 OSGi 모듈 시스템을 추상화하여 서비스로도 볼 수 있는 구성 요소를 제공한다. 이러한 서비스는 런타임에 검색하고 주입할 수 있다.[48]GlassFish v3는 Java EE 6의 참조 구현일 뿐만 아니라, 아키텍처를 근본적으로 재검토하여 OSGi 모듈 서브 시스템에 대응했다. 기능을 사용할 때 초기화하여 매우 빠른 기동을 실현했으며, 재기동 대기 시간을 대폭 감소시키는 데 성공했다. 이 새로운 아키텍처는 GlassFish v3 Prelude로 선행 출시되었다. 또한, GlassFish v3에서는 Java EE 이외의 스크립트 언어에도 본격적으로 대응하고 있으며, GlassFish에서 동작하는 스크립트 언어 구현도 증가하고 있다.
2008년 11월 6일에 출시된 최초의 v3 버전이 GlassFish v3 Prelude이다. 이 제품은 Java EE 5의 하위 집합을 제공하며, 일부 Java EE 6의 기능도 포함하고 있었다. Java EE에 준수하지는 않았지만, 썬 마이크로시스템즈(Sun Microsystems)에 의한 상용 지원이 제공되었다.
2009년 12월 10일, GlassFish v3가 출시되었다. 이는 Java EE 6을 준수하는 최초의 애플리케이션 서버이다. 당초 예정되었던 클러스터 기능은 GlassFish v3.1로 연기되었지만, 썬에 의한 상용 지원은 계속 제공되었다. GlassFish v3의 주요 기능은 다음과 같다.
- Java EE 6의 참조 구현 제공.
- OSGi 모듈화 서브 시스템에 대응 (Apache Felix영어 채용)
- Metro 웹 서비스 프레임워크와 마이크로소프트 제품 (.NET Framework 3.5) 과의 상호 접속성 보장.
- 비동기 I/O (Comet) 에 대응
- 기존의 관리 콘솔, CLI 관리 도구에 더하여 RESTful 관리 채널이 추가되었다. 이를 통해 JAX-RS 애플리케이션에서 서버의 관리·감시가 가능해졌다.
- 설치 프로그램 버전 외에 ZIP 아카이브 버전으로 배포가 시작되었다. ZIP 아카이브 버전은 미리 기본적으로 서버가 구성된 상태로 배포되므로, 아카이브를 해제하여 바로 사용할 수 있다.
2010년 1월 27일에 오라클에 의한 썬의 인수가 완료되면서, GlassFish의 지원은 오라클로 인계되었다. 2010년 6월 18일, GlassFish 버전 3.0.1이 출시되었다. 이 릴리스에서는 100개의 버그 수정과 다국어화가 실시됨과 동시에, 브랜드가 썬에서 오라클로 변경됨에 따라 오픈 소스 버전은 GlassFish Server Open Source Edition, 오라클 제품 버전은 Oracle GlassFish Server로 명칭이 변경되었다. 또한 이 릴리스부터 JRockit|label=Oracle JRockit영어가 정식 지원되기 시작했다. 2010년 10월 8일에는 제품 버전의 패치 릴리스가 진행되었다.
GlassFish v3 릴리스에서 연기되었던 클러스터 등의 고가용성 기능을 구현한 것이 GlassFish v3.1이다. 이 버전으로 이전 메이저 버전에서 제공되던 기능이 일괄적으로 갖춰지게 되었다. GlassFish v3.1은 2011년 2월 28일에 출시되었다.
GlassFish v3.1의 주요 기능은 다음과 같다.
- 클러스터 지원. 방식으로 GlassFish v2에 존재했던 Node Agent를 폐지하고, 새롭게 SSH 프로비저닝을 채택한다. SSH 프로비저닝 방식에서는 클러스터 노드 측에서 SSH 서버 프로세스(데몬)를 기동해두기만 하면, 도메인 관리 서버가 시스템 초기화와 도메인 관리 서버에의 등록을 수행한다. 노드 측에서는 GlassFish를 설치할 필요도 없이, 도메인 관리 서버가 자체 인스턴스를 아카이브하여 노드로 전송하고 원격 설치를 실행한다. v3.1.2 이후, Windows 플랫폼에 한해 SSH의 대체로서 DCOM의 RPC를 사용할 수 있게 되었다.
- 애플리케이션 버전 관리 지원. 서버 상에 동일 애플리케이션의 복수 버전(예: 개발판, 릴리스 후보판, 제품판 등)을 동시에 배치해두고, 그 중에서 1개의 버전을 선택하여 가동시킬 수 있다. 배치할 수 있는 애플리케이션 수와 버전 수는 사실상 무제한이다.
- 도메인 관리 서버의 고가용성
- HTML5 WebSocket 지원
- 관리·감시 기능 강화. DTrace에 의한 모니터링이 정식 지원된다.
- WebLogic과의 호환성 제공(WebLogic의 배포 서술자를 지원한다).
2011년 7월 28일에는 버전 3.1.1이 출시되었다. 주요 변경점은 JDK7 지원, AIX 지원 추가 및 버그 수정이다. 2012년 2월에 출시된 버전 3.1.2에서는 버그 수정 외에, 개발 중단된 버전 3.2의 일부 기능(DCOM 프로비저닝에 의한 클러스터 구성 등)이 추가되었다.
버전 3.1.x 계열의 최신 버전은 2012년 7월 15일에 출시된 3.1.2.2이다.
GlassFish 3.1의 업데이트 버전으로 GlassFish 4와 병행하여 개발이 진행되었다. GlassFish 4까지의 가교 역할을 하며 몇 가지 새로운 기능을 구현하는 플랫폼이 될 예정이었지만, GlassFish 4에 주력하기 위해 개발이 중단되었다. 구현 예정이었던 새로운 기능의 대부분은 GlassFish 4에서 실현되었지만, 이미 완성된 기능에 대해서는 버전 3.1.2에 백포트되는 형태로 통합되었다.
GlassFish v3는 GlassFish OSGi 런타임과 GlassFish Kernel (HK2: Hundred-Kilobyte Kernel)의 두 가지 모듈 하위 시스템을 통해 서버 전체를 모듈화하고 있다. GlassFish OSGi 런타임은 OSGi Release 4를 준수하는 런타임을 사용할 수 있으며, 내장 런타임으로 Apache Felix영어가 채택되었다(단, Knopflerfish영어나 Equinox (OSGi)|label=Equinox영어 등도 사용할 수 있다).
GlassFish Kernel은 HK2로 약칭되며, JSR-277 기반의 모듈 하위 시스템이다. HK2는 OSGi 런타임만으로는 보완할 수 없는 모듈 관리 기능을 담당하고 있다. OSGi 대응 전에는 모든 기능을 HK2의 모듈로 생성했기 때문에, 지금도 GlassFish의 모듈(OSGi 번들) 구현에는 HK2의 API가 사용된다.
GlassFish에서는 임의의 OSGi 번들을 사용할 수 있으므로, 예를 들어 Spring DM과 Java EE를 연계하는 운영도 가능하다.
3. 2. Grizzly
그리즐리는 GlassFish에서 채택된 고성능 요청 디스패처이다. 2004년부터 개발이 시작된 그리즐리는 원래 썬의 애플리케이션 서버에서 사용하던 아파치 톰캣의 Coyote 엔진으로는 GlassFish의 요구 성능을 충족할 수 없었기 때문에 Java NIO를 사용하여 시험적으로 구현된 것이었다. 이후 TCP/UDP/SSL 등 멀티 프로토콜에 대응할 수 있는 범용성이 주목받아 GlassFish v2.1용 구현 (Gryzzly 1.0.x)부터 아키텍처를 대폭 변경하여 SailFin의 SIP에도 쉽게 대응하고 있다.그리즐리는 Java NIO를 이용한 논블로킹 I/O를 활용함으로써, 1개의 요청당 생성되는 스레드 수를 억제하는 데 성공했다. GlassFish v3에서는 OSGi 번들로 재구현된 그리즐리 1.9.18 이후, v4에서는 더욱 성능이 향상된 그리즐리 2.3.3 이후가 채택되었다.
GlassFish에서는 서블릿 컨테이너로도 그리즐리가 사용되고 있지만, 일부 처리에는 아파치 톰캣 5.5에서 유래된 코드가 사용되고 있다.
3. 3. Java EE/Jakarta EE 참조 구현 (서브 프로젝트)
글래스피시의 Java EE 참조 구현은 여러 서브 프로젝트로 나뉘어 개발되고 있다. 주요 서브 프로젝트는 다음과 같다.프로젝트명 | 설명 |
---|---|
Metro (Java API for XML Web Services|label=JAX-WS영어) | SOAP 기반 웹 서비스 개발을 위한 API. 아파치 Axis2보다 90% 빠르며,[55] 마이크로소프트 .NET Framework 3.0 및 3.5와의 상호 연결성이 보장된다. |
Jersey (Java API for RESTful Web Services|label=JAX-RS영어) | RESTful 웹 서비스 개발을 위한 API. GlassFish v3에서는 REST 백엔드의 기반이며 Nucleus에 포함되어 있어 서버 본체에서 분리할 수 없다. |
Mojarra (JSF) | 사용자 인터페이스 개발을 위한 표준 기술. |
OpenMQ (JMS) | 메시지 기반 통신을 위한 API. |
Tyrus (WebSocket API) | 실시간 양방향 통신을 위한 웹소켓 API. |
JSON Processing | JSON 데이터 처리를 위한 API. |
또한, 글래스피시는 다음과 같은 외부 참조 구현도 채용하고 있다.
프로젝트명 | 설명 |
---|---|
Weld (CDI) | 의존성 주입 및 컨텍스트 관리를 위한 표준 기술. |
Hibernate Validator (Bean Validation) | 자바 빈 유효성 검사를 위한 API. |
EclipseLink (JPA) | 객체 관계 매핑(ORM)을 위한 표준 기술. |
JBatch | 배치 처리를 위한 API. |
4. 파생 제품 (Forks)
2017년, 오라클(Oracle)은 글래스피시 소스 코드를 이클립스 재단(Eclipse Foundation)에 기증했다.[29][30] 이클립스에서 Payara는 오라클과 레드햇(Red Hat)의 지원을 받아 글래스피시 프로젝트를 이끌었다.[1]
이클립스 재단은 글래스피시의 여러 버전을 출시했다. 주요 내용은 다음과 같다.
글래스피시 자체는 오라클의 상용 지원이 종료되었지만, 여러 벤더 및 컨설팅 펌에서 서드파티 지원을 지속하고 있다.
4. 1. Payara Server
오라클(Oracle)이 글래스피시에 대한 상업적 지원 종료를 발표한 것에 대응하여,[38][39][40] 2014년 10월에 '''페어라 서버'''라는 포크(fork)가 생성되어 출시되었다. 페어라 서버는 원래 오라클(Oracle)의 글래스피시와 동일한 라이선스(CDDL + GPL) 하에 오픈 소스로 제공되며, 페어라 서비스 유한회사(Payara Services Ltd.)를 통해 페어라 엔터프라이즈(Payara Enterprise) 프로젝트를 통한 선택적 상업적 지원을 제공한다.[39]5. 한국어 지원
글래스피시 v2부터 영어 외에 일본어, 중국어 간체, 중국어 번체, 한국어, 스페인어, 프랑스어, 독일어를 포함한 다국어판 릴리스가 진행되었다. GlassFish 4.1 이후, 다시 다른 언어판 배포가 중단되고 업데이트 도구를 통한 지원으로 돌아갔다.
참조
[1]
웹사이트
Eclipse GlassFish
https://projects.ecl[...]
[2]
웹사이트
Eclipse GlassFish
https://projects.ecl[...]
2018-05-10
[3]
웹사이트
Sun ONE Application Server 7 Release Notes
https://docs.oracle.[...]
[4]
웹사이트
Sun ONE Application Server 7 Debuts
https://www.serverwa[...]
2002-10-28
[5]
웹사이트
Java Live | July 30, 2002
https://web.archive.[...]
2022-01-11
[6]
웹사이트
Sun Java System Application Server Platform Edition 8 Release Notes
https://docs.oracle.[...]
[7]
웹사이트
Sun Java System Application Server Platform Edition 8 Update 1 Release Notes
https://docs.oracle.[...]
2023-04-14
[8]
웹사이트
Sun Java System Application Server 8.1 2005Q1 Announced
https://www.theserve[...]
2005-02-05
[9]
웹사이트
FishEye: Browsing glassfish/
https://web.archive.[...]
2022-01-11
[10]
웹사이트
Developing and Building Project GlassFish with NetBeans
https://web.archive.[...]
2022-01-11
[11]
웹사이트
Server startup
https://download.ora[...]
[12]
웹사이트
Sun Java System Application Server PE 8.2 has been released
https://www.theserve[...]
2006-01-31
[13]
웹사이트
What's New in the 8.2 Release (Sun Java System Application Server Platform Edition 8.2 Release Notes)
https://docs.oracle.[...]
[14]
웹사이트
Sun Java System Application Server PE 9.0 has been released
https://www.theserve[...]
2006-05-15
[15]
웹사이트
The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 289
https://jcp.org/en/j[...]
[16]
웹사이트
O'Reilly Media - Technology and Business Training
http://www.oreillyne[...]
2018-11-22
[17]
웹사이트
GlassFish v3 adds support for Tomcat-style valves
https://web.archive.[...]
2008-09-07
[18]
웹사이트
Saved Session State in GlassFish v3 Prelude
https://www.slidesha[...]
2008-11-05
[19]
웹사이트
Oracle GlassFish Server: Frequently Asked Questions
http://www.oracle.co[...]
[20]
웹사이트
Welcome - Oracle Community
https://community.or[...]
[21]
웹사이트
GlassFish Server 3.1.2.2 Now Available
https://blogs.oracle[...]
[22]
웹사이트
Java EE 7 / GlassFish 4.0 Launch Coverage
https://blogs.oracle[...]
[23]
웹사이트
Java EE and GlassFish Server Roadmap Update
https://blogs.oracle[...]
[24]
뉴스
Want a support contract for GlassFish 4.0? Tough luck, says Oracle
https://www.theregis[...]
The Register
2013-11-04
[25]
웹사이트
GlassFish Server Open Source Edition 4.1 Released!
https://blogs.oracle[...]
[26]
웹사이트
GlassFish 4.1.1 is now available!
https://blogs.oracle[...]
[27]
웹사이트
GlassFish 4.1.2 Released
https://blogs.oracle[...]
[28]
웹사이트
Java EE 8 and GlassFish 5.0 Released!
https://blogs.oracle[...]
[29]
웹사이트
Moving Forward with Eclipse GlassFish at Jakarta EE
https://blogs.oracle[...]
[30]
문서
https://www.linux-ma[...]
[31]
웹사이트
Eclipse GlassFish 5.1 is Released - The Eclipse Foundation
https://www.eclipse.[...]
[32]
웹사이트
Jakarta EE 8 Status
https://www.agilejav[...]
2019-03-18
[33]
웹사이트
TCK Results
https://glassfish.or[...]
[34]
웹사이트
GlassFish 7.0 Delivers Support for JDK 17 and Jakarta EE 10
https://www.infoq.co[...]
2023-01-10
[35]
웹사이트
Contributors to eclipse-ee4j/glassfish
https://github.com/e[...]
2023-04-14
[36]
웹사이트
OmniFish on Providing Support for Jakarta EE 10 and GlassFish 7
https://www.infoq.co[...]
2023-04-14
[37]
웹사이트
Eclipse GlassFish
https://github.com/e[...]
2023-04-14
[38]
웹사이트
Home
https://www.payara.f[...]
2023-11-27
[39]
웹사이트
Java EE and GlassFish Server Roadmap Update (The Aquarium)
https://blogs.oracle[...]
[40]
웹사이트
GlassFish Became The Killer AppServer And Then Changed The Name : Adam Bien's Weblog
http://www.adam-bien[...]
[41]
웹사이트
Eclipse GlassFish
https://glassfish.or[...]
2022-07-10
[42]
웹사이트
GlassFish Commercial Editionの提供が終了
http://www.infoq.com[...]
InfoQ
2014-02-24
[43]
웹사이트
GlassFish から Payara 移行のススメ
https://yoshio3.com/[...]
2022-07-10
[44]
문서
http://blogs.sun.com[...]
[45]
문서
http://blogs.sun.com[...]
[46]
문서
http://blogs.sun.com[...]
[47]
문서
http://jcp.org/en/js[...]
[48]
웹사이트
GlassFish v3 の OSGi 対応について
https://yoshio3.com/[...]
2022-07-10
[49]
웹사이트
GlassFish v4.0 正式リリース
https://yoshio3.com/[...]
2022-07-10
[50]
문서
http://glassfish.jav[...]
[51]
뉴스
オラクル、GlassFish商用版を廃止へ。参照実装の役割は変わらず。商用サポートはWebLogicへ一本化
https://www.publicke[...]
2022-07-10
[52]
웹사이트
Java EE 8 Compatible Eclipse GlassFish 5.1 Released
https://www.globenew[...]
2019-07-15
[53]
웹사이트
Eclipse GlassFish 5.1 が正式リリースされました
https://blog.payara.[...]
2019-07-15
[54]
문서
http://dlc.sun.com/o[...]
[55]
문서
http://blogs.sun.com[...]
본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.
문의하기 : help@durumis.com