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.
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.
“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).
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.
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 :
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...
“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 :
La saga Eclipse, ne fait que commencer !
Propos recueillis par Laetitia Maraninchi.