La fondation Eclipse a publié MicroProfile 3.3 avec des mises à jour pour cinq des API :
Les autres améliorations comprennent des clarifications et des améliorations des spécifications et de la documentation, une meilleure intégration entre toutes les API MicroProfile, l'interopérabilité entre les différentes implémentations MicroProfile et un ensemble complet d'artefacts pour chaque API.
Basé sur la JSR 339 pour la cohérence et la réutilisation plus facile, l'API MicroProfile Rest Client fournit une approche type-safe pour appeler les services RESTful sur HTTP qui gère la communication entre un client et un service. Rest Client établit la connexion HTTP et sérialise un objet afin qu'un service distant puisse le traiter. Les nouvelles fonctionnalités de la version 1.4 incluent un TCK mis à jour, des améliorations des spécifications et de la documentation, une injection CDI et JAX-RS appropriée dans le ClientHeadersFactory
, et des améliorations de son interface de fournisseur de services et des annotations.
L'API Config de MicroProfile fournit une configuration d'exécution à partir de sources externes pour minimiser le reconditionnement de l'application. Basées sur un système ordinal basé sur les priorités, ces sources incluent : les propriétés du système (ordinal = 400); les variables d'environnement(ordinal = 300); et un fichier .properties
(ordinal = 100). La priorité est donnée à la valeur ordinale définie la plus élevée. Les sources personnalisées peuvent également être définies en implémentant l'interface ConfigSource
. Les nouvelles fonctionnalités de la version 1.4 incluent des corrections de bugs de chargement de classes, des mises à jour de l'interface Converter
avec de nouveaux convertisseurs intégrés et des améliorations des spécifications et de la documentation.
L'API Fault Tolerance de MicroProfile fournit un certain nombre de stratégies (timeouts, retentatives, disjoncteurs (circuit breakers), etc.) pour gérer les échecs dans une application. Chacune de ces stratégies a une annotation correspondante qui, une fois appliquée, redirigera l'application avec un plan d'action nécessaire pour minimiser les effets néfastes d'une défaillance. Les nouvelles fonctionnalités de la version 2.1 incluent de nouvelles méthodes pour des fonctionnalités améliorées, des tests configurables pour le TCK et assouplissent certaines exigences sur la mise en œuvre des interfaces Future
et CompletionStage
.
L'API Metrics de MicroProfile fournit des données de télémétrie chronologiques pour les applications MicroProfile. Un endpoint /metrics
intégré envoie des données au format Prometheus. Les mesures personnalisées peuvent être définies via des annotations intégrées telles que @Counted
, @Gauge
, @Histogram
et @Timed
. Les nouvelles fonctionnalités de la version 2.3 incluent une nouvelle métrique, SimpleTimer
invoquée avec @SimpleTimed
, de nouvelles méthodes pour des fonctionnalités améliorées, et permet d'utiliser des métriques sans implémentation de MicroProfile Config.
L'API Health de MicroProfile détermine si un nœud informatique est sur le point de se terminer ou de s'arrêter et remplacera ce nœud par une nouvelle instance saine. Tout comme l'API Metrics, un endpoint /health
est automatiquement proposé pour fournir les informations d'intégrité d'une application au format JSON. Les nouvelles fonctionnalités de la version 2.2 incluent des améliorations de l'API et du TCK et l'interopérabilité avec CDI 2.0.
Pour commencer
Similaire aux sites Web Spring Initialzr et Quarkus proposant des pages de démarrage, la page MicroProfile Starter est un outil relativement nouveau permettant aux développeurs de commencer à écrire des applications de microservices basées sur le cloud. Publié en janvier 2019, MicroProfile Starter générera un projet Maven complet basé sur des options sélectionnées telles que les versions de MicroProfile et de Java SE, un runtime pris en charge basé sur la version MicroProfile sélectionnée et une série de cases à cocher pour sélectionner les API MicroProfile souhaitées.
La route vers MicroProfile 4.0
MicroProfile 4.0, dont la sortie est prévue en juin 2020, sera livré avec les API mises à jour suivantes :
- Config 2.0
- Fault Tolerance 3.0
- Health Check 3.0
- JWT Propagation 1.2
- Metrics 3.0
- OpenAPI 2.0
- Rest Client 2.0
- OpenTracing 2.0
En raison de la fusion récente du OpenTracing et OpenCensus, projets qui ont formé OpenTelemetry, les contributeurs de MicroProfile ont envisagé de supprimer l'API OpenTracing au profit d'une nouvelle API OpenTelemetry, mais ce n'est pas clair pour l'instant si cela se produira avec la sortie de MicroProfile 4.0.
Ressources
- Custom ConfigSource with MicroProfile Configuration par Roberto Cortez (4 février 2019)
- Introduction to Open Liberty par baeldung (6 mars 2020)