Mit einem Elefanten im Zimmer...
lässt sich vermutlich nicht gut arbeiten. Deshalb ist es umso erstaunlicher, was die Entwicklerteams trotz der Querelen um die bevorstehende Übernahme durch Oracle und den Einwänden der EU Kommission geschafft haben. Neben der Unterstützung für Glassfish v3 und Java EE6 hat vor allem der PHP Support durch Unterstützung des Symphony Frameworks neue Features gewonnen.
Noch stärker wurde der JavaFX Support mit dem neuen Composer erweitert. Ein zusätzliches Tool steht allen Webentwicklern mit dem eingebetteten Browser für Previews und den Test von Stylesheets und Webseiten zur Verfügung. Daneben wurde auch kräftig Modellpflege betrieben und bestehende Features noch einmal verbessert. Hier macht sich vor allem beim Groovy Editor die verbesserte Codevervollständigung positiv bemerkbar. Die exzellente Maven-Unterstützung wurde ebenfalls konsequent weiter entwickelt und vom Ruby Support, über den SQL Editor zum C/C++ Debugger sind an vielen weiteren Stellen Verbesserungen vorgenommen worden. Die Liste ist also lang geworden, und trotz der Ankündigung sich mit kürzeren Releasezyklen jeweils auf kleinere Änderungen zu beschränken, ist offenbar ein stattliches Paket daraus geworden. Aber sehen wir uns das Ganze im Detail an...
Noch ofenwarm – Java EE 6
Die wichtigste Neuerung ist der Support für Java EE 6. JAX-WS steht nun in Version 2.2 zur Verfügung, die JAX-RS Implementierung liegt in Version 1.1 vor, JAXB in Version 2.2, Metro wurde von 1.4 auf 2.0 aktualisiert und für die Persistenz wird nun JPA 2.0 verwendet. Wie gewohnt stehen bei NetBeans alle Webfeatures gleich zur Verfügung, ohne dass erst langwierig passende und kompatible Plug-ins gesucht werden müssen. Erzeugt man ein neues Webprojekt, steht nun auch das Java-EE6-Framework zur Auswahl. Dank der Unterstützung von Profiles in Java EE6 kann eine Applikation zunächst mit dem einfacheren "Web Profile" angelegt werden, das nur einen Ausschnitt der kompletten Java EE6 Spezifikation enthält (Abb. 2). Verwendet der Entwickler Features, die nicht in das Web Profil fallen, wie die Erzeugung von Remote Interfaces für EJBs, so erfährt die Anwendung automatisch ein Upgrade zum "Full" Profil.
Als erste Neuerung fällt auf, dass die Assistenten zum Erzeugen neuer Klassen per Voreinstellung konsequenterweise die neuen Servlet 3.0 Annotationen verwenden, anstatt die web.xml zu aktualisieren. Generieren wir zum Beispiel ein Servlet "NewServlet" wird diese Annotation eingefügt:
@WebServlet(name="NewServlet", urlPatterns={"/NewServlet"})
Bevorzugt man dennoch den Eintrag in der Konfigurationsdatei lässt sich dies im Assistenten anpassen. In Web Projekten können nun auch EJBs verwendet werden, die seit EJB 3.1 in WARs verpackt und ausgeliefert werden dürfen. Damit steht auch eine deutlich größere Anzahl an Assistenten zur Verfügung.
Mit JSF 2.0 werden auch Facelets im Editor unterstützt. NetBeans erkennt XHTML Seiten anhand des deklarierten Namespaces als Facelet-Dateien und schaltet bei Bedarf die entsprechenden Features wie Syntaxhighlighting, Codevervollständigung und die Anzeige der API-Dokumentation zu. Alle Tags der verfügbaren Bibliotheken werden in der Codevervollständigung angezeigt und bei Bedarf automatisch importiert. Neben der direkten Editor-Unterstützung steht auch in der XHTML Palette eine eigene JSF-Kategorie zur Verfügung. Hier können auch eigene Snippets per Drag & Drop als Vorlagen abgelegt werden. Schneller lassen sich Templates kaum erzeugen. Drag & Drop von Snippets in den Code ist allerdings nicht jedermanns Sache. Deshalb gibt es in der Version 6.8 die palettenbasierte Codevervollständigung. In der Vervollständigungsliste stehen automatisch vor- und selbstdefinierte Snippets aus der Palette zur Verfügung. Drag & Drop in Richtung Editor wird damit überflüssig und der Editor um ein mächtiges Feature reicher (Abb. 3).
Bestehende Features und Asisstenten wurden für die Verwendung von XHTML angepasst. Der praktische Assistent zur Erzeugung von CRUD Applikationen aus Entity-Klassen wurde zusätzlich um die Möglichkeit der Lokalisierung der generierten Seiten und die Unterstützung anpassbarer Templates erweitert. Zusätzlich wird eine EJB Facade für die einfache Manipulation durch CRUD Operationen generiert.
Mit der gewohnten "Deploy on save" Funktion ist der Weg von einer Änderung zur gerenderten Webseite erstaunlich kurz und bequem. Im Allgemeinen ist eine Änderung in weniger als einer Sekunde verfügbar und HTTP Sessions bleiben dabei erhalten, so dass nicht einmal ein re-login erforderlich ist.




