Ist die Java Enterprise Edition noch zu retten?

Ist die Java Enterprise Edition noch zu retten?

Oracle ist mit JEE hin und hergerissen zwischen dem für die Java-Community wichtigen Standard und dem Bestreben, die Kunden an die eigenen PaaS-Angebote zu binden. Wird der Standard im Zuge dessen untergehen?

In meinem letzten Blogbeitrag habe ich mich mit den versteckten Botschaften der Java EE Community Survey beschäftigt und bereits angeschnitten, dass Oracle mit Blick auf die Enterprise-Java-Welt keine klare strategische Ausrichtung zu finden scheint. Ursprünglich für Ende 2016 angekündigt, wurde der Veröffentlichungstermin für Java EE 8 in der Zwischenzeit zum wiederholten Male verschoben. Was steckt dahinter?

Den Trend verschlafen

Am besten lässt sich der Frage mit einer kleinen Zeitreise auf den Grund gehen. Aus meiner Sicht ist eines ganz klar: Oracle hat den Trend zur Cloud und zu Microservices verschlafen. 2008 sagte Oracle-Gründer Larry Ellison auf der Oracle OpenWorld:

„I don’t understand what we would do differently in the light of cloud. When is this idiocy going to stop?“

Im ursprünglichen JEE-8-Entwurf von 2014 findet sich konsequenterweise auch nichts mit Bezug auf die Cloud. Ein bisschen Modellpflege, kleinere Updates an den bestehenden APIs – nichts Revolutionäres. Dann kamen wohl Zweifel auf, ob das nicht doch etwas tief gesprungen ist, und es wurde eine Umfrage gestartet: Die Community durfte abstimmen, welche Themen ihr noch am Herzen liegen.

Eine Frage der Interpretation

Befragt wurden die Entwickler, jeder durfte 100 Punkte auf 13 von Oracle vorgegebene Themen verteilen. Darunter ganz konkrete wie die JSON-B API (13,7 Prozent Zustimmung) und auch der etwas unspezifische Punkt Cloud (6,66 Prozent Zustimmung).

Für mich war das Ergebnis dieser Abstimmung, dass die Entwickler eine bessere Unterstützung für Sicherheitsthemen brauchen, die bisher in JEE viel zu umständlich realisiert sind. Da Oracle in der Umfrage Security in zwei Themen unterteilt hatte (Security Simplification mit 11,1 Prozent und Security Interceptors mit 8,2 Prozent Zustimmung) ist das in der Auswertung etwas untergegangen. Stattdessen wurde in der Folge der Umfrage das Model-View-Controller-Framework (MVC) hochgejazzt, das mit 7,8 Prozent Zustimmung nur auf Platz 5 gelandet war.

In or out?

Ausgerechnet MVC? 2014 hatte AngularJS fast den Höhepunkt seines Hypes erreicht: Alle redeten von Single Page Applications, Clients wurden in JavaScript entwickelt und nutzten Microservices als Backend. Und Oracle macht den Sack für JEE 8 noch einmal auf und legt ein neues serverseitiges Client Framework hinein! Die Arbeit daran ging flott voran, man nutzte geschickt bestehende Standards (JAX-RS, CDI, Facelets) und hatte schon bald eine funktionierende Referenzimplementierung. Bei anderen Paketen (z.B. Security) geht es dagegen eher schleppend voran, wieder andere (z.B. Management API) machen gar keinen Fortschritt.

Der Final Draft war für Q3/2016 geplant. Zur JavaOne im September 2016 musste Oracle dann allerdings eingestehen, dass der Zeitplan nicht zu halten ist: Der Veröffentlichungstermin wurde um ein Jahr verschoben und mit der Java EE Community Survey nochmals eine Befragung gestartet. Diesmal allerdings mit ganz anderen Fragen: Plötzlich hatte Oracle Wind von der Cloud und Microservices bekommen! In 13 von 21 Fällen wurden die Entwickler gefragt: „How important is X for the next generation of cloud and microservices applications?“

Als Resultat der Umfrage wurde das gerade hinzugefügte MVC-Framework wieder gestrichen und stattdessen einige Cloud-relevante Themen aufgenommen.

Warum ist ein Standard wichtig?

In der Java Enterprise Edition ging es immer um Interoperabilität: Man kann Geschäftsanwendungen mit vertretbarem Aufwand von einem Application Server zum anderen migrieren, da sie alle die gleichen APIs unterstützen. Für Java war diese Interoperabilität ein großer Gewinn und Sun hat sie nach Kräften gefördert, da das Unternehmen sein Geld nicht mit Application-Servern, sondern mit der Hardware darunter verdiente.

Nun geht der Trend weg von selbstgehosteten Application-Servern zu Platform-as-a-Service-Angeboten (PaaS), in denen die Geschäftsanwendungen laufen. Leider kocht jeder PaaS sein eigenes Süppchen, so dass beispielsweise ein Wechsel von AWS zur AppEngine ein enormer Aufwand sein kann. Ein Königreich für einen Standard, der Interoperabilität zwischen verschiedenen PaaS-Angeboten herstellt!

Rettung in Sicht?

Das Problem: Oracle ist als Gralshüter dieses Standards befangen. Die Firmenstrategie wurde voll auf die Cloud ausgerichtet, dort wuchs der Umsatz zuletzt um 66 Prozent. Ein Interoperabilitätsstandard, der es den Kunden jederzeit ermöglicht zur Konkurrenz abzuwandern, ist dem Oracle-Management nur schwer zu verkaufen. Allerdings kann es auch nicht in Oracles Interesse sein, wenn JEE vor die Hunde geht. Schließlich kann Oracles Java-PaaS-Angebot mit dem Hersteller-Bonus werben. Wenn Java für Geschäftsanwendungen an Relevanz verliert, schadet das Oracle.

Oracle ist also hin und hergerissen zwischen dem für die Java-Community wichtigen Standard und dem Bestreben, die Kunden an ihr PaaS-Angebot zu binden. Zwei Herzen schlagen in der Brust von Oracle, die sich allem Anschein nach nur schwer miteinander vereinen lassen. Dabei steht mit dem MicroProfile schon ein konkurrierender Nachfolger in den Startlöchern. Das MicroProfile wird von IBM, RedHat, TomTribe und anderen Größen der Szene unterstützt und hat kürzlich seine herstellerneutrale Heimat unter dem Dach der Eclipse Foundation gefunden.

 

Bildquelle: Shutterstock

Hinterlassen Sie eine Antwort

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.