Nouveautés d’Europa
La plate-forme Europa, nom de code d’Eclipse 3.3, représente une avancée importante dans la maturité de la plate-forme Eclipse. Elle est constituée d’une suite de sous-projets permettant d’organiser de manière ciblée et cohérente le développement Java. Après un bref rappel des principales innovations de la plate-forme, nous présenterons chacun des sous-projets qui la composent, dont un certain nombre nous serviront au développement de l’étude de cas faisant office de fil conducteur à l’ouvrage. Le projet Europa Le projet Europa a été proposé au public en juillet 2007. Disponible pour les principaux environnements d’exploitation, comme Windows Vista ou Linux, cette nouvelle mouture d’Eclipse est à la fois plus performante (elle fonctionne sous forme d’exécutable et non plus à l’aide d’une JVM) et riche de nouveautés adressant les problématiques de développement suivantes : • Développement d’applications Java, de plug-in Eclipse et d’applications client riche fondées sur le cœur du projet Eclipse initial, avec le JDT (Java Development Tools) et le PDE (Plug-In Development Environment). • Développement d’applications Web et J2EE, avec le sous-projet Web Tools (Web and J2EE Development). • Développement d’applications Web grâce à la création de rapports avec BIRT (Business Intelligence and Reporting Tools). • Développement d’applications C/C++, avec le projet CDT pour Eclipse C/C++ Development Tooling (que nous ne traitons pas dans cet ouvrage). • Développement d’applications centrées sur la gestion et l’accès aux données quelles qu’elles soient (bases de données, connecteurs, etc.), avec DTP (Data Tools Platform). • Développement d’applications centrées sur la modélisation, avec EMF (Eclipse Modelling Framework) et GEF (Graphical Editing Framework). JEES Livre Page 3 Jeudi, 29. novembre 2007 12:48 12 La plate-forme de développement Europa PARTIE I 4 • Profiling et test d’applications Java, avec TPTP (Test & Performance Tools Platform). • Génération d’IHM pour Eclipse de type RAD, basées sur une implémentation Swing/ JFC ou SWT avec le projet Eclipse Visual Editor (VE). • Fourniture d’une infrastructure de génération fondée sur EMF et GEF, permettant de créer un éditeur graphique avec le projet Eclipse Graphical Framework. Les fonctionnalités associées à ces différents sous-projets sont illustrées à la figure 1.1. Chaque sous-projet nécessite l’installation préalable des fonctionnalités associées. Par exemple, dans le cas du projet Web Tools, il est nécessaire d’installer préalablement les fonctionnalités GEF et EMF (voir en annexe les procédures d’installation).
Fonctionnalités Europa d’Eclipse
La nouvelle release d’Eclipse apporte clairement de nombreuses nouveautés, qui justifient à elles seules la migration des versions 3.1 et 3.2. Parmi les nombreuses fonctionnalités qui ont fait leur apparition dans la release 3.3, nous retiendrons celles qui nous semblent les plus utiles à la productivité des développeurs. Nous conseillons cependant aux lecteurs de les explorer toutes au fur et à mesure de leur immersion dans le produit. Explorateur de projets L’effort important apporté à l’interface graphique saute aux yeux des habitués d’Eclipse 3.2. Une nouvelle vue, l’explorateur de projets, permet de mieux organiser les projets en fonction de leur particularité. Par exemple, les projets Java apparaissent sous la forme d’une hiérarchie de répertoires source et de packages plutôt que comme de simples répertoires, tandis dans les projets de type Web apparaissent selon une arborescence respectant la spécification J2EE et maintenant JEE. La figure 1.2 illustre une vue de l’explorateurs de projets appliquée à la gestion de ressources JEE. Vue historique Eclipse 3.2 apporte de puissantes fonctionnalités d’historique, permettant de combiner les modifications locales avec celles présentes dans le référentiel projet. La figure 1.3 illustre cette possibilité. Il est possible de revenir à la révision d’un source et de comparer la version courante avec la version historisée. Figure 1.2 La vue explorateur de projets Figure 1.3 Vue historique (History) JEES Livre Page 5 Jeudi, 29. novembre 2007 12:48 12 La plate-forme de développement Europa PARTIE I 6 Working Sets Lorsque vous avez de nombreux projets dans un espace de travail, ou workspace, Eclipse, la vue Package Explorer devient vite surchargée. Il est désormais possible de définir ce qu’on appelle des Working Sets, ou jeux de documents, afin de restreindre les ressources affichées et de limiter ainsi le champ d’exécution de certaines opérations, comme la recherche. Dans un projet multicouche, comportant des centaines de classes, il est de la sorte possible de n’afficher à un instant t qu’un sous-ensemble de fichiers. Typiquement, lorsque vous travaillez sur un cas d’utilisation, vous pouvez vouloir n’afficher que sa DAO, ses services et son IHM. La figure 1.4 illustre un Working Set défini pour l’affichage de ressources de type EJB. Vue Filtres La vue Filtres permet de regrouper les erreurs par type (incidents Java, incidents relatifs à la configuration du projet, incidents de type PDE, etc.) et par gravité. La figure 1.5 illustre la configuration du filtre d’affichage des erreurs. La vue Cheat Sheet Puissante et conviviale, la vue Cheat Sheet permet de garder ouverte une fenêtre d’aide en ligne pendant que vous êtes en train de travailler avec un assistant Eclipse. La figure 1.6 illustre l’aide à la création d’une première application Java sous Eclipse. Import de projets avec copie Lors de l’import d’un projet existant, une case à cocher vous permet de demander à Eclipse de copier le répertoire du projet importé dans le répertoire du workspace. La case n’est pas cochée par défaut, car il n’est pas obligatoire de stocker les projets dans le répertoire du workspace. Liens vers des ressources fichier Il est possible d’utiliser un lien vers une ressource projet sans avoir à copier cette ressource dans son workspace, afin de ne pas surcharger ce dernier. L’intégration des flux RSS La section Dernières nouvelles de la fenêtre de bienvenue intègre des flux RSS (nécessitant une connexion Internet) permettant de profiter au mieux des informations les plus récentes en provenance de la fondation Eclipse. La figure 1.7 illustre une vue de la section Latest News. Nettoyage de code L’option Nettoyage (menus Source/Nettoyage) est une fonctionnalité puissante de productivité du code, qui permet de demander à Eclipse de nettoyer le code en appliquant des règles configurables via la boîte de dialogue illustrée à la figure 1.8