Le Java Community Process

Il existe un processus ouvert à tous permettant d'influer sur le développement de Java et appelé Java Community Process. Méconnu, il offre pourtant des perspectives intéressantes.

Article lu   fois.

L'auteur

Site personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

I. Introduction

Apparu en 1998, le JCP est donc processus de développement et d'amélioration de Java permettant à des entreprises aussi bien qu'à des particuliers de participer. Le JCP met en place un cadre de travail servant à entourer des propositions intitulées Java Specification Requests, ou JSR. Les sujets peuvent énormément varier d'une JSR à l'autre. Ainsi les generics, qui font leur apparition dans le J2SE 5 SDK 1.5, ont été définis dans la JSR 14, les spécifications de Java pour le temps réel sont décrites dans la JSR 1 et la version 2.6 du JCP lui-même correspond à la JSR 215.
Le JCP est composé du Process Management Office, le PMO, et de deux Executive Committee : l'un pour les plateformes mobiles, le ME EC, et l'autre pour les plateformes standard et entreprise, le SE/EE EC. Le PMO est une entité interne à Sun Microsystems dont le rôle est de gérer l'ensemble du programme. Ses préoccupations sont purement administratives et il n'intervient jamais dans le choix et la validation des JSR. A l'inverse, les deux comités exécutifs sont en charge de la gestion des JSR. Les comités sont composés de 15 membres, régulièrement élus par l'ensemble des membres du JCP, plus de Sun Microsystems. Afin de comprendre leur travail, nous devons découvrir la nature exacte d'une JSR.
A la réception d'une demande de JSR, le PMO lui assigne un numéro et lui ouvre une page web dédiée. Nous en sommes au stade de l'initialisation qui dure 14 jours pendant lesquels la JSR est accessible publiquement pour tout commentaire. Durant cette période, l'EC approprié doit l'examiner et la soumettre à un vote d'acceptation. En cas de décision favorable, l'auteur originel d'une JSR, le Specification Lead, doit former l'Expert Group qui sera responsable du développement de la JSR. Le groupe de travail ainsi formé peut ensuite rédiger un premier brouillon pour les spécifications et choisir la licence du TCK (Technology Compatibility Suite) et du RI (implémentation de référence). Débute ensuite une période de 30 à 90 jours, la Early Draft Review, durant laquelle les membres du JCP et toute personne extérieure peuvent communiquer leurs remarques au sujet de la JSR. Tout commentaire pris en compte pourra entraîner une modification des spécifications. A la fin de cette période, les auteurs peuvent continuer leur travail avant de le soumettre de nouveau au PMO pour entrer en période de finalisation. Durant cette dernière le public peut soumettre ses commentaires durant 30 à 90 jours. Des mises à jour peuvent être effectuées jusqu'aux 7 derniers jours durant lesquels l'EC décide au vote si la JSR est suffisamment aboutie. Si le vote est négatif, l'Expert Group dispose de 30 jours supplémentaires pour modifier le brouillon. Finalement, le document final est soumis à l'EC pour une période de 14 jours à l'issue de laquelle un vote final est effectué.
Une JSR doit fournir une RI, et une suite de tests de compatibilité, le TCK, sans lesquelles le vote final ne peut avoir lieu. Lorsqu'une JSR est approuvée, le RI et le TCK sont mis en téléchargement sur le site du JCP. Le TCK est indispensable pour toute entreprise ou personne souhaitant réaliser sa propre implémentation d'une JSR. Les serveurs d'application J2EE doivent par exemple être conforme au TCK associé.
Bien que le JCP ne soit pas totalement indépendant de Sun Microsystems, ce dernier ne possède qu'un siège au sein de chaque EC qui accueillent non seulement de grandes entreprises comme Nokia ou IBM, mais également des particuliers. Si vous souhaitez vous impliquer dans le futur de Java, rendez-vous sur le site officiel, www.jcp.org.

Articles et tutoriels Java
L'essentiel de Java en une heure
L'API java.nio du JDK 1.4
Inversion de contrôle en Java
L'introspection
Le Java Community Process
Conception de tests unitaires avec JUnit
Les Strings se déchaînent
Présentation de SWT
La programmation réseau en Java avec les sockets
Du bon usage de l'héritage et de la composition
Les références et la gestion de la mémoire en Java
Constructeurs et méthodes exportées en Java
Les membres statiques, finaux et non immuables en Java
Les classes et objets immuables en Java
Comprendre et optimiser le Garbage Collector
Les principes de la programmation d'une interface graphique
Les opérateurs binaires en Java
Prenez le contrôle du bureau avec JDIC
Les Java Data Objects (JDO version 1.0.1)
La persistance des données avec Hibernate 2.1.8
Journalisation avec l'API Log4j
Java 5.0 et les types paramétrés
Les annotations de Java 5
Java 1.5 et les types paramétrés
Créer un moteur de recherche avec Lucene
Articles et tutoriels Swing
Threads et performance avec Swing
Rechercher avec style en utilisant Swing
Splash Screen avec Swing et Java3D
Drag & Drop avec style en utilisant Swing
Attendre avec style en utilisant Swing
Mixer Java3D et Swing
Articles et tutoriels Java Web
Redécouvrez le web avec Wicket
Cette création est mise à disposition sous un contrat Creative Commons (Paternité - Partage des Conditions Initiales à l'Identique).