/Microservices: Eclipse MicroProfile 1.1 baut auf Java 8

Microservices: Eclipse MicroProfile 1.1 baut auf Java 8


Die erste Nebenversion des vor allem auf Microservices ausgelegten schlanken Java-Enterprise-Profils bringt mit der Config API 1.0 lediglich eine große Neuerung. Sie ist gleichzeitig der Grund, dass das System unter der Haube nun Java 8 voraussetzt.

Knapp ein Jahr nach der Veröffentlichung der ersten Hauptversion von MicroProfile ist nun Version 1.1 des individuellen, Community-gesteuerten Java-Enterprise-Profils erschienen, das besonders auf das Erstellen von Microservice-, Container- und Cloud-Anwendungen ausgelegt ist. Die Nebenversion bringt lediglich eine große Neuerung mit: die Config API 1.0. Sie gliedert die Konfiguration aus, damit Entwickler zum Anpassen der Einstellungen entweder innerhalb einer Installation oder für unterschiedliche Laufzeitumgebungen nicht die Anwendung ändern müssen.

Die Config API ist von diversen Projekten inspiriert, darunter DeltaSpike und Apache Tamaya. Sie bietet lediglich die Schnittstelle, das Technology Compatibility Kit (TCK) und die Dokumentation, aber keine eigene Implementierung. Standardmäßig kennt sie drei Quellen für die Konfiguration, die nach einer Ordinalzahl sortiert sind. Durch Anpassen der Zahl lässt sich die Priorität von außen ändern. Die drei Standard-ConfigSources sind folgende:

  1. System.getProperties() (ordinal=400)
  2. System.getenv() (ordinal=300)
  3. die META-INF/microprofile-config.properties-Dateien, die im ClassPath liegen.

Bei Letzteren bestimmt die Eigenschaft config_ordinal die Ordinalzahl. Fehlt diese, setzt das System sie auf 100. Wer zusätzliche Quellen für die Konfiguration verwenden möchte, kann einen ConfigHub-Server verwenden.

Da die Config API Java 8 voraussetzt, benötigt Microprofile 1.1 ebenfalls Version 8 der Java-Plattform und lässt sich im Gegensatz zu MicroProfile nicht mehr mit Java 7 betreiben. Allerdings gibt es unter anderem JDK-7-kompatible Builds ohne Config API von Payara Server und Payara Micro für Kunden mit erweiterten 10-Jahres-Support.

Java 2017

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

Die Gestalter von MicroProfile, zu denen Red Hat, IBM, Tomitribe und Payara gehören, hatten das Projekt besonders mit dem Blick auf Microservices und conatinerisierte Anwendungen ins Leben gerufen. Im offiziellen Java-EE-Standard gibt es das Full Profile und das Web Profile. Letzteres ist zwar schlanker, aber immer noch recht umfangreich und wenig flexibel. Zudem fehlen Komponenten wie Container Managed Persistence (CMP) oder Remote EJBs. MicroProfile setzt auf einen minimalen Basis-Stack, den Entwickler erweitern können und der lediglich JAX-RS (Java API for RESTful Web Services), JSON-P und CDI (Contexts and Dependency Injection) enthält.

Nach dem Release von MicroProfile 1.0 fand das Projekt im Dezember 2016 eine Heimat unter dem Dach der Eclipse Foundation.


(rme)