Suche
Unsere Interview-Serie zu Jakarta EE: Markus Karg, Java-EE-Experte und Mitglied der Expert Group für JAX-RS 2.1 (JSR370)

Jakarta EE im Klartext: „Jakarta EE ebnet den Weg zu echten Java Microservices“

Dominik Mohilo, Gabriela Motroc

© Shutterstock / LuckyN (modifiziert)

Na, auch ein wenig den Anschluss in Sachen Jakarta EE verloren? Das macht nichts. In unserer Interview-Reihe sprechen Experten der Enterprise-Java-Szene Klartext darüber, was sich im Laufe der letzten Wochen und Monate verändert hat und in welche Richtung sich Jakarta EE entwickelt. Zentrales Thema ist dabei unter anderem, wie Jakarta EE zum neuen Zuhause für Cloud-native Java werden soll. Unser heutiger Gast ist Markus Karg, Java-EE-Experte und Mitglied der Expert Group für JAX-RS 2.1 (JSR370). Ab geht die Reise ins Jakarta-EE-Universum!

Es ist wahrlich kein leichtes Unterfangen, dieser Umzug der Java-EE-Technologie von Oracle zur Eclipse Foundation. Die Marke „Jakarta EE“ entwickelt sich prächtig und schnell. Zeit, für einen Moment innezuhalten und all die Pläne und Veränderungen Revue passieren zu lassen, um die Technologie fit für die neuen Herausforderungen in Sachen Cloud, Containern, Microservices, Serverless und reaktiver Programmierung zu machen.

Die Vision der technischen Zukunft von Jakarta EE beinhaltet Folgendes:

  • Eine verbesserte Unterstützung von Microservices-Architekturen.
  • Der Weg hin zu Cloud-native Java, was unter anderem die bessere Integration mit Technologien wie Docker und Kubernetes bedeutet.
  • Das Beschleunigen der Innovationsgeschwindigkeit.
  • Den Aufbau einer aktiven und engagierten Entwickler-Community.
  • Das Bereitstellen von produktionsreifen Referenzimplementierungen.

Immer auf dem Laufenden zu bleiben, was in Sachen Jakarta EE gerade in und was gerade out ist, bleibt ein kontinuierlicher Prozess. Mit Sicherheit können allerdings die bereits akzeptierten und in der Eclipse Foundation offiziell verorteten Projekte identifiziert werden. Unsere Liste von bereits angenommenen Projektvorschlägen hilft dabei, sich einen Überblick über den Status Quo zu verschaffen, aber das ist natürlich nur die Spitze des Eisbergs.

Welchen Herausforderungen sieht sich Jakarta EE derzeit gegenüber? Welche werden wohl in naher Zukunft aufkommen? Wohin geht die Reise überhaupt und wie wird die Zukunft von Enterprise Java aussehen? Mit unserer Interview-Serie wollen wir euch helfen, die aktuellen Entwicklungen im Blick zu behalten. Unsere Experten beleuchten die Hintergründe und klären darüber auf, wie es um die Zukunft der Technologie bestellt ist und wie man plant, Jakarta EE als neues Zuhause für Cloud-native Java zu etablieren.

Unsere Interview-Reihe: Jakarta EE im Klartext

In unserer Interview-Reihe sprechen Experten der Enterprise-Java-Szene Klartext darüber, was sich im Laufe der letzten Wochen und Monate verändert hat und in welche Richtung sich Jakarta EE entwickelt. Zentrales Thema ist dabei unter anderem, wie Jakarta EE zum neuen Zuhause für Cloud-native Java werden soll.

Ab geht die Reise ins Jakarta-EE-Universum mit unseren Experten!

Unser heutiger Experte ist Markus Karg, Java-EE-Experte und Mitglied der Expert Group für JAX-RS 2.1 (JSR370). Ab geht die Reise ins Jakarta-EE-Universum!

JAXenter: Hallo, Markus! Glaubst du, es wäre eine gute Idee, Eclipse MicroProfile mit Jakarta EE zu verschmelzen?

Markus Karg: Ich würde die Projekte nicht verschmelzen, sondern eher einige der Spezifikationen der MicroProfile Working Group als Grundlage für die von der Jakarta EE Working Group entwickelten Lösungen auswählen. MicroProfile könnte sozusagen ein Inkubator für Vorschläge der Jakkarta EE Working Group sein.

JAXenter: Der Pfad, den man mit Jakarta EE beschreiten möchte, wurde bereits klar definiert und nennt sich Cloud-native Java. Wie erreicht man dieses Ziel?

Bei Jakarta EE geht es nicht ausschließlich um Cloud-native.

Markus Karg: Bei Jakarta EE geht es nicht ausschließlich um Cloud-native, aber dieses Feld ist sicherlich der wichtigste Antrieb für neue Spezifikationen. Edge Computing und das industrielle Internet of Things werden die zukünftigen APIs allerings ebenfalls beeinflussen, da diese mit Cloud-native Hand in Hand gehen. Das Ganze decken wir ab, indem wir uns ansehen, was die Menschen aktuell und in Zukunft von den neuen Spezifikationen erwarten, welche Anwendungsfälle sie haben und was bestehende Produkte bereits anbieten oder in Kürze enthalten werden. Dann sprechen wir über die gewöhnlichen APIs, die auf diesen Produkten aufsetzen, und standardisieren das Ergebnis. Wir werden also von ganz praktischen Ansichten getrieben.

JAXenter: Wie kann Jakarta EE die Cloud-bezogenen Bedürfnisse der Nutzer befriedigen?

Markus Karg: Im Moment werden wir stark von Softwareanbietern beeinflusst, aber die Nutzer holen auf. Der iJUG e.V. (Interessenverbund der Java User Groups e.V.) wird in Kürze Solution Member der Eclipse Foundation, so wie es die LJC (London Java Community) bereits ist. Also werden bald die beiden größten europäischen Java User Groups bzw. deren Verbände ihre Stimmen im Interesse von Tausenden Java-Entwicklern abgeben.

Das verschafft uns einen guten Ausgangspunkt. Wenn wir aufmerksam zuhören, wird das Schiff automatisch in die richtige Richtung segeln.

JAXenter: Konzentrieren wir uns auf die Ergebnisse des Jakarta EE Surveys. Über 60 Prozent der Teilnehmer würden eine bessere Unterstützung von Microservices begrüßen. Wie würdest du dem nachkommen?

Markus Karg: Es gibt zwei sich ergänzende Wege, die wir gehen: Microservices und CDI 2.0-basiertes JAX-RS. Der erste bietet eine Reihe zusätzlicher Cloud-integrativer APIs, mit denen sich JAX-RS-Anwendungen wie gute Cloud-Bürger verhalten. Beispiele sind externalisierte Konfiguration, Health Checks und Metriken für das Monitoring. Letzteres wird uns von langsamen und aufgeblähten Old-School-Anwendungsservern befreien und den Weg für schlanke Java-SE-basierte Dienste ebnen.

Das ermöglicht nicht nur eine viel einfacheres und agileres Entwickeln und Debuggen von Services: Praktisch wird es zudem keine Verzögerung des Bootstraps mehr geben, was gerade in einem elastischen Ökosystem ziemlich gut ist. Container-Instanzen werden in der Lage sein, Dienste innerhalb einer Sekunde zu booten und in kürzester Zeit zu schließen. Beide Wege ebnen mit ihren sehr wichtigen Erweiterungen den Weg von Java EE 8 zu echten Java Microservices.

JAXenter: Die native Integration von Kubernetes ist ein weiterer wichtiger Faktor, wie die Umfrage gezeigt hat. Sollte dies für Jakarta EE eine Priorität darstellen?

Im Fokus für Jakarta EE 9 liegt die Integration von Cloud Betriebssystemen.

Markus Karg: Die Jakarta EE Working Group stellt Industriestandards zur Verfügung, daher versuchen wir, keine Produkte direkt zu benennen oder zu bevorzugen. Stattdessen reden wir von Anlageklassen. Sollte mit der Frage allerdings die Integration von „Cloud Betriebssystemen“ gemeint sein (um politisch korrekt zu bleiben), dann können sich die Nutzer auf Jakarta EE 9 freuen, denn für diese Version ist genießt das Thema bereits jetzt höchste Priorität.
 
JAXenter: Würdest du eine höhere Release-Kadenz (wie es nun bei Java der Fall ist) oder lieber größere und langsamere Releases bevorzugen?

Markus Karg: Ich denke, das Beste wäre ein irgendwie gearteter Mittelweg. Wir haben Jahre verloren und müssen schnell aufholen, um im Vergleich zu Nicht-Java-Plattformen nicht noch mehr Boden zu verlieren. Obwohl ich das Motto „Release early, release often“ liebe, gibt es doch auch ein „zu früh, zu oft“. Wenn man sich mit Industriestandards befasst, lernt man, dass Qualität eine höhere Priorität hat als Features, da es schwierig ist, schlecht designte APIs zu zurückzurufen.

Nutzer mögen neue Features, aber sie mögen keine Bugs und den Verlust der Rückwärtskompatibilität. Einmal im Jahr wäre eine angemessene Release-Kadenz. Für jedes Release gibt es viel Arbeit „unter der Haube“ zu erledigen, daher ist ein Jahr wirklich sehr wenig Zeit für die Leute, die an den Spezifikationen und Implementierungen arbeiten.

JAXenter: Wie planst du dich in den Entwicklungsprozess von Jakarta EE einzubringen? Gibt es irgendwelche Spezifikationen oder TCKs, die dich besonders interessieren?

Markus Karg: Als aktiver Committer des JAX-RS API bin ich bereits Lead für das Java SE Bootstrap API in JAX-RS 2.2 (also das Teil, das uns eine Bootzeit von lediglich einer Sekunde bringt) und Co-Lead (zusammen mit Christian Kaltepoth) für die Umstellung von JAX-RS 3.0 auf CDI 2.0. Neben des APIs bzw. der Spezifikation biete ich die Implementierung für Ersteres (Bootstrap) in Jersey an. Obwohl ich wirklich gerne bei mehr Spezifikationen helfen würde, kann ich einfach nicht mehr Zeit dafür aufbringen. Deshalb helfe ich der Eclipse Foundation bei der Rekrutierung von Freiwilligen indem ich mich als Evangelist, Tutor und Lobbyist für Jakarta EE einsetze.

JAXenter: Wie sollte die Community mit den Veränderungen umgehen, die in letzter Zeit stattgefunden haben?

Ich liebe das Motto ‚Release early, release often‘, aber es gibt auch ‚zu früh, zu oft‘.

Markus Karg: In wenigen Monaten wird die Eclipse Foundation Jakarta EE 8 veröffentlichen. Obwohl es kaum neue Funktionalität im Vergleich zu Java EE 8 enthalten wird, sollten die Leute so schnell wie möglich auf die neue Version gehen, um Feedback und Input für zukünftige Releases zu geben.

Gleich danach sollten sich alle Anwender darauf einstellen, von Produkten (wie Spring) auf Standards (insbesondere Jakarta EE 9) umzusteigen, da diese die gleichen Funktionen anbieten, aber mehr Freiheiten lassen. Außerdem muss die Community verstehen, dass die Eclipse Foundation kein Anbieter im klassischen Sinn ist, sondern nur ein Ort, an dem sich Entwickler treffen. Natürlich muss irgendjemand die Entwicklung übernehmen und hier kann sich jeder einbringen: Wir brauchen erfahrene Entwickler, die sich dem Open-Source-Gedanken verschrieben haben. Je mehr sich beteiligen, desto schneller ist das Tempo und desto breiter ist das Feature-Spektrum pro Release. Der Vorteil für den Einzelnen ist der Einfluss auf Standards und folglich auf Produkte. Sich an Jakarta EE zu beteiligen, ist also auch ein strategischer Vorteil, da so die eigenen Produkte schneller auf den Markt kommen.

JAXenter: Vielen Dank für das Interview!

Markus Karg taught himself software development in 1985. Since 2000 he speaks Java every day and is committed to open standards. He is a state-certified computer scientist and is responsible for research and development at an international ISV. In addition, he acts as a lobbyist for more community responsibility and a sustainable platform strategy. Markus Karg, who was born in Pforzheim, has been supporting the company since version 0.8 with feature proposals, collaboration on the reference implementation „Jersey“ and most recently membership in the Expert Group for JAX-RS 2.0. In addition to the JAX-RS WebDAV extension, some features in the JAX-RS standard are directly attributable to his personal commitment. Markus is known as an advocate of sustainable and high-quality solutions and a vehement opponent of short-term profit-seeking.
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Gabriela Motroc
Gabriela Motroc
Gabriela Motroc ist Online-Redakteurin für JAXenter.com. Vor S&S Media studierte Sie International Communication Management an der The Hague University of Applied Sciences.
Kommentare

Hinterlasse einen Kommentar

1 Kommentar auf "Jakarta EE im Klartext: „Jakarta EE ebnet den Weg zu echten Java Microservices“"

avatar
400
  Subscribe  
Benachrichtige mich zu:
Bughunter
Gast

jeden Tag ein neuer Lacher hier: JAX-RS, who was born in Pforzheim …