Technologies

A la recherche de JEE (2)

Publié le : Auteur: vhanniet Laisser un commentaire
technologies

Quelques réactions (off-line) sur mon billet précédent sur JEE m’amènent à compléter mon propos qui est de comprendre ce qu’est concrètement JEE. Je ne me contente pas de la définition usuelle « Java EE permet de développer des applications d’entreprise. C’est une norme Java » et cherche à comprendre ce que c’est d’un point de vue matériel :

  • Quand je télécharge JEE j’obtiens quoi ?
  • Est-ce que je peux faire du JEE sans télécharger JEE ?
  • Est-ce que je peux faire du Java en entreprise sans JEE ?

Installons donc le SDK JEE 6. Ça se fait à partir de la page : http://www.oracle.com/technetwork/java/javaee/downloads/index.html

Je choisis l’option « Java EE 6 SDK », c’est à dire l’option minimale sans JDK, sans GlassFish, sans le Web Profile.

Je remarque en premier lieu qu’il me faut accepter une licence qui est décrite ici : http://download.oracle.com/otn-pub/java/licenses/java_ee_sdk-6u2-nojdk-oth-JPR_license_1.html?AuthParam=1357121410_d0fc5396cfeb4d0fa930f4628aa3246d. C’est une licence Oracle, pas open source donc. Qui plus est cette licence attire l’attention de l’utilisateur sur les devoirs attachés aux licences open source, et en particulier aux licences de type GPL (dites « copyleft« ) en… Interdisant d’utiliser les composants sous licences GPL avec des composants Oracle, donc avec JEE !! Java n’est décidément pas open source.

J’obtiens ensuite un premier écran d’installation qui me parle de… GlassFish ! :

InstallJEE-1

C’est étonnant puisque j’avais justement choisi une option sans GlassFish. Est-ce que l’installation de GlassFish, un produit Oracle qui possède pourtant des concurrents open source et commerciaux fournissant également un conteneur d’applications, est obligatoire pour utiliser JEE ? Ben oui !

InstallJEE-2InstallJEE-3

Qui plus est, par défaut l’installation propose de mettre à jour GlassFish automatiquement, et l’outil de mise à jour collecte également par défaut des informations sur l’usage que vous faites de GlassFish. Je ne dis pas que c’est une mauvaise chose en soi : il est souvent intéressant d’avoir une sorte de garantie d’être au niveau, mais c’est plutôt à contrôler dans un environnement industriel où les questions de compatibilité de versions sont souvent critiques. Il est également en général bienvenu de contribuer à la mise au point des outils qu’on utilise, sauf que généralement ça procède d’un choix volontaire et ça concerne plutôt des outils communautaires ce que n’est pas GlassFish.

InstallJEE-4

Nous voilà prêt à installer le SDK JEE 6… Enfin, c’est toujours pas très clair. L’écran d’installation parle de GlassFish et d’un « Update Tool Bootstrap » :

InstallJEE-5

Une fois ces éléments installés, on me demande de configurer un domaine, c’est à dire de configurer l’administration du serveur GlassFish :

InstallJEE-6

Et… Suspens… Ça ne marche pas !

InstallJEE-7

Bon. On ne peut pas dire que ça donne spécialement confiance en JEE… En fait, je pense savoir d’où vient le problème déjà rencontré dans le tutoriel YAPS : c’est un problème d’accès au niveau du port de GlassFish par défaut. Facile à corriger.. Si on sait où regarder !

Pour terminer, j’ai un écran de récap qui me dit qu’au niveau de l’installation tout s’est bien passé (l’install par elle même s’est effectivement bien passée) :

InstallJEE-8

Sur cet écran de récap, examinons les deux liens proposés. Le deuxième envoie vers le fichier de log où on ne voit pas apparaître d’erreur. Le premier, plus intéressant, donne un récap de ce qui a été installé ; il est accessible ici. Enfin, il devrait être plus intéressant, mais les logs vers lesquelles il pointe sont illisibles par un être humain normal (en tant que geek j’arrive à y trouver de l’info mais là n’est pas le propos !).

Du coup, allons voir ce qui a changé dans les répertoires où on trouve du Java sur mon poste. Avant ça, quand j’appuie sur le bouton Quitter, j’ai droit à un dernier cadeau Bonux…

InstallJEE-9

…qui me dit comment aller rejoindre la communauté Oracle pour Java EE 6 SDK la GlassFish product team !

Honnêtement, je n’avais pas spécialement d’idée préconçue en creusant cette question de JEE mais, même si j’avais déjà aperçu que Java n’était pas open source, je trouve qu’Oracle va plus loin que Sun dans le « commercial » en ce qui concerne Java. D’un point de vue business modèle ça se justifie tout à fait : Sun n’a probablement jamais vraiment gagné d’argent avec Java malgré des investissement importants. Mais d’un point de vue technique ça donne un éclairage utile sur le devenir de la communauté Java. Et en particulier sur la « guerre » des frameworks puisque, manifestement, choisir la voie « Java standard EE » c’est surtout choisir… Oracle !? A suivre…

Revenons sur un plan technique pour tenter de conclure. JEE ce sont des spécifications (les fameuses JSR) et également, j’imagine, des librairies. Dans le « Java Platform, Enterprise Edition 6 SDK Update 4 » que j’ai installé je m’attends à trouver ces fameuses libraires qui seraient une extension au JDK/JRE de Java SE. En fait, en termes de traces d’installation sur mon poste, je ne trouve pas spécialement de répertoire SDK ou JEE là où j’ai un JDK ou un JRE. Ce que je trouve c’est un répertoire GlassFish, avec une arborescence assez riche (pour ne pas dire touffue) au sein de laquelle je trouve plusieurs fois une référence explicite à JEE dans des libraries dont les noms ressemblent à ce que je cherchais :

  • Dans glassfish3glassfishmodules :
    • javaee-kernel.jar
    • deployment-javaee-core.jar
    • deployment-javaee-full.jar
  • Dans glassfish3glassfishlib :
    • javaee.jar

Est-ce que ce sont les fameuses librairies JEE ? Que contiennent-elles ? Sont-elles utilisées par les containers d’applications JEE concurrentes de GlassFish ? (ex: WebSphere, WebLogic, JBoss, Jonas, TomEE…)

J’ai bien peur de devoir encore conclure… Sur des questions ! La suite dans un prochain épisode…

Image à la une trouvée sur http://raf.dessins.free.fr/2bgal/img.php?id_img=7082