HOME

TheInfoList



OR:

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 and web serv ...
platform
application server An application server is a server that hosts applications or software that delivers a business application through a communication protocol. An application server framework is a service layer model. It includes software components available to a ...
project started by
Sun Microsystems Sun Microsystems, Inc. (Sun for short) was an American technology company that sold computers, computer components, software, and information technology services and created the Java programming language, the Solaris operating system, ZFS, the ...
, then sponsored by
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
, 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. It is an organization suppo ...
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, no ...
and was initially dual-licensed under two
free software licence A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) ...
s: the Common Development and Distribution License (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 (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
(GPL) with the
Classpath exception A GPL linking exception modifies the GNU General Public License (GPL) in a way that enables software projects which provide library code to be " linked to" the programs that use them, without applying the full terms of the GPL to the using program. ...
. 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 to ...
(EPL).


Overview

GlassFish is the Eclipse implementation of Jakarta EE (formerly the
reference implementation In the software development process, a reference implementation (or, less frequently, sample implementation or model implementation) is a program that implements all requirements from a corresponding specification. The reference implementation o ...
from Oracle) and as such supports Jakarta REST, Jakarta CDI,
Jakarta Security Jakarta (; , bew, Jakarte), officially the Special Capital Region of Jakarta ( id, Daerah Khusus Ibukota Jakarta) is the capital and largest city of Indonesia. Lying on the northwest coast of Java, the world's most populous island, Jakart ...
,
Jakarta Persistence Jakarta Persistence (JPA; formerly Java Persistence API) is a Jakarta EE application programming interface specification that describes the management of relational data in enterprise Java applications. Persistence in this context covers three ...
,
Jakarta Transactions The Jakarta Transactions (JTA; formerly Java Transaction API), one of the Jakarta EE APIs, enables distributed transactions to be done across multiple X/Open XA resources in a Java environment. JTA was a specification developed under the Java Com ...
,
Jakarta Servlet A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web application ...
, Jakarta Faces,
Jakarta Messaging The Jakarta Messaging API (formerly Java Message Service or JMS API) is a Java application programming interface (API) for message-oriented middleware. It provides generic messaging models, able to handle the producer–consumer problem, that can ...
, 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 project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization fo ...
, GlassFish runs straight on top of the
Apache Felix Apache Felix is an open source implementation of the OSGi Core Release 6 framework specification. The initial codebase was donated from the Oscar project at ObjectWeb. The developers worked on Felix for a full year and have made various improveme ...
implementation. It also runs with
Equinox OSGi In computing, Equinox is a sub-project of the Eclipse project that provides a certified implementation of the OSGi R4.x core framework specification. It is a module runtime that allows developers to implement an application as a set of "bundles" ...
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, usually as plain text. The source code of a program is specially designed to facilitate the wo ...
released by Sun and
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
's
TopLink Oracle TopLink is a mapping and persistence framework for Java developers. TopLink is produced by Oracle and is a part of Oracle's OracleAS, WebLogic, and OC4J servers. It is an object-persistence and object-transformation framework. TopLink p ...
persistence system. It uses a derivative of
Apache Tomcat Apache Tomcat (called "Tomcat" for short) is a free and open-source implementation of the Jakarta Servlet, Jakarta Expression Language, and WebSocket technologies. It provides a "pure Java" HTTP web server environment in which Java code can also ...
as the
servlet A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web application ...
container for serving web content, with an added component called
Grizzly The grizzly bear (''Ursus arctos horribilis''), also known as the North American brown bear or simply grizzly, is a population or subspecies of the brown bear inhabiting North America. In addition to the mainland grizzly (''Ursus arctos horri ...
which uses Java
non-blocking I/O In computer science, asynchronous I/O (also non-sequential I/O) is a form of input/output processing that permits other processing to continue before the transmission has finished. A name used for asynchronous I/O in the Windows API is overlappe ...
(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 __NOTOC__ JavaOne is an annual conference first organized in 1996 by Sun Microsystems to discuss Java technologies, primarily among Java developers. It was held in San Francisco, California, typically running from a Monday to Thursday in summer ...
as a sub-project under Project GlassFish. Project SailFin aims to add Session Initiation Protocol (SIP)
servlet A Jakarta Servlet (formerly Java Servlet) is a Java software component that extends the capabilities of a server. Although servlets can respond to many types of requests, they most commonly implement web containers for hosting web application ...
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 technology corporation producing computer software, consumer electronics, personal computers, and related services headquartered at the Microsoft Redmond campus located in Redmond, Washing ...
-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 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 and web serv ...
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 Apache Felix is an open source implementation of the OSGi Core Release 6 framework specification. The initial codebase was donated from the Oscar project at ObjectWeb. The developers worked on Felix for a full year and have made various improveme ...
OSGi OSGi is an open specification and open source project under the Eclipse Foundation. It is a continuation of the work done by the OSGi Alliance (formerly known as the Open Services Gateway initiative), which was an open standards organization fo ...
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 and web ser ...
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 iPlanet was a product brand that was used jointly by Sun Microsystems and Netscape Communications Corporation when delivering software and services as part of a non-exclusive cross marketing deal that was also known as "A Sun, Netscape Alliance" ...
software, going back to
Netscape Application Server Netscape Web Server was an integrated software platform for developing and running transaction-oriented business applications on the web. It was developed originally by Kiva Software, which Netscape acquired in 1997. When Netscape and Sun Micros ...
. This includes code from other companies such as
Oracle Corporation Oracle Corporation is an American multinational computer technology corporation headquartered in Austin, Texas. In 2020, Oracle was the third-largest software company in the world by revenue and market capitalization. The company sells da ...
for TopLink Essentials.
Ericsson (lit. "Telephone Stock Company of LM Ericsson"), commonly known as Ericsson, is a Swedish multinational networking and telecommunications company headquartered in Stockholm. The company sells infrastructure, software, and services in informat ...
'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 Oracle WebLogic Server is a Java EE application server currently developed by Oracle Corporation. Oracle acquired WebLogic Server when it purchased BEA Systems in 2008. Application Server versions * WebLogic Server 14c (14.1.1) - March 30, 20 ...
. In response to Oracle’s announcement to end commercial support for GlassFish, a fork called
Payara Server Payara Server is an open-source application server derived from GlassFish Server Open Source Edition. It was created in 2014 by C2B2 Consulting as a drop in replacement for GlassFish after Oracle announced it was discontinuing commercial sup ...
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 Metro is a high-performance, extensible, easy-to-use web service stack. Although historically an open-source part of the GlassFish application server, it can also be used in a stand-alone configuration. Components of Metro include: JAXB RI, JAX ...
Other CDDL-licensed, Java-based services: *
OpenDJ OpenDJ is a directory server which implements a wide range of Lightweight Directory Access Protocol and related standards, including full compliance with LDAPv3 but also support for Directory Service Markup Language (DSMLv2). Written in Java, Open ...
(formerly OpenDS) * OpenAM (formerly OpenSSO) *
OpenESB ''OpenESB'' is a Java-based open-source enterprise service bus. It can be used as a platform for both enterprise application integration and service-oriented architecture. OpenESB allows developers to integrate legacy systems, external and intern ...
Other Jakarta EE application servers: *
WildFly WildFly, formerly known as JBoss AS, or simply JBoss, is an application server written by JBoss, now developed by Red Hat. WildFly is written in Java and implements the Java Platform, Enterprise Edition (Java EE) specification. It runs on mul ...
(formerly JBoss AS) * WebSphere AS * WebLogic Server *
Apache TomEE Apache TomEE (pronounced "Tommy") is the Java Enterprise Edition of Apache Tomcat (Tomcat + Jakarta EE = TomEE) that combines several Java enterprise projects including Apache OpenEJB, Apache OpenWebBeans, Apache OpenJPA, Apache MyFaces and other ...
*
Payara Server Payara Server is an open-source application server derived from GlassFish Server Open Source Edition. It was created in 2014 by C2B2 Consulting as a drop in replacement for GlassFish after Oracle announced it was discontinuing commercial sup ...
*
Apache Geronimo Apache Geronimo is an open source application server developed by the Apache Software Foundation and distributed under the Apache license. Geronimo 3, the current version, is compatible with the Java Enterprise Edition (Java EE) 6 specification ...
*


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)