© verca/Shutterstock.com
Java EE, Jakarta EE und MicroProfile - welche Kombination ist für Unternehmen geeignet?

Alle drei zusammen?


Es scheint, dass mehr und mehr Enterprise-Technologien entstehen, die auf Java EE basieren. Es gibt mittlerweile eine Vielzahl von Standards und Quasistandards, aus denen wir wählen können: Java EE, das jetzt Jakarta EE ist, MicroProfile und Kombinationen daraus. Wenn wir uns die verfügbaren Implementierungen und Container anschauen, wächst die Anzahl der Möglichkeiten noch weiter. Auf welche Plattform, Standards und Laufzeitumgebungen sollen wir unsere Applikationen im Jahr 2019 basieren?

Fangen wir mit Java EE an. Es gibt einige Java-EE-Standards, die weite Verbreitung finden, die Entwickler kennen und aus eigener Erfahrung gerne benutzen. Dazu zählen zum Beispiel CDI, JAX-RS, JSON-B oder JPA. Mit diesen und weiteren Technologien können wir mit hoher Produktivität Enterprise-Projekte entwickeln.

Java EE heute

Warum also reicht Java EE nicht aus? In der Welt von Microservices müssen wir bestimmte nichtfunktionale Anforderungen abdecken, die wichtig sind, wenn wir unsere Applikationen auf Produktion laufen lassen wollen. Zu diesen Anforderungen zählen unter anderem Resilienz, Monitoring oder Distributed Tracing. Ein weiterer oft bemängelter Punkt ist, dass Java EE im Standard keine einfach injizierbare Konfiguration mitbringt.

Nun könnte man argumentieren, dass diese Aspekte nicht neu sind, sondern in den letzten Jahrzehnten immer nötig gewesen wären. Das ist auch vollkommen richtig, nur werden in der Welt von Microservices, in der Softwaresysteme mehr und mehr verteilt werden, eben diese Anforderungen auch immer wichtiger. Das ist ein Grund, warum sich die Industrie auch immer mehr auf diese Aspekte fokussiert. Besonders Cloud-native-Applikationen erfordern Aspekte wie Resilienz und Observability.

Jakarta EE

Wenn reines Java EE nicht ganz ausreicht, was hat es eigentlich mit Jakarta EE [1] auf sich? Jakarta EE ist der Nachfolger von Java EE unter der Eclipse Foundation. Derzeit wird an dem Prozess gearbeitet, unter dem zukünftig die Vendor-unabhängigen Standards entwickelt und verabschiedet werden. Dabei befinden wir uns noch in der Aufbauphase und es gibt noch keine exklusive, reine Jakarta-EE-Version, die Entwickler verwenden könnten. Deshalb spreche ich im weiteren Verlauf dieses Artikels von Java EE, wenn von den Standards die Rede ist, die heute Teil von Java EE 8 sind.

Eclipse MicroProfile

Eine weitere Initiative innerhalb Enterprise Java ist MicroProfile [2], [3]. MicroProfile wurde aus dem Zusammenschluss mehrerer Vendors gestartet, um einerseits in einer Zeit, in der von Oracles Seite nicht viel Fortschritt zu sehen war, Vendor-unabhängige Enterprise-Java-Technologien weiterzuentwickeln. Auf der anderen Seite wollte man einen Weg schaffen, um Microservice-Deployments zu ermöglichen, bei denen die Implementierungen ausschließlich die von den Projekten benötigten Technologien enthalten.

MicroProfile baut auf Java-EE-Standards und deren Designprinzipien auf. So bestand MicroProfile 1.0 rein aus CDI, JAX-RS und JSON-P. Die einzelnen MicroProfile-Projekte erweitern die Standards um Funktionalitäten, die heute noch nicht Teil von EE sind, so zum Beispiel Konfiguration, Resilienz, Monitoring oder Distributed Tracing.

Die Geschwindigkeit, mit der neue MicroProfile-Projekte entstehen und weiterentwickelt werden, ist ziemlich beeindruckend. Allein 2018 wurden die Versionen MicroProfile 1.3, 1.4, 2.0 und 2.1 und die darin enthaltenen Technologien verabschiedet.

Wenn MicroProfile mittlerweile all diese Projekte mitbringt, warum also nicht ausschließlich auf MicroProfile als Plattform setzen? Es gibt mittlerweile eine Handvoll MicroProfile Runtimes, mit denen wir reine MicroProfile-Applikationen deployen können.

MicroProfile allein ist meist nicht wirklich ausreichend, um komplexere Anwendungen zu entwickeln. Zum Beispiel beinhaltet es out of the box ke...

Neugierig geworden? Wir haben diese Angebote für dich:

Angebote für Gewinner-Teams

Wir bieten Lizenz-Lösungen für Teams jeder Größe: Finden Sie heraus, welche Lösung am besten zu Ihnen passt.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang