Interview de Karim Djaafar

Eclipses et JBoss

Photo de l'auteur

Consultant expert en technologies Java/J2EE, Karim Djaafar, auteur du livre Eclipse et JBoss, Développement d'applications J2EE professionnelles, de la conception au déploiement, présente les multiples avantages de l'EDI (environnement de développement intégré) Eclipse et les points forts du couplage Eclipse / JBoss.

Qu'est-ce que le projet Eclipse ?

Karim Djaafar : Eclipse est un projet Open Source initié par IBM, en novembre 2001, et dont l'objectif principal est la construction d'une plate-forme de développement "universelle" et modulaire, plate-forme dans laquelle l'ensemble des éditeurs et développeurs qui forment la communauté Eclipse peuvent se retrouver et étendre les fonctionnalités au gré de leurs besoins et de l'évolution de l'industrie logicielle. Actuellement le projet Eclipse, qui compte une communauté en forte croissance, est dirigé par une fondation non lucrative et indépendante depuis février 2004 : la fondation Eclipse, qui promeut ce que je qualifierais "d'écosystème Eclipse". Le "board" Eclipse compte plus de 100 membres dont des éditeurs logiciels prestigieux comme IBM, Borland, Intel, SAP et d'autres de moindre dimension comme l'éditeur français du plugin UML utilisé dans mon ouvrage, Omondo.

Quelles sont les spécificités de cet EDI (architecture, fonctionnalités...) ?

“Eclipse est une plate-forme en évolution permanente.”

K.D. : Les réelles spécificités et surtout originalités de cette plate-forme résident dans sa capacité à étendre ses fonctionnalités grâce à un mécanisme évolué de plugins : Eclipse est en effet une plate-forme en évolution permanente. Vous pouvez de manière indépendante développer un outil qui va enrichir ou compléter une fonctionnalité existante de la plate-forme (modeleur UML, requêteur SQL ou optimiseur de code), cela sans vous soucier des spécifications des autres outils, grâce justement à son architecture modulaire, et au fait qu'Eclipse intègre par défaut les "briques" fondamentales nécessaires à leur bonne exécution.
Pour prendre un exemple, je citerai le framework EMF ou Eclipse Modeling Framework, intégré en standard à Eclipse et destiné à proposer un canevas de conception et de génération de code à partir d'un modèle UML. Ce framework permet la construction d'outils de conception et de modélisation et ce à partir d'un modèle de données suffisamment structuré. Je précise que l'outil EclipseUML de l'éditeur Omondo est d'ailleurs basé sur ce framework.
Je pourrais citer d'autres projets issus de la fondation Eclipse, bâtis sur ce type de canevas commun, comme le produit MyEclipse. Cet autre produit couvert par mon ouvrage vise à construire un environnement J2EE similaire dans son positionnement à d'autres produits commerciaux plus évolués et basés sur un serveur d'application particulier : je citerai en particulier WebSphere Studio d'IBM (d'ailleurs lui-même bâti, il faut le rappeler, sur la plate-forme Eclipse).

Le développement d'interface graphique reste le point faible des EDI. Qu'en est-il pour Eclipse depuis l'arrivée des JSF (JavaServer Faces) ?

K.D. : Je compléterais quand même votre question. Le maillon faible des outils de développement sur plate-forme J2EE, a toujours été le manque de support de fonctionnalités propre à un outil RAD (Développement Rapide d'Applications). Ainsi, la possibilité d'avoir son outil "à la Visual Basic", c'est-à-dire de disposer d'un environnement de programmation événementiel pour concevoir des interfaces graphiques facilement en Java a toujours été le souhait de nombreux développeurs de la communauté Java.
Ceci a commencé, comme je le souligne dans certains passages de mon livre, par l'utilisation de descripteurs de balises graphiques spécialisées appelées TLD (ou Tag Library Descriptor), mais qui possèdent l'inconvénient de ne pas être assez standards et spécifiques à certaines implémentations.
JSF (JavaServer Faces) est un premier pas dans cette direction, puisque cette technologie, désormais standard (fait partie de la spécification J2EE 1.4 de Sun), vise en effet à fournir un modèle de programmation événementiel focalisé sur le développement Web et qui permet d'abstraire les développeurs de la connaissance d'un framework particulier, comme Struts.
Ce que l'on peut dire, c'est qu'un certain nombre d'outils commencent à arriver sur ce terrain, avec en particulier les "ténors" du domaine : Sun Java Studio Creator, IBM Websphere Studio Application Developper 5.1.2, JBuilder 2005 et aussi le plugin MyEclipse de l'éditeur américain Genuitec, qui sert de cadre à mon ouvrage. Enfin, l'initiative Eclipse RCP ou plate-forme client riche, va aussi dans la même direction, puisqu'elle vise au niveau du projet Eclipse, à bâtir un environnement "riche" à base de composants évolués régulièrement mis à jour, dont la bibliothèque graphique SWT ou Standard Widget Toolkit supporté par Eclipse en est l'illustration la plus aboutie.

Quels sont les points forts du couplage Eclipse / JBoss ?

K.D. : Bien que leurs fonctionnalités soient opposées, Eclipse se concentrant sur la problèmatique du cycle de développement et JBoss sur le déploiement de l'application, ils partagent un certain nombre de caractéristiques communes. Ils sont tous les deux :

  • sous licence libre, bien que le type de licence diffère (EPL ou Eclipse Public Licence pour Eclipse, et LGPL ou Lesser General Public License pour JBoss)
  • populaires au niveau de la communauté du libre et de Java
  • innovants (on citera par exemple le support de la Programmation Orientée Aspect, un standard du développement objet encore relativement neuf, le support du prochain standard EJB 3.0 en avance de phase par JBoss...)

Le tandem Eclipse et JBoss, thème fort de mon ouvrage, présente de multiples avantages en tant que plate-forme d'appel innovante et professionnelle apte à concurrencer d'autres solutions commerciales existantes.
Je laisse le soin à mes lecteurs d'en juger...

Quelles sont les nouveautés de la version 3.1 d'Eclipse ?

“Je dirais, le support de JAVA 5 et donc la possibilité de disposer de nombreuses améliorations engendrées par cette nouvelle version du langage Java (support des types énumérés, des types génériques et des annotations, de l'autoboxing, etc.)”

K.D. : Une des principales nouveautés apportées par cette version apparue tout récemment au mois de juin 2005, est sans conteste je dirais, le support de JAVA 5 et donc la possibilité de disposer de nombreuses améliorations engendrées par cette nouvelle version du langage Java (support des types énumérés, des types génériques et des annotations, de l'autoboxing, etc.).
Les fonctionnalités de refactoring de code ont été sensiblement améliorées par rapport à la version précédente, notamment avec un support amélioré de l'assistant de complétion de code en combinaison avec le JDK 5. Au niveau du "confort" du développeur et de sa productivité, notons aussi, la présence d'une aide contextuelle améliorée, de filtrage des mots clés, et d'une navigation plus intuitive dans le projet et ses ressources.
A noter encore, la mise en oeuvre plus intuitive et contextuelle de l'option Préférences d'Eclipse, bien connue des développeurs Eclipse. Par exemple, si vous cliquez sur une ressource de type Java et que vous cliquez sur le menu contextuel, seules les propriétés relatives à l'édition de ce type de ressources seront affichées.
Autre nouveauté, l'accent mis sur le support du client riche (RCP) que j'évoquais plus haut, le support des dernières versions de Ant, et la présence d'un débuggeur Ant...
Bref une avalanche de nouveautés qu'il serait ici trop long de détailler, et qui mérite une montée de version des anciens projets sous Eclipse 3.0 ! Enfin, je terminerais cet inventaire, par la présence de nouveaux sous-projets Eclipse autour de cette version, et qu'il faudra particulièrement surveiller, notamment :

  • Le projet Web Tools : projet destiné à offrir une infrastructure J2EE commune aux projets Web sous Eclipse ce qui permet par exemple un déploiement final de son projet sur les principaux serveurs d'applications J2EE standard (seuls Apache Tomcat, JBoss et Geronimo sont pour l'instant supportés en standard)
  • Le projet Visual Editor Project : projet destiné à doter Eclipse de fonctionnalités RAD (Développement Rapide d'Applications) en se basant sur SWT

La saga Eclipse, ne fait que commencer !

Propos recueillis par Laetitia Maraninchi.

Recevez nos newsletters
Vous serez régulièrement informé(e) de toutes nos nouveautés. Inscription