Sun GlassFish Enterprise Server v3 stellt einen Server für die Entwicklung und Bereitstellung von Java Platform, Enterprise Edition-(Java EE-Plattform-)Anwendungen und -Webtechnologien bereit, die auf der Java-Technologie beruhen.
Hier werden folgende neue Funktionen von Enterprise Server beschrieben:
Unterstützung für Web Services Interoperability Technologies (WSIT)
Verschiebung der HTTP-Diensteinstellungen zum Netzwerkdienst
Änderungen bezüglich Ant-Tasks und des Dienstprogramms asant
In Java EE 6 wird erstmals das Konzept der Profile verwendet. Ein Profil ist eine Sammlung von Java EE-Technologien und -APIs, die sich an bestimmte Entwickler-Communities und Anwendungstypen richten.
Die folgenden Profile werden durch die Distributionen von Sun GlassFish Enterprise Server v3 implementiert:
Vollständiges Plattformprofil (Full Platform Profile). Dieses Profil ist für Entwickler konzipiert, die den vollständigen Satz Java EE-APIs für die Entwicklung von Unternehmensanwendungen benötigen. Das vollständige Plattformprofil wird bei der Installation von Sun GlassFish Enterprise Server v3 installiert. Dieses Profil wird außerdem im Rahmen der Java EE 6 SKD-Installation installiert.
Webprofil (Web Profile). Dieses Profil enthält Webtechnologien, die Teil der vollständigen Plattform sind, und ist für Entwickler konzipiert, die nicht den vollständigen Satz Java EE-APIs benötigen. Das Webprofil wird bei der Installation von Sun GlassFish Enterprise Server v3 Web Profile installiert. Dieses Profil wird außerdem zusammen mit dem Java EE 6 Web Profile SKD installiert.
Java EE 6 SDK-Distributionen stehen auf der Java EE 6 SDK-Downloadseite zur Verfügung.
Eine Liste der in den einzelnen Profilen enthaltenen APIs finden Sie unter Java EE 6-Standards.
In Sun GlassFish Enterprise Server v3 wurde der GlassFish-Code in Module aufgeteilt, um eine höhere Flexibilität und eine verbesserte Laufzeitleistung zu bieten. Die modulare Architektur wurde über OSGi Alliance-Standards implementiert und gewährleistet die Wiederverwendbarkeit der Module von Enterprise Server v3 sowie anderer Module.
Dank dieses geänderten Aufbaus haben Sie nun die Möglichkeit, nur die Module zu verwenden, die Sie für die bereitgestellten Anwendungen benötigen. Laufzeit wird nur für Anwendungen verwendet, die sie auch zum Einsatz bringen, und Upgrades können ohne vollständige Neuinstallation des Systems implementiert werden. Durch diese Änderung werden die Anzahl der Neustarts, die Arbeitsspeicherauslastung und die Speicherplatzanforderungen minimiert.
Der modulare Aufbau bietet folgende Möglichkeiten:
Bereitstellen von OSGi-Paketen
Bereitstellen von Java Archive-(JAR-)Dateien für Bibliotheken
Ersetzen vorhandener Funktionen durch eine andere Implementierung
Eine neue Systemanbieterschnittstelle (SPI) für Sun GlassFish Enterprise Server v3-Container definiert Schnittstellen, die der Containerentwickler implementieren muss, damit Enterprise Server sie zu den entsprechenden Zeitpunkten aufrufen kann. Durch diese Änderung können Enterprise Server-Benutzer benutzerdefinierte Anwendungsserver erstellen, indem sie Verwaltungsbefehle und grafische Add-On-Komponenten hinzufügen.
Enterprise Server bietet außerdem rationalisierte Unterstützung neuer Modultypen, wie beispielsweise Ruby on Rails.
Update Tool ist jetzt in die Sun GlassFish Enterprise Server v3 Administration Console eingebettet. Dieses Tool vereinfacht die Verwaltung von Add-On-Komponenten und verwandten Anwendungen, die für die Erweiterung von Enterprise Server v3-Funktionen verfügbar sind.
Die Administration Console bietet über die Navigationsstruktur Zugriff auf die Update Tool-Seite. Auf der Update Tool-Seite stehen Registerkarten zur Anzeige folgender Elemente zur Verfügung:
Installierte Komponenten
Für installierte Komponenten verfügbare Aktualisierungen
Add-On-Komponenten, die verfügbar sind und installiert werden können
Die Integration von Update Tool in die Administration Console ermöglicht Administratoren die problemlose Erweiterung von Enterprise Server und die Anzeige verfügbarer Aktualisierungen. Eine eigenständige Update Tool-Version kann auch über den Befehl updatetool aufgerufen werden. Weitere Informationen zu Update Tool finden Sie im Abschnitt Update Tool in Sun GlassFish Enterprise Server v3 Administration Guide.
Vorhandene Komponenten können nicht mit der Update Tool-Oberfläche in der Administration Console aktualisiert werden. Zum Aktualisieren oder Entfernen installierter Komponenten müssen Sie die eigenständige Befehlszeilenversion oder den Befehl pkg verwenden.
Update Tool wurde im Rahmen des Update Center-Projekts entwickelt. Die Administration Console verwendet die Update Center 2.3-API, um eine Liste der verfügbaren Komponenten, Versionen und Daten anzuzeigen. Informationen zu Update Center 2.3 finden Sie in den Versionshinweisen zu Update Center 2.3 .
Update Tool und Upgrade Tool sind nicht identisch; letzteres dient zum Migrieren der Konfiguration und bereitgestellten Anwendungen aus einer früheren Version von Enterprise Server zur aktuellen Version. Weitere Informationen zu Upgrade Tool finden Sie im Sun GlassFish Enterprise Server v3 Upgrade Guide .
Um eine rasche Entwicklung und Bereitstellung von Anwendungen zu ermöglichen, unterstützt Sun GlassFish Enterprise Server v3 eine Vielzahl von Skriptsprachen. Durch die Verwendung von Skriptsprachen kann Enterprise Server auch über Bereitstellungen, die sich auf Java-Technologie konzentrieren, hinaus angewendet werden. Folgende Skriptsprachen werden unterstützt:
JRuby and Rails: Eine Skriptsprache und ein Framework zur Entwicklung von Webanwendungen.
Grails: Ein Webanwendungs-Framework, das die Programmiersprache Groovy nutzt und die Java-Webbereitstellung ergänzt.
Jython and Django: Eine Java-Implementierung der Python-Sprache und ein Web-Framework für Python und Python-Implementierungen (wie z. B. Jython).
jMaki: Ein Framework zur Erstellung von Ajax-Webanwendungen
Unterstützung für diese Skriptsprachen wird durch Komponenten bereitgestellt, die über Update Tool verfügbar sind.
Sun arbeitet eng mit Microsoft zusammen, um die Interoperabilität von Webdienst-Technologien der Enterprise-Klasse sicherzustellen (z. B. Nachrichtenoptimierung, zuverlässiges Messaging und Sicherheit). WSIT ist ein Produkt dieser gemeinschaftlichen Bemühungen. WSIT ist Teil von Metro 2.0, einem hochleistungsfähigen, erweiterbaren Webdienst-Stack, der Interoperabilität mit Microsoft .NET 3.5 bietet. Metro 2.0 ist in der vollständigen Distribution von Enterprise Server v3 enthalten.
WSIT ist eine Implementierung verschiedener Open Web-Dienstspezifikationen zur Unterstützung von Unternehmensfunktionen. Zusätzlich zu den genannten Technologien umfasst WSIT eine Bootstrapping- und Konfigurationstechnologie. Auf Grundlage der derzeit in die Java-Plattform integrierten XML-Basisunterstützung nutzt oder erweitert WSIT vorhandene Funktionen und fügt neue Unterstützung für interoperable Webdienste hinzu, z. B.:
Bootstrapping und Konfiguration
Technologie zur Nachrichtenoptimierung
Technologie für zuverlässiges Messaging
Sicherheitstechnologie
In dieser Version wurde das Dienstprogramm appclient wie folgt verbessert:
Das Dienstprogramm appclient akzeptiert eine andere Befehlszeilensyntax ähnlich der Syntax des Java-Anwendungsstartprogramms (java).
Die Option -targetserver wurde hinzugefügt, um die Angabe von Server und Portnummer des Ziels zu ermöglichen.
Begrüßungsbildschirme in Anwendungsclients werden unterstützt.
Weitere Informationen finden Sie in der Online-Dokumentation appclient(1M).
Sun GlassFish Enterprise Server v3 verwendet EclipseLink als Java Persistence API (JPA) 2.0-Anbieter. EclipseLink ist zudem die Referenzimplementierung für JSR 317. Aktuelle Informationen zur EclipseLink-Funktionalität finden Sie in den Versionshinweisen zu EclipseLink 2.0.
In Sun GlassFish Enterprise Server v3 wurden die meisten HTTP-Diensteinstellungen in die neue Netzwerkdienstkonfiguration verschoben. Weitere Informationen finden Sie im Sun GlassFish Enterprise Server v3 Upgrade Guide .
In Sun GlassFish Enterprise Server v3 werden Sie nicht standardmäßig zur Eingabe von Administrations-Credentials aufgefordert. Dies ist anders als in früheren Versionen.
Bei Installation von Enterprise Server mithilfe der ZIP-Datei werden Sie nicht zur Eingabe von Administrations-Credentials aufgefordert, wenn Sie die Administration Console starten oder das Dienstprogramm asadmin und Remote-Unterbefehle zur Durchführung von Administrationsaufgaben verwenden.
Bei Installation von Enterprise Server v3 mit der selbstextrahierenden Datei und dem grafischen Installationsprogramm werden Sie nur dann zur Eingabe von Administrations-Credentials aufgefordert, wenn Sie während der Installation auf der Seite "Administrationseinstellungen" einen Benutzernamen und ein Passwort angegeben haben. Falls Sie auf dieser Seite die Vorgaben akzeptiert haben, lautet der standardmäßige Administratorname admin, und das Passwortfeld ist leer.
Wenn nur ein Administrator ohne Passwort konfiguriert ist, sind nicht authentifizierte Anmeldungen zulässig. Weitere Informationen zur Administratorauthentifizierung finden Sie im Abschnitt To Log In to a Domain in Sun GlassFish Enterprise Server v3 Administration Guide.
Die Anforderungen für die Administratorauthentifizierung können nach der Installation von Enterprise Server geändert werden. Informationen darüber, wie Sie diese und verwandte Aufgaben mit der Administration Console durchführen, finden Sie in der Online-Hilfe zur Administration Console. Informationen zur Verwendung der Befehlszeilenschnittstelle finden Sie im Abschnitt Administering Passwords in Sun GlassFish Enterprise Server v3 Administration Guide.
Das Verhalten des Dienstprogramms asadmin wurde geändert, um den Unterschied zwischen Optionen für das Dienstprogramm asadmin selbst und Optionen für seine Unterbefehle deutlicher herauszustellen. Optionen für das Dienstprogramm asadmin selbst sind nun vor dem Unterbefehl zulässig. Aus Gründen der Kompatibilität mit anderen Versionen sind jedoch Optionen für das Dienstprogramm asadmin selbst nach wie vor auch nach dem Unterbefehl zulässig, diese Syntax ist allerdings veraltet.
Weitere Informationen finden Sie im Abschnitt Using the asadmin Utility in Sun GlassFish Enterprise Server v3 Administration Guide.
In Sun GlassFish Enterprise Server v3 wurden bezüglich des Dateilayouts die folgenden Änderungen gegenüber früheren Versionen vorgenommen:
Das standardmäßige Installationsverzeichnis lautet wie folgt:
Solaris-, Linux- und Mac OS X-Systeme: home-verzeichnis-des-benutzers/glassfishv3
Windows-Systeme: Systemlaufwerk:\glassfishv3
Ein Unterverzeichnis glassfish mit weiteren Unterverzeichnissen wurde hinzugefügt.
Produktbibliotheken wurden aus dem Verzeichnis glassfish/lib in glassfish/modules verschoben.
Das Verzeichnis osgi wurde hinzugefügt.
Ein spezielles Verzeichnis für rechtliche Dateien wurde hinzugefügt. Lizenz- und Copyright-Dateien sind nun im Verzeichnis glassfish/legal abgelegt.
Sun GlassFish Message Queue wird in einem Verzeichnis der obersten Ebene statt wie bisher in einem Unterverzeichnis installiert.
Java DB wird in einem Verzeichnis der obersten Ebene statt wie bisher in einem Unterverzeichnis installiert.
In Sun GlassFish Enterprise Server v3 stehen serverspezifische Ant-Tasks zur Verfügung, für die Ant installiert sein muss. Das Dienstprogramm asant ist in dieser Version nicht enthalten.
Enterprise Server ist mit Apache Ant ab Version 1.6.5 kompatibel. Sollte Ant nicht installiert sein, können Sie es mit Update Tool installieren.
Weitere Informationen zu Update Tool finden Sie im Abschnitt Update Tool in Sun GlassFish Enterprise Server v3 Administration Guide. Weitere Informationen zu Ant-Tasks finden Sie in Kapitel 3, Using Ant with Enterprise Server in Sun GlassFish Enterprise Server v3 Application Development Guide.
Aufgrund des modularen und erweiterbaren Aufbaus von Sun GlassFish Enterprise Server v3 kann die Datei domain.xml nicht anhand einer statischen DTD-Datei überprüft werden. Stattdessen wird die Datei domain.xml anhand von @Configured-Annotationen im Quellcode überprüft. Weitere Informationen zur Struktur der Datei domain.xml finden Sie in der Sun GlassFish Enterprise Server v3 Domain File Format Reference .
Zwischen Enterprise Server v3 und Enterprise Server v2 bestehen Unterschiede im Hinblick auf Anwendungen. In diesem Abschnitt werden einige dieser Unterschiede erläutert.
Der Standardwert der Option force für die Bereitstellung lautet in Enterprise Server v3 false. In Enterprise Server v2 lautete der Standardwert true. In Enterprise Server v3 müssen Sie die Option für die erneute Bereitstellung explizit auf true setzen. Diese Option wird während des Upgrade-Verfahrens nicht automatisch festgelegt. Diese Änderung wurde vorgenommen, um das versehentliche Überschreiben des Inhalts einer vorhandenen Anwendung zu verhindern. Dies gilt sowohl für die Administration Console als auch für das Befehlszeilendienstprogramm.
Der Befehl asadmin redeploy ist ebenfalls neu in Enterprise Server v3 und entspricht --force=true. Die Option force ist nur auf den Befehl deploy (Befehlszeilenschnittstelle) und den Bildschirm deploy (Konsole) anwendbar, nicht jedoch auf den Befehl redeploy und den Bildschirm redeploy.
Enterprise Server v2 enthielt zwei Unterverzeichnisse für das Anwendungs-Repository: applications/j2ee-apps und applications/j2ee-modules. Diese Unterverzeichnisse sind in Enterprise Server v3 nicht vorhanden (es gibt keine Ebene j2ee-apps oder j2ee-modules). Die Bereitstellung eines eigenständigen Moduls wie foo.war, das in Enterprise Server v2 in applications/j2ee-modules/foo gespeichert war, befindet sich in Enterprise Server v3 nun in applications/foo. Unternehmensanwendungen und eigenständige Module nutzen im Wesentlichen denselben Namensraum gemeinsam, sodass die Zwischenverzeichnisebene nicht benötigt wurde.
Elemente früherer Versionen wie web-module, ejb-module usw. sind in Enterprise Server v3 veraltet und wurden durch das neue Element application ersetzt. Weitere Informationen zum Element application finden Sie im Abschnitt application in Sun GlassFish Enterprise Server v3 Domain File Format Reference.
Während eines Upgrades werden Enterprise Server v2-Anwendungen am neuen Speicherort applications/ mit dem neuen Element application in der Datei domain.xml erneut bereitgestellt. Alle für Enterprise Server v3 bereitgestellten neuen Anwendungen werden mit der neuen Verzeichnisstruktur und dem neuen Element bereitgestellt.
In Java EE 6 gelten strengere Regeln für die JAR-Sichtbarkeit als in Java EE 5. Dies führt dazu, dass einige ältere Anwendungen möglicherweise nicht ausgeführt werden können.
Die Java EE 6-Spezifikation definiert strenge Regeln dafür, welche JAR-Dateien aus einer Enterprise Archive-(EAR-)Datei sichtbar sind. Lesen Sie insbesondere Abschnitt EE.8.3.3. Vor allem Anwendungsclient-Module sollten keinen Zugriff auf EJB-JAR-Dateien haben, es sei denn, das Manifest Class-Path der JAR-Datei des Anwendungsclients verweist explizit auf die EJB-JAR-Dateien.
Dies ist eine Änderung gegenüber Enterprise Server v2; in dieser Version hatten Anwendungsclients automatisch Zugriff auf alle EJB-JAR-Dateien in der EAR-Datei und alle JAR-Dateien auf der obersten Ebene der EAR-Datei. Um den strengeren Regeln der Spezifikationssprache zu entsprechen, kann Enterprise Server v3 Anwendungsclients des Zugriff auf diese JAR-Dateien nicht automatisch gewähren.
Diesem neuen, strengeren Verhalten, das von Java EE 6 gefordert wird, können Sie wie folgt begegnen:
Wenn die Anwendung für eine Enterprise Server v2-Domäne bereitgestellt wird, behält Upgrade Tool das Enterprise Server v2-Verhalten für diese Anwendung in dieser Domäne. Weitere Informationen zum Upgrade-Verfahren finden Sie im Sun GlassFish Enterprise Server v3 Upgrade Guide .
Ändern Sie das Manifest Class-Path des Clients so, dass es explizit auf die JAR-Dateien verweist, von denen es abhängt. Class-Path darf keine JAR-Dateien im Bibliotheksverzeichnis der EAR-Datei auflisten. Gemäß Spezifikation stehen alle JAR-Dateien in diesem Verzeichnis allen Modulen in der EAR-Datei zur Verfügung. Dieses Verzeichnis ist standardmäßig /lib; durch Verwendung von library-directory im Deskriptor von application.xml kann alternativ ein anderes Verzeichnis festgelegt werden.
Stellen Sie die EAR-Datei mit der optionalen Einstellung --property compatibility=v2 bereit. Dadurch bleibt das Enterprise Server v2-Verhalten für diese Anwendung erhalten, wenn sie für Enterprise Server v3 bereitgestellt wird.
Dieses geänderte Verhalten ist auch Thema in Kapitel 1, Application Server Compatibility Issues in Sun GlassFish Enterprise Server v3 Upgrade Guide.
In Sun GlassFish Enterprise Server v3 wird bei Ausführung der Befehle deploy --retrieve und get-client-stubs nicht länger nur eine JAR-Datei in das lokale Verzeichnis heruntergeladen, wie es in Enterprise Server v2 der Fall war. Zwar wird localdir/myAppClient.jar nach wie vor in Enterprise Server v3 erstellt und kann als Ziel im Befehl appclient verwendet werden; zusätzlich wird jedoch ein weiteres Verzeichnis (localdir/myAppClient ) erstellt, das seinerseits weitere Dateien enthalten kann.
Wenn Sie bisher die in Enterprise Server v2 heruntergeladene einzelne JAR-Datei kopiert haben, um die Anwendungsclient-Komponenten von einem Ort an einen anderen zu verschieben, können Sie in Enterprise Server v3 nicht mehr so vorgehen. Hierfür muss nun der Befehl asadmin get-client-stubs verwendet werden. Weitere Informationen zu diesem Befehl finden Sie unter get-client-stubs(1).
Sollten Sie sich dennoch für das Kopierverfahren entscheiden, müssen Sie nicht nur die Datei localdir/myAppClient.jar kopieren (wie in Enterprise Server v2), sondern auch den gesamten Inhalt des Verzeichnisses localdir/myAppClient.