# GlassFish

GlassFish ist ein Open-Source-Anwendungsserver-Projekt für Java EE, das von Sun Microsystems gestartet wurde und seit 2010 von der Oracle Corporation gesponsert wird. GlassFish ist freie Software und wird von der Eclipse Foundation betreut.

## Das GlassFish-Projekt

Das GlassFish-Projekt betreut die Weiterentwicklung des früheren Sun GlassFish Enterprise Server (SGFES) (vormals Sun Java System Application Server (SJSAS)) innerhalb der Firma Oracle und der Open-Source-Community. Mit der Übernahme von Sun Microsystems durch Oracle im Februar 2010 wurde das GlassFish-Projekt in Oracle GlassFish Server umbenannt.
Das Sun-GlassFish-Enterprise-Server-Projekt (SGFES) startete am 8. Juni 2005. Es gilt seit Erscheinen der Java-EE-5-Spezifikation als deren Referenzimplementierung. Suns Java-EE-5-Paket ohne Updates vom 16. Mai 2006 basierte auf der Codebasis des Sun-Java-System-Application-Server 9. Seit 2006 ersetzt SGFES das Java Web Services Development Pack. Am 17. September 2007 erschien SGFES Version 2 zeitgleich mit SJSAS 9.1. Am 19. Dezember 2007 wurde das erste Update für Version 2 mit neuen Funktionen und Fehlerkorrekturen veröffentlicht. Seit März 2008 gibt es auch ein SGFES Paket mit einer MySQL-Datenbank.
Im Dezember 2009 erschien GlassFish in der Version 3, welches die Referenzimplementierung der neuen Java-EE-6-Spezifikation ist. In Version 3.1 wurde Clustering wieder Bestandteil von GlassFish. GlassFish bedient sich des Open-Source-Persistenzframeworks EclipseLink (bis 2.0 TopLink) sowie Grizzly als Servletcontainer bzw. Java-Webserver-Schicht (web-tier), um Webinhalte zu liefern. Seit Februar 2010 heißt GlassFish (SGFES bzw. SJSAS) offiziell „Oracle GlassFish Server“. Im Zuge des Java EE Panel auf der W-JAX 2013 gab Oracle bekannt, den kommerziellen Support für GlassFish einzustellen.
Oracle hat 2018 die Entwicklung für GlassFish an die Eclipse Foundation übergeben. Ende Januar 2019 wurde die GlassFish Version 5.1 vom Eclipse Projekt EE4J als Java-EE-8 zertifizierte Implementierung veröffentlicht. Die Version 5.1 wurde auch mit Veröffentlichung von Jakarta EE 8 für selbige zertifiziert.
Am 29. Januar 2019 hat die Eclipse Foundation GlassFish 5.1 veröffentlicht. Diese Version ist technisch identisch mit GlassFish 5.0 von Oracle, basiert aber vollständig auf dem Quellcode, den Oracle an die Eclipse Foundation übertragen hat und der anschließend an EPL neu lizenziert wurde. Wie GlassFish 5.0 ist auch 5.1 für Java EE 8 zertifiziert, hat aber keinen RI-Status. Das Hauptziel dieser Version ist es, zu beweisen, dass der gesamte Quellcode übertragen wurde und tatsächlich in ein vollständig konformes Produkt gebaut werden kann.
Am 31. Dezember 2020 veröffentlichte die Eclipse Foundation GlassFish 6.0.0. Diese Version ist funktional weitgehend identisch mit GlassFish 5.1, implementiert jedoch Jakarta EE 9. Jakarta EE 9 ist funktional identisch mit Jakarta EE 8 (das funktional identisch mit Java EE 8 ist), jedoch wurden das Paket und verschiedene Konstanten von javax.* in jakarta.* geändert.
Am 5. Mai 2021 veröffentlichte die Eclipse Foundation GlassFish 6.1.0. Diese Version ist funktional identisch mit GlassFish 6.0.0, implementiert aber Jakarta EE 9.1. Jakarta EE 9.1 ist funktional identisch mit Jakarta EE 9 (das funktional identisch mit Jakarta EE 8 und Java EE 8 ist), unterstützt aber JDK 11. In den folgenden Monaten werden 6.2.0 mit Jakarta MVC und das JDK 17 kompatible 6.2.1 mit Eclipse Exousia veröffentlicht.
Am 14. Dezember 2022 wurde Version 7.0.0 veröffentlicht. Diese Version basiert auf Jakarta EE 10. Diese Änderung stellt eine der größten Änderungen der letzten Jahre dar. Außerdem werden ab dieser Version MicroProfile Konfigurationen unterstützt.

## Lizenzen

GlassFish ist unter Open-Source-Lizenzen zweifach lizenziert: Primär unter der Eclipse Public License2.0 (EPL) und – seit Erscheinen der Version 5.1 – als zweite Lizenz GNU General Public License (GPL) mit GPL Classpath Exception.

## Payara Server

Die Firma Payara Services Ltd nutzt die Glassfish Open-Source-Version als Upstream-Projekt für ihren eigenen Open-Source-Payara Server. Entstanden ist Payara Server 2014 basierend auf GlassFish 4.1. Auch Payara Server ist dual lizenziert unter Common Development and Distribution License 1.1 (CDDL) und GPL 2 mit Classpath Exception. Payara wurde im Oktober 2019 Jakarta EE 8 zertifiziert. Der Payara Server ist ebenfalls kompatibel zu Eclipse MicroProfile.