|Developer(s)||Oracle Corporation (initial code from Sun Microsystems)|
|Initial release||6 June 2005|
5.0.0 / 21 September 2017
|License||Common Development and Distribution License & GNU General Public License|
GlassFish is an open-source application server project started by Sun Microsystems for the Java EE platform and now sponsored by Oracle Corporation. The supported version is called Oracle GlassFish Server. GlassFish is free software, dual-licensed under two free software licences: the Common Development and Distribution License (CDDL) and the GNU General Public License (GPL) with the classpath exception.
GlassFish is the reference implementation of Java EE and as such supports Enterprise JavaBeans, JPA, JavaServer Faces, JMS, RMI, JavaServer Pages, servlets, 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, 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 released by Sun and Oracle Corporation'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 New I/O (NIO) for scalability and speed.
Sun Microsystems launched the GlassFish project on 6 June 2005. 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 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-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 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 12 June 2013, Oracle Corporation released GlassFish 4.0. This major release brings Java Platform, Enterprise Edition 7 support.
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.
Roadmap and end of Oracle commercial support
The commercially supported version of GlassFish is 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 for TopLink Essentials. Ericsson'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 will instead be encouraged to transition to Oracle's alternative product, Oracle WebLogic Server. The only fork of Glassfish currently available with commercial support is Payara Server.
Open-source GlassFish is planned to continue at least through version 5, and the Java EE 8 Reference Implementation will be derived from GlassFish Server Open Source Edition 5. This replicates what has been done in past Java EE and GlassFish Server releases.
Other CDDL-licensed, Java-based services:
Other Java EE application servers:
- The Java Community Process(SM) Program - JSRs: Java Specification Requests - detail JSR# 289
- GlassFish v3 adds support for Tomcat-style valves
- GlassFish session preservation across redeployments
- GlassFish Server 22.214.171.124 Now Available
- Java EE 7 / GlassFish 4.0 Launch Coverage
- GlassFish 4.1 release coverage
- GlassFish 4.1.1 release coverage
- GlassFish 4.1.2 release coverage
- GlassFish 5.0 release coverage
- Oracle GlassFish Server: Frequently Asked Questions
- A short introduction to SIP.
- How does GlassFish v2 differ from the Sun GlassFish Enterprise Server v2?
- Java EE and GlassFish Server Roadmap Update
- The Register -- Want a support contract for GlassFish 4.0? Tough luck, says Oracle, 2013-11-04.