Initialement prévu pour une release en juin 2020, MicroProfile 4.0 a été retardé jusqu'à ce qu'un groupe de travail Eclipse a été établi et mandaté par la Fondation Eclipse. Fonctionnant de manière indépendante depuis sa création en 2016, il y a eu 12 releases de MicroProfile par un groupe dédié de contributeurs au sein de la communauté Java. MicroProfile 3.3, publié en février 2020, est la dernière version de MicroProfile.
Roberto Cortez, responsable du projet SmallRye chez Red Hat, a fourni une rétrospective sur les travaux antérieurs de la communauté MicroProfile, en écrivant :
Au cours de ces 4 dernières années, la communauté MicroProfile a grandi au-delà des attentes les plus optimistes. Nous pensons que les valeurs fondamentales qui font partie de MicroProfile depuis ses tout débuts, comme un processus léger, la neutralité des fournisseurs, la transparence, la responsabilité, l'innovation et la mise en œuvre en premier (implementation first), sont les clés du succès du projet.
Présenté à la conférence DevNation de Red Hat le 27 juin 2016, l'initiative MicroProfile a été créée en tant que collaboration de fournisseurs pour fournir des microservices pour Java d'entreprise. La sortie de MicroProfile 1.0, annoncée à JavaOne 2016, se composait de trois API basées sur des JSR considérées comme minimales pour la création de microservices : JSR-365 - Contexts and Dependency Injection (CDI), JSR-374 - Java API for JSON Processing (JSON-P) et JSR-370 - Java API for RESTful Web Services (JAX-RS).
Peu de temps après la sortie de la version 1.0, MicroProfile a rejoint la Fondation Eclipse pour s'assurer que cette initiative resterait neutre du point de vue des fournisseurs et mobiliserait certaines ressources. Cependant, la transition n'a pas été facile. Comme InfoQ l'a rapporté :
La paperasse requise a été assez onéreuse, et des arguments ont été soulevés concernant la convention de dénomination des packages que MicroProfile devrait suivre, et concernant la licence sous laquelle le projet devrait être publié.
En fin de compte, les contributeurs ont finalement accepté de suivre les normes de dénomination de la Foundation Eclipse, tandis que la fondation a accepté de publier le projet sous ALv2, par opposition à EPL, le standard pour les projets Eclipse.
Au moment où MicroProfile 1.3 a été publié, huit API communautaires complétant les API originelles spécifiées par des JSR, ont été créées pour créer des applications basées sur des microservices plus robustes. Une quatrième API spécifiée par une JSR, JSR-367 - Java API for JSON Binding (JSON-B), a été ajoutée dans MicroProfile version 2.0.
Après des mois de réunions hebdomadaires ouvertes à la communauté MicroProfile, la Charte du groupe de travail MicroProfile (MicroProfile Working Group MPWG), composé d'un comité de pilotage et de différents niveaux de membres, avait passé le processus d'examen en septembre et a finalement été approuvé lors de la toute première réunion du comité de pilotage de MicroProfile le 20 octobre 2020. Le comité de pilotage de MicroProfile comprend les organisations et groupes d'utilisateurs Java suivants (JUG) : Atlanta JUG, IBM, Jelastic, Red Hat et Tomitribe.
Selon le plan de publication, MicroProfile 4.0 doit être publié le 10 novembre 2020, dix jours à peine avant la sortie officielle de Jakarta EE 9. Les milestone et release candidates ont été autorisées à être diffusées pendant la rédaction de la charte du MPWG. MicroProfile 4.0 RC1, sorti le 23 octobre 2020, contient des mises à jour des huit API développées par la communauté :
- Config 2.0-RC3
- Fault Tolerance 3.0-RC2
- Health 3.0-RC5
- JWT Authentication 1.2-RC1
- Metrics 3.0-RC2
- OpenAPI 2.0-RC3
- OpenTracing 2.0-RC2
- Rest Client 2.0-RC2
Les quatre API spécifiées par des JSR sur lesquels repose MicroProfile : CDI, JSON-P, JAX-RS et JSON-B, sont désormais basées sur leurs spécifications équivalentes de Jakarta EE pour MicroProfile 4.0.
John Clingan, chef de produit principal principal chez Red Hat, a parlé à InfoQ de la prochaine version de MicroProfile 4.0.
InfoQ : Après quatre ans de fonctionnement uniquement en tant que processus communautaire, comment la création du groupe de travail MicroProfile profitera-t-elle à MicroProfile à l'avenir ?
John Clingan : Le principal moteur de la création du groupe de travail MicroProfile est de combler les lacunes en matière de propriété intellectuelle identifiées par la Fondation Eclipse pour les projets de spécification. Il y a donc plus de protections juridiques en place maintenant que MicroProfile est un groupe de travail.
Un groupe de travail implique également plus de processus sur MicroProfile. Historiquement, MicroProfile a évolué rapidement avec un processus minimal et des décisions tardives. C'était un projet assez agile qui a livré des spécifications à un rythme assez rapide. Cependant, je pense personnellement que nous avons atteint un point où l'ajout de *certains* processus peut bénéficier au projet. Par exemple, nous devons maintenant mettre plus de réflexion et de formalité dès le départ dans la planification d'une spécification, ce qui nécessite un vote du comité directeur. Une meilleure planification donne aux implémenteurs, aux fournisseurs d'outils et à la communauté une plus grande visibilité directe sur ce qui est à venir et se prépare. Cependant, nous avons codifié des "processus limités" dans la Charte MicroProfile pour réduire les processus au minimum.
InfoQ : Il y a eu trois à quatre nouvelles versions en 2018 et en 2019. Le calendrier des versions de MicroProfile changera-t-il à la suite du nouveau groupe de travail ?
John Clingan : Nous avons officiellement planifié et livré trois versions par an : février, juin et octobre. Le mois de juin est généralement réservé aux versions majeures et potentiellement incompatibles avec les versions antérieures. La formation d'un groupe de travail a eu un impact certain sur le calendrier. Nous espérons livrer deux versions cette année, MicroProfile 3.3 ayant été livré en février et MicroProfile 4.0 ciblant novembre ou décembre. Je présume que l'année prochaine nous aurons deux versions car le temps entre MicroProfile 4.0 et février 2021 est trop court. Cependant, nous ne l'avons pas encore défini. Nous sommes plutôt concentrés sur la livraison de MicroProfile 4.0 en ce moment.
InfoQ : Quels ont été les défis les plus importants lors de la création de la charte du groupe de travail MicroProfile ?
John Clingan : Un grand défi a été de passer d'un projet agile à évolution rapide à l'intégration dans la structure de processus requise par un groupe de travail. Nous voulions maintenir autant que possible notre culture existante car la communauté livrait systématiquement trois versions annuelles. Il s'agissait de déterminer où nous voulions minimiser la formalité et les processus, car ils ajoutaient une valeur minimale à la façon dont nous fonctionnions déjà. Il englobait également d'autres processus car ils ajoutaient de la valeur.
En outre, il y a eu beaucoup de discussions sur la question de savoir si MicroProfile et Jakarta EE devraient exister au sein du même groupe de travail ou en tant que deux groupes de travail distincts. Le résultat est deux groupes de travail distincts, mais nous continuons à discuter de l'alignement entre les deux groupes de travail.
InfoQ : Peux tu expliquer à nos lecteurs les différences entre les membres du comité de pilotage, les committers et les contributeurs dans la charte du groupe de travail MicroProfile ?
John Clingan : Dans MicroProfile, le comité de pilotage comprend les membres Corporate, Committer et Guest.
- Les Corporate members sont des organisations qui souhaitent s'impliquer directement dans l'avancement de MicroProfile et financent également le groupe de travail par le biais de frais annuels.
- Il y a aussi un committer member qui est un committer MicroProfile qui n'est pas employé par un corporate member. Ce nombre pourrait augmenter à l'avenir.
- Les Guest member veulent montrer leur soutien à MicroProfile et sont généralement impliqués d'une manière ou d'une autre. Par exemple, ils peuvent souhaiter afficher le logo de leur organisation sur le site Web.
Collectivement, les Corporate et Committer members ont des votes contraignants pour créer/approuver les versions de spécifications et modifier la charte. Tout le reste se passe dans la communauté. Des descriptions plus complètes se trouvent dans la charte.
Les committers MicroProfile sont ceux qui ont des droits de validation sur les référentiels de code. Comme tout projet de la Fondation Eclipse, c'est une méritocratie.
La charte n'officialise pas explicitement les «contributeurs». En tant que groupe de travail, nous considérons les contributeurs comme ceux qui contribuent à MicroProfile d'une manière qui n'est pas toujours du code, comme la rédaction de livres blancs ou le marketing. MicroProfile met fortement l'accent sur l'implication des contributeurs non codants car elle est essentielle au succès de MicroProfile.
InfoQ : Comment les organisations et les JUG peuvent-ils parrainer ou contribuer à MicroProfile ?
John Clingan : la meilleure façon est de rejoindre le groupe Google et commencer à participer à des conversations. Présentez-vous (ou votre organisation) et votre domaine d'intérêt. Tout le reste, contributions et parrainages, en découle. N'hésitez pas à participer aux réunions de spécification individuelles ou aux hangouts en direct programmés sur le site Calendrier MicroProfile.
Plus récemment, Eclipse Management Organization (EMO), une société à but non lucratif constituée aux États-Unis et composée d'employés de la Fondation Eclipse, a accepté la charte MPWG et l'a ajoutée à l'ensemble de Groupes de travail Eclipse.
Ressources
- Java EE Vendors and the London JUG Announce New MicroProfile par InfoQ (15 juillet 2016)
- MicroProfile Group Holds Discussion Panel Event during JavaOne par InfoQ (26 septembre 2016)
- MicroProfile Becomes Eclipse MicroProfile par InfoQ (7 février 2017)
- MicroProfile: How It Has Evolved and Where It's Headed? by Jean-Louis Monteiro (16 juillet 2019)
- Towards MicroProfile 4.0 par Roberto Cortez (29 mai 2020)