Java™ EE 6 stellt eine Reihe neuer bzw. erweiterter Features bereit,
die in diesem Release unterstützt werden.
Web-Services
- Web-Services unterstützen Sie beim Schreiben von XML-Web-Service-Client-Anwendungen.
- Sie können Ihre APIs als .NET-kompatible Web-Services mit einer einfachen
Annotation bereitstellen.
- Java SE 6 fügt
Java-Objektzuordnungs-APIs neue Parsing- und XML-Funktionen hinzu,
die bisher nur in Java EE-Plattformimplementierungen oder in
Java Web
Services Pack verfügbar waren.
Unterstützung von Scripting-Sprachen
JDBC-Erweiterungen
- Das Java SE 6 Development Kit enthält die auf Apache Derby basierende Java DB,
die vollständig in Java implementierte JDBC-Datenbank.
- JDBC enthält die aktualisierte API von JDBC 4.0, die viele wichtige Verbesserungen enthält, z. B.
Sonderunterstützung von XML als SQL-Datentyp und
verbesserte Integration von großen Binärobjekten (Binary Large Objects, BLOBs) und großen Zeichenobjekten
(Character Large Objects, CLOBs).
- Sie müssen in Java 6 die
JDBC-Klasse nicht mehr explizit laden. Die Zeile Class.forName("oracle.jdbc.driver.OracleDriver") wurde durch die folgende
einfache Deklaration ersetzt: Connection conn
= DriverManager.getConnection("jdbc:derby:TestDB");
Überwachung und Verwaltung
- Java EE 6 verbessert Java Monitoring and Management Console oder
JConsole.
- Die grafische Darstellung von JConsole wurde verbessert. Sie können jetzt
mehrere Anwendungen in derselben JConsole-Instanz überwachen. Außerdem wurde die
Zusammenfassungsanzeige überarbeitet.
- In Java 6 können Sie alle Anwendungen überwachen,
die auf einer virtuellen Maschine mit Java 6
ausgeführt werden.
- Java 6 wird außerdem mit hoch entwickelten Thread-Management- und
Überwachungsfunktionen bereitgestellt.
- Der Fehler aufgrund abnormaler Speicherbedingungen (OutOfMemoryError) wird jetzt mit zusätzlichen Informationen ausgegeben.
Es wird ein vollständiger Stack-Trace ausgegeben, damit Sie ungefähr wissen,
was das Problem verursacht haben könnte.
Dateisystem verwalten
- Java 6 bietet Ihnen eine genauere Kontrolle über
Ihr lokales Dateisystem.
- Die Klasse java.io.File hat die folgenden drei Methoden zur Bestimmung der
verfügbaren Speicherkapazität (in Byte) in einer angegebenen
Plattenpartition:
- Die Klasse "java.io.File" hat jetzt eine Reihe von Funktionen, mit denen Sie
die Flags "lesbar", "schreibbar" und "ausführbar" in Dateien in Ihrem lokalen Dateisystem (wie mit dem
UNIX-Befehl chmod) festlegen können.
Sicherheit
- Die XML-DSIG-APIs (XML Digital Signature, digitale XML-Signatur) für die Erstellung und Bearbeitung digitaler Signaturen
werden unterstützt. Es wurden außerdem zahlreiche neue Methoden für den Zugriff auf
native Plattformsicherheitsservices hinzugefügt. Dazu gehört Folgendes:
- Native PKI-Infrastruktur (Public Key Infrastructure) und Verschlüsselungsservices unter
Microsoft Windows für sichere Authentifizierung und Kommunikation,
- Java Generic Security Services
(Java GSS) und Kerberos-Services
für Authentifizierung,
- Zugriff auf LDAP-Server für die Authentifizierung von Benutzern.
Änderungen der APIs von Java EE
6
WebBeans 1.0: Eine der innovativsten APIs, die in
Java EE 6 entwickelt wurden.
WebBeans füllt eine Vielzahl von Lücken in Java EE.
WebBeans bietet Folgendes:
- Vereint die JSF-, JPA- und EJB 3-Programmiermodelle in einer einzigen
gut integrierten Plattform. WebBeans registriert EJB 3-Beans, JPA-Entitäten und
JavaBeans als WebBeans-Komponenten,
auf die über Expression Language (EL, Ausdruckssprache) zugegriffen werden kann und die ineinander injiziert
werden können.
- Führt stabile Abhängigkeitsinjektionsfeatures in die Plattform ein.
- Erweitert das Java EE-Interceptormodell, indem eine Funktionalität hinzugefügt wird,
mit der Interceptors an Annotationen gebunden werden können,
statt Interceptors an Zielobjektklassen selbst binden zu müssen.
EJB 3.1: In EJB
3.1 wird EJB weiterhin so einfach wie möglich gehalten, während bedeutende Geschäftskomponentenservices
hinzugefügt wurden. EJB 3.1 bietet Folgendes:
- Selbst für Session-Beans optionale Geschäftsschnittstellen.
- Fügt das Konzept von Singleton Beans hinzu. Da sie für die Verwaltung
gemeinsamer Anwendungsstatus vorgesehen sind, sind sie standardmäßig absolut threadsicher.
Gleichzeitig fügt EJB 3.1 eine deklarative Steuerung des gemeinsamen Zugriffs für mehr
Flexibilität hinzu.
- Fügt Unterstützung für die Planung mit Cronfunktionen hinzu.
- Fügt die Funktion hinzu, Session-Bean-Methoden asynchron über die Annotation
"@Asynchronous" aufzurufen.
- Führt das Konzept EJB 3.1 Lite ein, um eine kleineren Teil der
EJB-API für das Webprofil hinzuzufügen. EJB Lite stellt
Features wie Transaktionen und Sicherheit bereit, enthält aber keine Features wie
Messaging, Fernausführung und Planung.
- Führt den JNDI-Standardnamen java:global/app/module/beah#interface ein.
JPA 2.0: In Java EE 6 wurde JPA offiziell
von EJB als eigene API getrennt. JPA 2.0 bietet Folgendes:
- Fügt eine Reihe von ORM-Zuordnungserweiterungen hinzu wie die Funktion zum Modellieren von Sammlungen, Zuordnungen und Listen
mit der Annotation "@ElementCollection" und die
Funktion unidirektionale Eins-zu-viele-Beziehungen zuzuordnen.
- Erweitert die EntityManager- und Query-APIs, um beispielsweise das Abrufen des ersten Ergebnisses,
Angeben der maximalen Anzahl von Abfrageergebnissen,
Erhalten des Zugriffs auf die herstellerspezifischen Entitätsmanager- und Abfrageobjekte
und pessimistisches Sperren zu unterstützen.
- Erweiterte JPQL mit SQL-ähnlichen Ausdrücken CASE, NULLIF, COALESCE.
- Fügt eine Kriterien-API hinzu.
Servlet 3.0: Servlet 3.0 enthält
das Java EE 5-Modell. Servlet 3.0 bietet Folgendes:
- Führt Annotationen wie "@WebServlet", "@WebFilter" und "@WebListener" ein.
Dadurch wird die Konfiguration von web.xml so reduziert, dass sie komplett
entfernt werden kann.
- Führt das Konzept von Webfragmenten ein. Weitere Informationen finden Sie unter Webfragmentprojekte erstellen.
- Fügt die Funktion zum programmgestützten Hinzufügen von Servlets, Filtern und
Listeners über den Servletkontext hinzu.
- Folgt EJB 3.1 insofern, als Implementierungsdeskriptoren optional sind.
- Stellt Unterstützung für EJB-Beans der Versionen 3.0 und 3.1 in Web 3.0-Projekten bereit.
JAX-RS 1.1: JAX-RS 1.1 ist die REST-Entsprechung
von JAX-WS. JAX-RS 1.1 bietet Folgendes:
- Verwendet die Annotation "@Path", um die URL zu bestimmen, über die auf eine JAX-RS-Ressource zugegriffen
werden kann.
- Ordnet die Eingabe von Quellen wie URL-Abfrageparametern, Teilen der URL, Cookies und
HTTP-Headerwerten zu.
- Verwendet die Annotation "@Produces", um JAX-RS den Inhaltstyp zurückgegebener Werte wie
text/xml und text/json mitzuteilen.
- Kann mit Servlets, WebBeans und EJB integriert werden.