Nachdem die beiden marketinggetriebenen Blockbuster „Cloud“ und „PaaS“ keinen Platz mehr in der aktuellen Java-EE-Spezifikation gefunden haben – sie wurden erst einmal in die Folgeversion 8 verbannt –, rückt plötzlich das Thema HTML5 in den Fokus des Java-Enterprise-Standards. Fragt sich nur, wie sich dies in den verschiedenen APIs widerspiegelt.
„The main focus of this release is on enhanced simplification, productivity, and support for HTML5“, heißt es in der neuen Version 7 der Java-Enterprise-Spezifikation. Ein HTML5-API sucht man allerdings vergebens. Was also genau ist mit HTML5-Support gemeint und wo findet sich dieser in den ca. dreißig Einzelspezifikationen wieder? Ein Blick hinter die Kulissen verrät mehr.
Um die oben gestellte Frage beantworten zu können, ist zunächst einmal ein kurzer Blick zurück in die reale Welt der Java-EE-Programmierung notwendig. Zwar wurde mit den beiden Versionen 5 und 6 eine deutliche Vereinfachung des Programmiermodells und damit einhergehend auch eine verbesserte Produktivität erreicht. Parallel dazu hat sich aber insbesondere im Webumfeld die Realität deutlich schneller entwickelt als die Spezifikation. HTML5 und Co. sind, nicht zuletzt auch dank „Mobile Web“ (es soll an dieser Stelle nicht die eher philosophische Frage untersucht werden, ob es so etwas überhaupt gibt) nicht mehr wegzudenken. RESTful Webanwendungen lassen JSON zum De-facto-Standard für die Webkommunikation werden, und mit WebSocket hält ein mehr oder minder neues Kommunikationsparadigma Einzug in die Wunderwelt des Webs. In allen eben genannten Feldern war die Java-EE-Spezifikation bisher – also vor Java EE 7 – eher schwach bis gar nicht vertreten, sodass in der Regel die Nutzung von proprietären Libraries notwendig wurde. Dies wird sich nun grundlegend ändern – so die Hoffnung. Dass dies auch die Community so sieht, zeigte eine auf java.net durchgeführte Umfrage nach den wichtigsten neuen Features in Java EE. Wenig überraschend steht hier HTML5 – inklusive JSON-API und WebSocket – mit 90 Prozent unangefochten auf Platz eins.
Das auf einem Subset von JavaScript basierende JSON-Format (auch bekannt als JavaScript Object Notation) wird nicht zuletzt aufgrund seiner – im Vergleich zu XML – sehr kompakten Schreibweise auch als Datenaustauschformat immer beliebter. Da wundert es kaum, dass sich in vielen Enterprise-Java-Anwendungen Third Party Libraries wie org.json, JSON Tools, Jettison oder Jackson finden, die das Parsen und Schreiben von JSON-Daten ermöglichen.
Mit dem neuen Java-API for JSON Processing (JSR-353) soll dem bisherigen Wildwuchs ein Ende bereitet werden. Mithilfe eines Fluent API und eines JsonObjectBuilders lassen sich ...