Suche
Im Schwalbenflug durch die Wolken

Project Helidon: Oracles neues Open Source Framework für Java Microservices

Dominik Mohilo

Microservices-Architekturen sind sehr populär, auch wenn sie, wie mancher Kritiker sagt, nicht unbedingt das Allheilmittel der Softwarearchitektur sind. Um das Erstellen von Java Microservices in Cloud-Umgebungen zu vereinfachen, hat Oracle ein neues, quelloffenes Java Framework veröffentlicht: Helidon.

Schwalben haben den perfekten Körperbau, um durch Wolken hindurchzufliegen und möglichst effizient durch „Cloud-Umgebungen“ zu gleiten. Eigenschaften, die in Sachen Java Microservices auch gewünscht werden. Kein Wunder also, dass man bei Oracle das neue leichtgewichtige Framework für das Erstellen von Java Microservices auf den Namen Helidon getauft hat: Das ist Griechisch und bedeutet genau dies – Schwalbe.

Projekt Helidon: Basics für Microservices

Die immer breitere Nutzung von Cloud-Infrastrukturen geht seit einiger Zeit mit der steigenden Beliebtheit von Microservices-Architekturen einher. Viele Entwickler und zunehmend auch Unternehmen sind fest davon überzeugt, dass diese beiden Hand in Hand gehen. Mit dem neuen Framework Helidon soll nun eine Lücke geschlossen werden, die bislang aus Sicht von Oracle, ein wenig unangenehm ins Gewicht fällt.

Zwar könne man mit Java EE Microservices bauen, so Dmitry Kornilov, Java-EE-Experte und Projektleiter bei von Helidon. Aber ein Framework zu haben, dass genau für diesen Anwendungsfall von Grund auf designt wurde, sei eben besser. Helidon ist das Ergebnis der Bemühungen, ein solch leichtgewichtiges und der Microservice-Entwicklung gewidmetes Framework zur Verfügung zu stellen.

Helidon besteht aus Librarys, die separat voneinander genutzt werden können, ohne Anwendungsserver und auch in Java-SE-Anwendungen. Im Paket genutzt bieten sie Entwicklern aber alles, was das Microservices-Herz höherschlagen lässt: Konfiguration, Sicherheit und einen Web-Server. Mehr braucht es nicht für das Erstellen von Microservices für die Cloud.

Routing routing = Routing.builder()
       .get("/hello", (req, res) -> res.send("Hello World"))
       .build();

WebServer.create(routing)
       .start();

Eine Hello-World-Implementierung mit Helidon SE / Quelle: Dmitry Kornilov

Interoperabilität

Das neue Microservices Framework setzt ganz auf Interoperabilität, insbesondere zu dem sehr beliebten Spezifikationsset MicroProfile. MicroProfile 1.1 ist in Helidon implementiert und auch zukünftige Versionen sollen ebenfalls eingebettet werden. Das Gleiche gilt übrigens auch für Jakarta-EE-Standards, sobald sie endgültig definiert sind.

Da Helidon ein Oracle-Produkt ist, sollte es in der Tat niemanden wundern, dass besonders die Oracle Cloud in Sachen Integration bedacht wurde: Man kann also zukünftig dahingehend mit entsprechenden Helferlein rechnen können, in der initialen Version von Helidon gibt es diese noch nicht. Allerdings bleiben diese Integrationen optional, sodass kein Vendor-Lock-in droht.

Helidon: Architektur und Definition

Laut Kornilov gibt es drei Arten von Java Frameworks, mit denen sich Microservices schreiben lassen:

  1. Microframeworks wie Spark, Javalin und Micronaut mit einem relativ geringen Funktionsumfang.
  2. MicroProfile wie Thorntail, OpenLiberty und Payara, die etwas schwergewichtiger als Microframeworks, aber gerade für Java-EE-Entwickler geeignet sind und zum Teil auf Java-EE-Anwendungsservern basieren.
  3. Full Stack wie Spring Boot, die eine deutlich umfangreichere Funktionalität bereitstellen.

Helidon wird hingegen in zwei Versionen erscheinen. Helidon SE stellt dabei ein einfaches, funktionales, leichtgewichtiges Microframework dar, das nach den Prinzipien der reaktiven Programmierung entwickelt wurde. Diese Version nutzt das JDK als Laufzeit, eine andere wird nicht benötigt. Helidon MP hingegen richtet sich direkt an Java-EE- bzw. Jakarta-EE-Entwickler und ist eine Implementierung von Eclipse MicroProfile.

Architektonisch beinhaltet Helidon SE die Komponenten RxServer (Netty), Config und Security. Helidon MP setzt auf Helidon SE auf und enthält für die Implementierung von Eclipse MicroProfile zusätzlich noch die Komponenten JAX-RS (Jersey), JSON-P und CDI.

Ausblick

Neben der Finalisierung des Projektes und einiger Komponenten kündigt der Projektleiter an, dass die Unterstützung für GraalVM geplant sei. Abgesehen davon plant man fest, Materialien zur Verfügung zu stellen, die den Umgang mit Helidon vermitteln sollen: Videos, Beispiele, Artikel und ähnliches sind derzeit im Entstehen begriffen.

Weitere Informationen zu Projekt Helidon gibt es auf dem Oracle Developers Blog, der Homepage des Projektes und auf GitHub.

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.
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: