GlassFish is an
open-source Jakarta EE
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing
A distri ...
platform
application server
An application server is a server that hosts applications or software
Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually perfo ...
project started by
Sun Microsystems
Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computer
A computer is a machine that can be programmed to carry out sequences of arithmetic or logical operations ( computation) automatically. Moder ...
, then sponsored by
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas
Austin is the capital city of the U.S. state of Texas
Texas (, ; Spanish language, Spanish: ''Texas'', ''Tejas' ...
, and now living at the
Eclipse Foundation
The Eclipse Foundation AISBL is an independent, Europe-based not-for-profit corporation that acts as a steward of the Eclipse open source software development community, with legal jurisdiction in the European Union
The European Union ...
and supported by Payara, Oracle and Red Hat.
The supported version under Oracle was called Oracle GlassFish Server. GlassFish is
free software
Free software or libre software is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, ...
and was initially
dual-licensed under two
free software licences: the
Common Development and Distribution License
The Common Development and Distribution License (CDDL) is a free and open-source software license
A software license is a legal instrument (usually by way of contract law
A contract is a legally enforceable agreement between two or more ...
(CDDL) and the
GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for genera ...
(GPL) with the
Classpath exception A GPL linking exception modifies the GNU General Public License
The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and mod ...
. After having been transferred to Eclipse, GlassFish remained dual-licensed, but the CDDL license was replaced by the
Eclipse Public License
The Eclipse Public License (EPL) is a free and open source software license most notably used for the Eclipse IDE and other projects by the Eclipse Foundation. It replaces the Common Public License (CPL) and removes certain terms relating t ...
(EPL).
Overview
GlassFish is the Eclipse implementation of Jakarta EE (formerly the
reference implementation from Oracle) and as such supports
Jakarta REST,
Jakarta CDI,
Jakarta Security,
Jakarta Persistence,
Jakarta Transactions,
Jakarta Servlet,
Jakarta Faces,
Jakarta Messaging, etc. This allows developers to create enterprise applications that are portable and scalable, and that integrate with legacy technologies. Optional components can also be installed for additional services.
Built on a modular kernel powered by
OSGi
OSGi is an open specification and open source
Open source is source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language
A progra ...
, GlassFish runs straight on top of the
Apache Felix implementation. It also runs with
Equinox OSGi or Knopflerfish OSGi runtimes.
HK2 abstracts the OSGi module system to provide components, which can also be viewed as services. Such services can be discovered and injected at runtime.
GlassFish is based on
source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language
A programming language is a system of notation for writing computer programs. Most progr ...
released by Sun and
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas
Austin is the capital city of the U.S. state of Texas
Texas (, ; Spanish language, Spanish: ''Texas'', ''Tejas' ...
's
TopLink persistence system. It uses a derivative of
Apache Tomcat as the
servlet container for serving web content, with an added component called
Grizzly which uses Java
non-blocking I/O (NIO) for scalability and speed.
Releases
In October 2003, Sun Microsystems released Sun ONE Application Server 7 that supports the J2EE 1.3 specification. It is based on the iPlanet Web Server and the J2EE reference implementation A basic version is free to download, but not open source.
In March 2004, Sun Microsystems released Sun Java System Application Server 8 that supports the J2EE 1.4 specification. In June 2004 update 1 is released. A basic version is free to download, but not open source.
On 8 February 2005, Sun Microsystems released Sun Java System Application Server 8.1 that supports the J2EE 1.4 specification. This version introduced a major update to web services security (a precursor to the later JASPIC and Jakarta Authentication), Admin Console GUI enhancements, JavaServer Faces 1.1 Support (at this point not yet part of J2EE), performance enhancements, and support for Java SE 5.0. A basic version is free to download, but not open source.
Sun Microsystems launched the GlassFish project on 6 June 2005 by publishing the vetted source of Sun Java System Application Server. Builds of this early version identity themselves in the log as "sun-appserver-pe9.0".
On 31 January 2006, Sun Microsystems released Sun Java System Application Server 8.2. This version introduced bundling of the Derby database and Fast Infoset for web services. A basic version is free to download, but not open source.
On 4 May 2006, Project GlassFish released the 1.0 version (a.k.a. Sun Java System Application Server 9.0) that supports the Java EE 5 specification.
On 15 May 2006 Sun Java System Application Server 9.0, derived from GlassFish 1.0, is released.
On 8 May 2007 Project
SailFin was announced at
JavaOne as a sub-project under Project GlassFish. Project SailFin aims to add
Session Initiation Protocol
The Session Initiation Protocol (SIP) is a signaling protocol used for initiating, maintaining, and terminating communication sessions that include voice, video and messaging applications. SIP is used in Internet telephony, in private IP telep ...
(SIP)
servlet functionality to GlassFish.
On 17 September 2007 the GlassFish community released version 2.0 (a.k.a. Sun Java System Application Server 9.1) with full enterprise clustering capabilities,
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
-interoperable Web Services.
On 21 January 2009 Sun Microsystems and the community released version GlassFish 2.1 (a.k.a. Sun GlassFish Enterprise Server 2.1) which serves as the basis for the Sailfin 1.0 (a.k.a. Sun Communication Application Server 1.0).
SailFin 2.0 (a.k.a. Sun Communication Application Server 2.0) which was released on 28 October 2009 leverages GlassFish 2.1.1 (a.k.a. Sun GlassFish Enterprise Server 2.1.1) and adds a number of features including high availability, rolling upgrade, flexible network topology, better overload protection, Diameter support, improved diagnosability, Java based DCR files for the load balancer, and more.
On 10 December 2009 GlassFish 3.0 (a.k.a. Sun GlassFish Enterprise Server 3.0) was released. Being the Java EE reference implementation, this was the first application server to completely implement
Java EE 6 JSR 316. JSR 316 was however approved with reservations. In this version GlassFish adds new features to ease migration from Tomcat to GlassFish. The other main new features are around modularity (GlassFish v3 Prelude already shipped with an
Apache Felix OSGi
OSGi is an open specification and open source
Open source is source code
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language
A progra ...
runtime), startup time (a few seconds), deploy-on-change (provided by NetBeans and Eclipse plugins), and session preservation across redeployments.
On 25 March 2010, soon after the acquisition of Sun Microsystems, Oracle issued a Roadmap for versions 3.0.1, 3.1, 3.2 and 4.0 with themes revolving around clustering, virtualization and integration with
Coherence and other Oracle technologies. The open source community remains otherwise unaffected.
On 28 February 2011, Oracle Corporation released GlassFish 3.1. This version introduced support for ssh-based provisioning, centralized admin, clustering and load-balancing. It maintains its support for both the Web Profile and full Java EE 6 Platform specifications.
On 28 July 2011, Oracle Corporation released GlassFish 3.1.1. This is fix release for GlassFish 3.1 with multiple component updates (Weld, Mojarra, Jersey, EclipseLink, ...), JDK 7 support, AIX support and more.
On 29 February 2012, Oracle Corporation released GlassFish 3.1.2. This release includes bug fixes and new features including administration console enhancements, transaction recovery from a database and new thread pool properties.
On 17 July 2012, Oracle Corporation released GlassFish 3.1.2.2. This is a "micro" release to address some exceptional issues in the product.
On 12 June 2013, Oracle Corporation released GlassFish 4.0. This major release brings
Java Platform, Enterprise Edition
Jakarta EE, formerly Java Platform, Enterprise Edition (Java EE) and Java 2 Platform, Enterprise Edition (J2EE), is a set of specifications, extending Java SE with specifications for enterprise features such as distributed computing
A distri ...
7 support.
On 9 September 2014, Oracle Corporation released GlassFish 4.1. This release includes many bug fixes (over a thousand) and the latest MR releases of CDI and WebSockets.
On 7 October 2015, Oracle Corporation released GlassFish 4.1.1. This release includes many bug fixes and security fixes as well as updates to many underlying components.
On 31 March 2017, Oracle Corporation released GlassFish 4.1.2. This release includes bug fixes.
On 21 September 2017, Oracle Corporation released GlassFish 5.0. This release includes Java EE 8 Open Source Reference Implementation and that the Java EE 8 umbrella specification and all the underlying specifications (JAX-RS 2.1, Servlet 4.0, CDI 2.0, JSON-B 1.0, Bean Validation 2.0, etc.) are finalized and approved.
On 29 January 2019, the Eclipse Foundation released GlassFish 5.1. This release is technically identical to Oracle's GlassFish 5.0 but is fully build from the source code that Oracle transferred to the Eclipse Foundation and which was subsequently relicensed to EPL. Like GlassFish 5.0, 5.1 is Java EE 8 certified, but does not have any RI status. The main goal of this release is to prove that all source code has been transferred and can indeed be built into a fully compliant product.
On 31 December 2020, the Eclipse Foundation released GlassFish 6.0.0. This version is functionally largely identical to GlassFish 5.1 but implements Jakarta EE 9. Jakarta EE 9 is functionally identical to Jakarta EE 8 (which is functionally identical to Java EE 8) but has its package and various constants changed from javax.* to jakarta.*
On 5 May 2021, the Eclipse Foundation released GlassFish 6.1.0. This version is functionally identical to GlassFish 6.0.0 but implements Jakarta EE 9.1. Jakarta EE 9.1 is functionally identical to Jakarta EE 9 (which is functionally identical to Jakarta EE 8 and Java EE 8) but has support for JDK 11. In the months after, 6.2.0 containing Jakarta MVC and the JDK 17 compatible 6.2.1 containing Eclipse Exousia are released.
Roadmap and end of Oracle commercial support
The commercially supported version of GlassFish was known as Oracle GlassFish Server, formerly Sun GlassFish Enterprise Server, and previously Sun Java System Application Server (SJSAS) has a history, along with other
iPlanet software, going back to
Netscape Application Server. This includes code from other companies such as
Oracle Corporation
Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas
Austin is the capital city of the U.S. state of Texas
Texas (, ; Spanish language, Spanish: ''Texas'', ''Tejas' ...
for TopLink Essentials.
Ericsson
(lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Sweden, Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in ...
's
SIP Servlet support is included, the opensource version of it is SailFish, developing towards JSR-289.
In 2010, the difference between the commercial and open source edition was already quite small.
On 4 November 2013, Oracle announced the future roadmap for Java EE and Glassfish Server, with a 4.1 open-source edition planned and continuing open-sources updates to GlassFish but with an end to commercial Oracle support. Commercial customers have instead been encouraged to transition to Oracle's alternative product,
Oracle WebLogic Server.
In response to Oracle’s announcement to end commercial support for GlassFish, a fork called
Payara Server was created and released in October 2014. Payara Server is open source under the same licenses as GlassFish, but has optional commercial support.
Open-source GlassFish continued under Oracle till version 5.0 (the reference implementation for Java EE 8) after which the source code was donated to the Eclipse Foundation, which released the technically identical but relicensed version 5.1.
At Eclipse, Payara is leading the GlassFish project, with support from Oracle and Red Hat.
A GlassFish 5.2 release was planned as a Jakarta EE 8 compatible implementation, but was never released. Jakarta EE 8 is functionally identical to Java EE 8, but was created via the Eclipse Foundation Specification Process (EFSP).
The GlassFish 7 development was sponsored to a large degree by the Estonian company OmniFish, which also provides commercial support for GlassFish once again.
[https://github.com/eclipse-ee4j/glassfish/#professional-services-and-enterprise-support]
See also
*
Eclipse Metro
Other CDDL-licensed, Java-based services:
*
OpenDJ (formerly OpenDS)
*
OpenAM (formerly OpenSSO)
*
OpenESB
Other Jakarta EE application servers:
*
WildFly
WildFly, formerly known as JBoss AS, or simply JBoss, is an application server
An application server is a server that hosts applications or software
Software is a set of computer programs and associated documentation and data. This is ...
(formerly JBoss AS)
*
WebSphere AS
*
WebLogic Server
*
Apache TomEE
*
Payara Server
*
Apache Geronimo
*
References
External links
*
{{DEFAULTSORT:Glassfish
Web server software programmed in Java
Free software application servers
Sun Microsystems software
Software using the Eclipse license
Java enterprise platform
Free software programmed in Java (programming language)