« Au cours des 23 dernières années, le programme Java Community Process (JCP) a guidé la spécification de la plateforme Java en coopération avec la communauté internationale des développeurs Java. Le programme JCP accueille la participation et l'adhésion des entreprises, des logiciels libres, des particuliers et des groupes d'utilisateurs Java. Nous sommes ravis d'accueillir Microsoft au sein du programme JCP et nous sommes impatients de voir leurs contributions », Heather VanCura, présidente et directrice du programme JCP, Oracle.
Le programme Java Community Process est le mécanisme d'élaboration de spécifications techniques standard pour les technologies Java, permettant la collaboration entre les développeurs individuels, les clients et les fournisseurs désireux de soumettre des suggestions pour les API Java.
« Le JCP est le lieu où nous définissons et discutons de l'avenir de Java, et où nous avons besoin de la collaboration de toute la communauté Java, a indiqué Bruno Souza, président du SouJava User Group, membre du comité exécutif du JCP. Microsoft a joué un rôle important dans cette communauté, en s'impliquant dans OpenJDK mais aussi en soutenant les groupes d'utilisateurs Java et les événements communautaires. Grâce à tout cela, Microsoft est devenu un partenaire solide de SouJava et nous sommes ravis de les voir aller encore plus loin dans leur engagement avec la communauté Java. »
Java au sein de Microsoft
Microsoft s'appuie sur les technologies Java pour un grand nombre de ses propres systèmes, applications et charges de travail internes afin de permettre la mise en œuvre de services et de produits publics bien connus, ainsi que pour un ensemble important de systèmes essentiels à la mission qui alimentent l'infrastructure Azure. « Nous avons travaillé à l'optimisation de nos systèmes basés sur Java et à la sécurisation de notre chaîne d'approvisionnement afin d'en faire bénéficier nos clients et utilisateurs. »
Outre l'utilisation importante de Java en interne, de nombreux clients et développeurs codent et exécutent Java sur Microsoft Azure et GitHub. Microsoft déploie plus de 500 000 machines virtuelles Java (JVM) en interne à l'exclusion de tous les services Azure et des charges de travail des clients dont les besoins vont des microservices back-end aux systèmes Big Data, en passant par les courtiers de messages, les services de streaming d'événements et les serveurs de jeux. Plus de 140 000 de ces JVM sont déjà basées sur la version Microsoft d'OpenJDK.
« Java reste un contexte clé pour l'informatique aujourd'hui et dans un avenir prévisible, a déclaré James Governor, cofondateur de RedMonk. Microsoft illustre clairement son engagement envers cet avenir en devenant un membre stratégique de la Fondation Eclipse, mais aussi par ses contributions techniques à des technologies telles que OpenJDK, Windows on ARM, Apple M1 et Alpine Linux. »
Microsoft utilise une variété de projets Java open source pour des tâches critiques à travers Azure pour soutenir son infrastructure globale, ainsi que pour les systèmes Big Data et d'analyse de logs. Les services back-end de LinkedIn et de Yammer sont presque entièrement mis en œuvre sur des microservices Java distribués et natifs du cloud. Minecraft Java Edition reste également omniprésent avec un écosystème important de mods et une communauté de moddeurs enthousiastes, et nous utilisons Java pour faire fonctionner les serveurs derrière Minecraft Realms.
L'utilisation de Java au sein de Microsoft s'est développée bien au-delà de Minecraft. Notons que l'achat de Minecraft par Microsoft, pour un montant de 2,5 milliards de dollars, a permis à ce jeu d'aventure et de construction de blocs très populaire de toucher de nouveaux joueurs sur plusieurs plateformes. Microsoft a étendu le jeu au-delà de la Xbox, ajouté de nouvelles fonctionnalités et de nouveaux contenus et lancé une version éducative de Minecraft conçue pour être utilisée en classe.
Version Microsoft d'OpenJDK
Azure connaît une croissance significative des charges de travail Java grâce à Azure Spring Cloud, Azure App Service, Azure Functions et Azure Kubernetes Service. À l'avenir, et une fois que nous aurons commencé à déployer de nouvelles JVM avec la version Microsoft Build d'OpenJDK sur Azure, nous chercherons à recommander de meilleures optimisations pour les charges de travail Java sur ces services.
Plus tard dans l'année, la version Microsoft d'OpenJDK deviendra la distribution par défaut de Java 11 sur les services gérés par Azure. Les clients n'auront pas à effectuer de tâches de maintenance, car la transition se fera en douceur et de manière transparente lors du déploiement des applications. Pour tous les autres services Azure, les clients peuvent utiliser le JDK de leur choix, y compris la version Microsoft Build d'OpenJDK. Nous fournirons de plus amples informations à ce sujet dans les mois à venir.
Nouvelle cadence de publication des LTS
En septembre 2021, Oracle a proposé sa nouvelle cadence LTS de deux ans pour les binaires commerciaux Oracle JDK. Martijn Verburg, qui dirige le groupe d'ingénierie Java de Microsoft et participe activement au projet Eclipse Adoptium et au London Java Community JUG, s'est exprimé sur l'intérêt de Microsoft à aligner cette cadence de publication sur la Build Microsoft d'OpenJDK : « Microsoft croit aux avantages pour l'utilisateur final et l'opérateur que le Java moderne apporte. C'est pourquoi nous souhaitons également soutenir la proposition de LTS de deux ans pour les builds d'OpenJDK. Puisque la plupart de l'écosystème des utilisateurs finaux préfère avoir la stabilité supplémentaire d'un LTS, c'est un excellent moyen de les encourager dans leurs efforts de modernisation !
Microsoft est prêt à s'engager à aider à maintenir les différents projets de mise à jour LTS au fur et à mesure de leur cycle de vie naturel », Martijn Verburg.
L'impact le plus important du JCP sur la vie quotidienne de millions de développeurs Java dans le monde est sans conteste le rôle central qu'il joue dans le développement des technologies de base de Java côté serveur. Une combinaison de Servlet, JSP, Expression Language, JPA, JMS, Bean Validation et Dependency Injection est au cœur de chaque Java côté serveur, de Spring à Tomcat, WebLogic à WebSphere, JBoss EAP et plus encore.
Ces technologies ont toutes été développées dans le cadre du JCP. Microsoft contribue à la vitalité continue de ces technologies et de bien d'autres technologies basées sur des normes en veillant à ce qu'elles aient un foyer heureux sur Azure. Voici quelques exemples de technologie Java EE, et Jakarta EE qui fonctionnent parfaitement sur Azure.
Rust chez Microsoft
Java n’est pas le seul langage qui capture l’attention de Microsoft, en début de cette année, Microsoft cet associé à Google, AWS, Huawei et Mozilla pour créer la Fondation Rust, une organisation à but non lucratif chargée de gérer le langage de programmation Rust. La fondation a pour objectif de fournir une orientation au langage Rust.
Rappelons que Rust est un langage de programmation compilé multiparadigme, conçu par Graydon Hore alors employé chez Mozilla Research, avec la contribution du créateur de JavaScript Brendan Eich. Utilisé par plusieurs grandes entreprises et par de nombreux développeurs dans le monde, Rust est devenu le langage de base pour certaines des fonctionnalités fondamentales du navigateur Firefox et de son moteur Gecko, ainsi que pour le moteur Servo de Mozilla.
Sur son Blog, Microsoft a déclaré qu’elle était ravie de se joindre aux autres partenaires industriels en qualité de membre fondateur de la fondation Rust et se dit impatient de collaborer avec la communauté pour continuer à améliorer le langage. L’entreprise a promis de fournir des outils, une bibliothèque pour le langage et des ressources d’apprentissage.
Selon Nell Shamrell Harrington, Ingénieur logiciel chez Microsoft et directeur du conseil d'administration de la Fondation Rust, les logiciels et les langages open source sont d'une importance capitale pour son entreprise et pour l'ensemble de l'industrie technologique. « Au fur et à mesure que l'utilisation de Rust se développe chez Microsoft, nous savons qu'il ne suffit pas de l'utiliser uniquement comme logiciel open source. Nous devons également y contribuer », avait-il déclaré sur le billet de blog publié ce 8 février par Microsoft. « Rejoindre la Fondation Rust est une façon pour nous de soutenir financièrement le projet et de nous engager plus profondément avec la communauté Rust », précise Harrington.
En outre, Microsoft a récemment formé une équipe Rust pour contribuer aux efforts d'ingénierie de l'écosystème du langage. L’entreprise spécialisée dans le développement de logiciel prévoit de travailler avec la communauté Rust sur le compilateur, les outils de base, la documentation et bien plus.
En mai de cette année, Microsoft a annoncé Rust/WinRT, une projection du langage Rust pour les API Windows Runtime,,implémentée comme une bibliothèque basée sur des fichiers d'en-tête. C’est une projection du langage Rust entièrement standard pour les API Windows Runtime, implémentée comme une bibliothèque basée sur des fichiers d'en-tête, et conçue pour vous fournir un accès de première classe à l'API Windows moderne. Il a désormais une prévisualisation publique sur GitHub. Rust continue de séduire Microsoft.
Windows Runtime (WinRT) est le Runtime de Windows. Il constitue la base des applications de la Plateforme universelle de Windows (UWP). Il se base sur les API COM (Component Object Model) sous le capot et il est conçu pour être accessible par des projections de langage. WinRT peut également être utilisé pour des choses comme les pilotes, ce qui se prête à un code natif très performant. Microsoft soutient principalement ce cas d'utilisation avec C++/WinRT.
Microsoft contribue à la vitalité continue de ces technologies et de bien d'autres technologies basées sur des normes en veillant à ce qu'elles aient un foyer heureux sur Azure. Voici quelques exemples de technologie Java EE, et Jakarta EE qui fonctionnent parfaitement sur Azure.
- JMS sur Azure Service Bus Messaging ;
- JBoss EAP sur Azure App Service et VMs ;
- Azure Spring Cloud et Spring Cloud pour Azure ;
- IBM WebSphere Traditional sur les VM d'Azure ;
- Oracle WebLogic Server sur Azure Kubernetes Service et Azure VMs ;
- IBM WebSphere Liberty sur Azure RedHat OpenShift et Azure Kubernetes Service.
Source : Microsoft
Et vous ?
Quelle appréciation faites vous de la décision de Microsoft de rejoindre le Java Community Process ?
Utilisez-vous ce langage ? Sur quel projet ?
Voir aussi :
Développeurs Java : la version d'OpenJDK de Microsoft est désormais disponible et inclut des binaires pour Java 11, basés sur OpenJDK 11.0.11
Microsoft annonce Rust/WinRT, une projection du langage Rust pour les API Windows Runtime, implémentée comme une bibliothèque basée sur des fichiers d'en-tête
Microsoft, Google, AWS, Huawei et Mozilla s'associent pour créer la Fondation Rust, une organisation à but non lucratif chargée de gérer le langage de programmation
Microsoft annonce Rust preview pour Windows, alors que la comparaison entre Rust et C++ reste un sujet d'actualité