Michael Hofmann ARS Computer und Consulting

Aus Sicht des Entwicklers sollte es egal sein, auf welcher Stage sich sein Microservice gerade befindet und somit welche Umgebung dort verwendet wird.

Die Implementierung von Microservices bringt einige neue Herausforderungen mit sich. Als Architekt muss man sich deswegen verstärkt mit der Anwendungskonfiguration, Resilienz und Fehlertoleranz (aufgrund des Kommunikationsverhaltens der Microservices untereinander) sowie Security und Laufzeitüberwachung beschäftigen, um nur ein paar Anforderungen zu nennen. Um die Implementierung auch mit Java-EE-Mitteln zu ermöglichen, wurde die MicroProfile-Community gegründet.

MicroProfile hat sich zum Ziel gesetzt, Enterprise Java und somit Java EE fit für die Implementierung von Microservices zu machen. Dazu hat sich eine mächtige Community zusammengeschlossen, die u. a. aus IBM, Red Hat, Tomitribe und Payara besteht. Mittlerweile hat MicroProfile als Projekt seinen Weg in die Eclipse Foundation gefunden und untersteht damit der Apache License 2.0. Man kann hier von legalem Doping sprechen, da bereits im Releaseplan der Community vorgesehen ist, die eventuell notwendigen Anpassungen an MicroProfile vorzunehmen, um mit der kommenden Java-EE-8-Spezifikation kompatibel zu bleiben. Eine gewünschte Mitwirkung kann einfach über den Button JOIN THE DISCUSSION auf der Startseite erfolgen.

Releaseplan

Mit MicroProfile 1.0 wurde am 17.09.2016 ein erstes offizielles Release veröffentlicht. Um die Latte am Anfang nicht zu hoch zu legen, hatte man sich vorerst nur auf folgende APIs geeinigt: JAX-RS 2.0, CDI 1.2 und JSON-P 1.0. Das sind im Grunde APIs, die jeder der beteiligten Java-Applikationsserver (Red Hat WildFly Swarm, IBM Liberty Profile, Tomitribe, Payara) von Haus aus schon mitbringen musste, um Java-EE-kompatibel zu sein. Entsprechend der Meinung der Community war das ein Minimalset an APIs für die Entwicklung von Microservices. Dass dies noch lange nicht reichte, war allen Beteiligten klar, und so begann man, neue APIs zu entwerfen. Am 21.07.2017, nach längerer Durststrecke, wurde endlich MicroProfile 1.1 veröffentlicht. Inhaltlich wurde MicroProfile 1.0 um die neue API-Config 1.0 erweitert. Auch dieser Schritt war noch nicht der große Wurf, aber inzwischen hat die Community fleißig an neuen APIs gearbeitet. Jetzt, gegen Ende des Jahres, kommt richtig Schwung in das Projekt. Das aktuelle Release, pünktlich zum Start der JavaOne 2017, ist MicroProfile 1.2, das für den 30.09.2017 freigegeben worden ist. Der Inhalt basiert auf MicroProfile 1.1 und folgenden neuen Spezifikationen: Config 1.1 (kleinere Updates gegenüber Config 1.0), Fault Tolerance 1.0, JWT Propagation 1.0, Health Check 1.0 und Health Metrics 1.0. Mit MicroProfile 1.3 (mit Kompatibilität zu Java EE 8: MicroProfile 2.0) soll in diesem Jahr eine Erweiterung des Funktionsumfangs um OpenTracing 1.0 und OpenAPI 1.0 kommen. Außerdem sind noch kleinere Updates vorgesehen, die aus dem Feedback von MicroProfile 1.2 resultieren.

Mit MicroProfile 2.0, das zeitgleich zu MicroProfile 1.3 erscheinen soll, werden die notwendigen Anpassungen bezüglich der neuen Vorgaben aus Java EE 8 umgesetzt. So soll sichergestellt werden, dass der bisherige Funktionsumfang (Inhalt von MicroProfile 1.3) mit Java EE 8 lauffähig ist. Die bisherigen MicroProfile-APIs sind alle mit Java EE 7 verwendbar, daraus ergibt sich natürlich, dass alles an APIs verwendet werden kann, das in Java EE 7 und weiteren Versionen enthalten ist (z. B. JPA, EJB, JMS …). Wer als Architekt oder Entwickler noch weitere Anregungen zur Implementierung der Microservices mit Java EE sucht, sei an dieser Stelle auf IBM Redbooks verwiesen: „Microservices Best Practices for Java“. Weitere MicroProfile-Releases sind derzeit offiziell noch nicht in Planung.

Den vollständigen Artikel lesen Sie in der Ausgabe:

Java Magazin 1.18 - "Extreme Java"

Alle Infos zum Heft
579821770MicroProfile: Microservices in Enterprise Java
X
- Gib Deinen Standort ein -
- or -