Eclipse MicroProfile 3.0 a récemment été publié avec des mises à jour de ses API Rest Client, Metrics et Health Check. MicroProfile 3.0 utilise Java EE 8 comme base pour le développement de microservices en Java.
L'image ci-dessous montre les composants de MicroProfile 3.0; les carrés bleus représentant les mises à jour de la version 3.0.
Les modifications apportées aux API Metrics et Health Check ne sont pas rétrocompatibles. Planifiez vos mises à niveau en conséquence.
Philip Riecks a publié un blog à propos de cette version dans #REVIEW: What’s new in MicroProfile 3.0. Il note que Metrics 2.0 contient une refactorisation de Counters, Metadata immuables, un MetricID comme identifiant unique et des balises sont maintenant ajoutées aux requêtes GET.
Concernant Health Check 2.0, Philip Riecks mentionne que la réponse a remplacé outcome
et state
au profit de status
. Des endpoints ont également été ajoutés pour une intégration plus fluide avec Kubernetes.
Rest Client 1.3 n'est pas une version majeure et contient des améliorations de la configuration et de la sécurité. Du blog de Philip Rieck :
- Prise en charge SSL spécifiée via de nouvelles méthodes de
RestClientBuilder
et les propriétés MP Config. - Autoriser le cast des proxies client vers
Closeable
/AutoCloseable
. - Configuration plus simple en utilisant
configKeys
. - Définition de
application/json
comme étant la valeur par défaut deMediaType
si aucun n'est spécifié via@Produces
/@Consumes
.
Au moment de la rédaction de ce document, aucune implémentation de MicroProfile ne prend en charge MicroProfile 3.0. Vous pouvez voir une matrice des versions de MicroProfile et de la prise en charge des serveurs sur la page MicroProfile/Implementation d'Eclipsepedia.
Boost pour MicroProfile
Dans les autres nouvelles de MicroProfile, l’équipe Open Liberty a prototypé un plug-in "Boost". Ce plugin est conçu pour fonctionner avec Maven ou Gradle et vous permet de développer votre application MicroProfile sans la lier à une implémentation spécifique. Lorsque vous utilisez Boost, vous ajoutez des dépendances "booster" à votre pom.xml
:
<dependencyManagement> <dependencies> <dependency> <groupId>boost.boosters</groupId> <artifactId>mp20-bom</artifactId> <version>0.1.3-SNAPSHOT</version> <scope>import</scope> <type>pom</type> </dependency> </dependencies> </dependencyManagement> <dependencies> <!-- Boosters --> <dependency> <groupId>boost.boosters</groupId> <artifactId>mpConfig</artifactId> </dependency> <dependency> <groupId>boost.boosters</groupId> <artifactId>mpRestClient</artifactId> </dependency> <dependency> <groupId>boost.boosters</groupId> <artifactId>jpa</artifactId> </dependency> </dependencies>
Le runtime choisi est sélectionné en fonction de vos dépendances.
<!-- Runtime --> <dependency> <groupId>boost.runtimes</groupId> <artifactId>openliberty</artifactId> </dependency> <!-- Switch runtime by switching dependencies <dependency> <groupId>boost.runtimes</groupId> <artifactId>tomee</artifactId> </dependency> -->
Vous pouvez également choisir votre base de données en fonction des dépendances. Si la communauté MicroProfile adopte ce plug-in, il devrait fonctionner correctement avec MicroProfile Starter, qu'InfoQ décrit dans la communauté MicroProfile lance MicroProfile Starter, un générateur de projet basé sur le Web.
NOTE: Dans notre précédent article, nous avions constaté que MicroProfile Starter n’avait pas d’API REST. Cette fonctionnalité a depuis été ajoutée. Voir cette issue pour plus d'informations.