Java: MicroProfile 1.2 hat vier neue APIs an Bord

Die APIs Health Check und Fault Tolerance dienen der besseren Systemstabilität. Die Metrics-API kann Systemparameter überwachen, und JWT Propagation organisiert den Umgang mit JSON Web Token.

In Pocket speichern vorlesen Druckansicht
Java: MicroProfile 1.2 hat vier neue APIs an Bord
Lesezeit: 4 Min.
Von
  • Lars Röwekamp
Inhaltsverzeichnis

Das Open Source-Projekt-Eclipse MicroProfile, ein offenes Forum zur Zusammenarbeit an Enterprise-Java-Microservices, hat im Rahmen der JavaOne die Veröffentlichung von MicroProfile 1.2 bekanntgegeben. Neben den bereits aus Release 1.1 bekannten APIs CDI 1.1, JAX-RS 2.0, JAX-P 1.0 und Config API 1.0 wartet die neue Version mit vier neuen APIs auf.

Die Macher haben in Release 1.2 vier neue APIs hinzugefügt.

(Bild: Eclipse-MicroProfile-Blog)

Die zugrundeliegende Infrastruktur kann mit der Health Check API 1.0 die Verfügbarkeit und den Status von Services beziehungsweise Anwendungen testen. Entsprechend des Resultats kann sie entscheiden, ob der Service einwandfrei läuft, neu gestartet werden muss oder eine andere Aktion zur Erhaltung der Systemstabilität erfolgen sollte. Zu diesem Zweck muss der Service lediglich ein entsprechendes Interface implementieren. Eine zusätzliche Annotation @Health stellt automatisch eine REST API für den Gesundheits-Check zur Verfügung.

Auch die neue FaultTolerance API 1.0 zielt auf eine Verbesserung der Systemstabilität ab. Mit ihr lassen sich klassische Resilience-Patterns wie Bulkhead, Circuit Breaker, Fallback, Retry Policy oder Timeout sowohl auf Basis von Annotationen als auch ausprogrammiert realisieren und so die Verfügbarkeit der Services erhöhen.

Im Gegensatz zu den beiden bisher genannten APIs, deren Ziel es ist, ein einfaches "Ja" oder "Nein" auf die Frage zu liefern, ob der angefragte Service noch wie geplant läuft, geht die Metrics API 1.0 einen Schritt weiter. Durch sie sind Softwareagenten zur Laufzeit in der Lage, essentielle Systemparameter zu überwachen. Daraus können sie Prognosen über das künftige Verhalten von Services ableiten und entsprechend reagieren. So lässt sich beispielsweise auf eine erhöhte Auslastung oder eine fortwährende Verlängerung der Antwortzeiten mit dem Start neuer Service-Instanzen reagieren.

JWT Propagation 1.0 spezifiziert schließlich den Aufbau und die Nutzung von MicroProfile-JWT (JSON Web Token) sowie deren Mapping zu Java-EE- und nicht-Java-EE-Containern. Die API bietet somit die Möglichkeit zur Autorisierung und Authentifizierung innerhalb von Microservices. Beim Aufruf mit einem entsprechenden Authorization-Header inklusive Token ist aus dem Microservice heraus der Zugriff mittels API auf verschiedenste Standard-Claims (nach JSON-Web-Token-Spezifikation, RFC-7519) wie die Token-Gültigkeit (exp), den Token-Aussteller (iss) oder die Token-Autoritär (subject) möglich. Innerhalb eines JAX-RS-Containers gibt es zusätzlich zahlreiche Möglichkeiten, Annotationen-basiert auf die gesamte Instanz des JSON Web Token oder einzelne Claims zuzugreifen. Durch automatisches Mapping auf den Java EE SecurityContext lassen sich bekannte Java-EE-Konstrukte wie RolesAllowed oder isUserInRole im Zusammenspiel mit dem JWT nutzen.

Mehr Infos

Java 2017

Mehr Informationen zu MicroProfile sowie zu Java 9, Java EE 8 und aktuellen Entwicklungen im Java-Umfeld gibt es im iX-Developer-Sonderheft zum Thema, das unter anderem im heise Shop erhältlich ist.

Das Ziel der MicroProfile.io-Initiative ist es, die aktuell noch recht große Lücke zwischen dem Enterprise-Java-Standard Java EE und den zahlreichen proprietären Java-Microservices-Framework-Ansätzen zu schließen. Zu diesem Zweck haben sich etliche Hersteller von Java-Applikationsservern, darunter Tomitribe, IBM, Red Hat und Payara, innerhalb des Eclipse-MicroProfile-Projekts zusammengeschlossen und definieren dort gemeinsam einen aus ihrer Sicht sinnvollen API-Stack für Java Microservices .

Die weitere Roadmap für die Versionen 1.3 und 2.0 des Eclipse MicroProfile Projektes steht ebenfalls schon fest. Wenn das Team die aktuellen Release-Zyklen beibehält, dürften neue Versionen etwa im Dreimonatstakt erscheinen. Wer die neuen Features ausprobieren möchte, kann unter anderem zu der quelloffenen Open-Liberty-Implementierung (openliberty.io) von IBM greifen.

Die Vorschau zeigt die Pläne für MicroProfile 1.3 und 2.0.

(Bild: Eclipse-MicroProfile-Blog)

Weitere Details zu MicroProfile 1.2 und den Plänen für die Zukunft finden sich im MicroProfile-Blog bei Eclipse. (rme)