Java-EE-Faktencheck mit Thorben Janssen
Java-EE-Faktencheck mit Thorben Janssen
Während die Java EE Guardians mit ihrer Petition an Oracle die Marke der 1000 Unterstützer überschritten hat, geht es weiter in unserer Java-EE-Interviewreihe. Dieses Mal sprechen wir mit Thorben Janssen, Java-EE-Architekt und Mitglied der JSR 365 Expert Group, über die aktuellen Möglichkeiten der Community, Java EE weiter voranzutreiben.
JAXenter: Mit Java EE 8 scheint es momentan nicht so recht weiterzugehen. Ist der ursprünglich vorgesehene Zeitplan noch einzuhalten?
Es würde mich wundern, wenn der ursprüngliche Zeitplan für Java EE 8 noch eingehalten werden könnte.
Thorben Janssen: Wenn ich mir die in den letzten Monaten erzielten Fortschritte ansehe, ergibt sich ein enttäuschendes Bild. In vielen von Oracle geführten Spezifikationen scheinen die Arbeiten gegen Ende des letzten Jahres unterbrochen worden zu sein und es würde mich wundern, wenn der ursprüngliche Zeitplan für Java EE 8 noch eingehalten werden könnte. Dies ist aus meiner Sicht allerdings dringend notwendig, um die sowieso schon langen Spezifikationszyklen nicht noch weiter zu verlängern und sich zeitnah mit aktuellen Themen wie z.B. Microservices und deren Anforderungen an bestehende Java-EE-Spezifikationen zu beschäftigen.
Es gibt allerdings auch Positives zu berichten. In einigen Spezifikation schreiten die Arbeiten gut voran. Ein Beispiel dafür ist die von Red Hat geführte CDI-2.0-Spezifikation.
Und es gab in den letzten Wochen sehr viel Aufmerksamkeit und Community-Aktivitäten rund um Java EE 8. Das gleicht den mangelnden Fortschritt zwar nicht aus, lässt aber für die Zukunft hoffen.
JAXenter: Was kann die Community tun?
Thorben Janssen: Es gibt viele Möglichkeiten, wie sich Unternehmen und Privatpersonen im Rahmen des JCP einbringen können, und einige werden auch schon seit mehreren Jahren erfolgreich genutzt. Die Java EE Guardians greifen diese in gemeinsamen Aktivitäten auf, um größere Fortschritte zu erzielen als es einzelne Personen könnten.
Wer sich an der Weiterentwicklung von Java EE beteiligen möchte, kann sich entweder den Java EE Guardians anschließen oder sich an Hackathons einbringen, die durch JUGs und auf Konferenzen organisierten werden. Dabei wird gemeinsamen an Spezifikationen oder deren Implementierungen gearbeitet. Dies sind auch Aktivitäten, bei denen sich viele Mitglieder der Java EE Guardians beteiligen.
Und auch wenn Oracle eine sehr wichtige Rolle einnimmt, ist es nicht das einzige Unternehmen, das sich im Java-EE-Bereich engagiert. Die CDI Spezifikation z.B. wird von Red Hat sehr erfolgreich geführt, Hazelcast engagiert sich stark für das Java Caching API und auch viele andere bekannte Unternehmen, wie z.B. IBM und Pivotal, wirken an verschiedenen Spezifikationen mit.
Java EE im Fokus
Wir beleuchten den aktuellen Zustand von Java EE in einer Interview-Serie mit Community-Mitgliedern. Bisher erschienen:
Adam Bien: “Aus meiner Sicht könnte sich Oracle komplett von Java EE zurückziehen”
Markus Karg: “Entweder entsteht ein Java EE Fork oder Oracle lenkt doch noch ein”
Sebastian Daschner: „Es existieren genug andere Player, die ein großes Interesse an EE haben“
Oliver Gierke: „Früher galt Spring als proprietär – nun steht die Java-Welt Kopf, weil Oracle Java EE das Interesse entzieht.“
Anatole Tresch: “Eine Entwicklung von Java EE in der ASF wäre mir persönlich schon sympatisch”
Thorben Janssen: „Es würde mich wundern, wenn der Zeitplan für Java EE 8 noch eingehalten werden könnte“
JAXenter: Was waren für dich die Beweggründe, dich den Java EE Guardians anzuschließen?
Wenn Java EE nicht mehr weiterentwickelt werden sollte, wäre das ein schwerer Schlag für das Java-Ökosystem.
Thorben Janssen: Java EE ist vor allem bei Großprojekten ein wichtiger Bestandteil des Java-Ökosystems. Es bietet durch die verschiedenen Implementierungen der Spezifikationen einen guten Mix aus austauschbaren, standardisierten Komponenten und proprietären Optimierungsmöglichkeiten. Somit ist man für alle Anforderungen gut aufgestellt und kann bei Bedarf sogar den Applikationsserver mit überschaubarem Aufwand gegen ein Konkurrenzprodukt tauschen.
Wenn Java EE in Zukunft nicht mehr weiterentwickelt werden sollte, würden wir diese Möglichkeiten verlieren, und das wäre ein schwerer Schlag für das Java-Ökosystem und viele IT-Unternehmen in Deutschland.
Daher habe ich mich neben meiner Mitgliedschaft in der CDI 2.0 Expert Group auch den Java EE Guardians angeschlossen und hoffe, die Entwicklung von Java EE weiter vorantreiben zu können.
JAXenter: Denkst du, es wäre von Vorteil, wenn Java EE gänzlich von der Community entwickelt würde? – Also ohne Oracle-Beteiligung, vielleicht sogar außerhalb des JCP?
Thorben Janssen: Das hängt von Oracle ab. Die Java EE Community ist sehr groß, und es gibt einige Unternehmen, die sich bereits erfolgreich einbringen. Daher denke ich, dass Java EE innerhalb des JCP auch durch die Community weiterentwickelt werden könnte.
Oracle verfügt allerdings über viel Know-How und war in der Vergangenheit bei vielen Spezifikationen federführend. Hier wäre es schade, wenn Oracle sich zurückzieht und nicht wie bisher sehr erfahrene Spec-Leads mit der Arbeit an den Spezifikationen betraut. Auch wenn die Community diese Aufgaben übernehmen könnte, wäre eine gemeinsame Lösung mit Oracle die bessere Option.
JAXenter: Wie sollte es bei Java EE aus deiner Sicht technologisch weitergehen?
Man könnte in Java EE 8 an komplexeren Themen wie der Mehrmandanten-Fähigkeit arbeiten.
Thorben Janssen: Ich beschäftige mich aktuell hauptsächlich mit Persistenzthemen im JPA- und Hibernate-Umfeld, und dort hat Java EE 7 mit JPA 2.1 schon einige interessante Features gebracht. Dadurch ist die Ausgangsbasis eigentlich sehr gut, und man könnte im Rahmen von Java EE 8 an komplexeren Themen, wie z.B. der Mehrmandantenfähigkeit, arbeiten.
Leider ist für den JPA-Standard aber lediglich ein Maintenance Release geplant, das nur sehr wenige Neuerungen bringen wird. Dabei könnte man sich z.B. bei Hibernate gute Anregungen für die Weiterentwicklung der Spezifikation holen. Die wahrscheinlich populärste JPA-Implementierung setzt mit dem aktuellen 5.2 Release vollständig auf Java 8 und bietet viele Features, die über die JPA-Spezifikation hinaus gehen, wie z.B. Lösungsansätze für die bereits genannte Mehrmandantenfähigkeit oder die Arbeit mit geographischen Daten.
Und dann ist da natürlich auch die immer noch fehlende Integration des Java Caching API in JPA und andere Java-EE-Standards.
Abseits von JPA gibt es aber auch viele interessante Themen. Eines davon ist sicherlich die für Java EE 8 geplante Unterstützung von HTTP2. Bei der aktuellen Entwicklungsgeschwindkeit bleibt allerdings abzuwarten, wann diese verwendet werden kann und ob sich aus den dabei gesammelten Erfahrungen neue Anforderungen für Java EE 9 ableiten lassen.
Weitere interessante Themen sind aus meiner Sicht Konfiguration und Monitoring, die vor allem durch die immer größere Beliebtheit von Cloud-Anwendungen immer mehr an Bedeutung gewinnen.
Der erste Versuch, einen JSR zum Thema Konfiguration zu erzeugen, ist leider gescheitert und wird jetzt, aus meiner Sicht sehr vielsprechend, im Rahmen von Apache Tamaya entwickelt. Aber vielleicht ändert sich das ja in Zukunft noch.
JAXenter: Vielen Dank für dieses Interview!