introduction à la plateforme eclipse rcp

53
Développement de clients riches : Plateforme Eclipse RCP Mickaël BARON - 2007 (Rév. Janvier 2009) mailto:[email protected] ou mailto:[email protected] Avant Propos … Chapitre 1 : Introduction Chapitre 1 : Introduction

Upload: mickael-baron

Post on 11-Jun-2015

5.536 views

Category:

Technology


3 download

DESCRIPTION

Ce support de cours débute une longue série liée au développement de clients riches avec la plateforme Eclipse 3.x

TRANSCRIPT

Page 1: Introduction à la plateforme Eclipse RCP

Développement de clients riches : Plateforme Eclipse RCP

Mickaël BARON - 2007 (Rév. Janvier 2009) mailto:[email protected] ou mailto:[email protected]

Avant Propos …

Chapitre 1 : IntroductionChapitre 1 : Introduction

Page 2: Introduction à la plateforme Eclipse RCP

2Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Creative Commons

Contrat Paternité

Partage des Conditions Initiales à l'Identique

2.0 France

http://creativecommons.org/licenses/by-sa/2.0/fr

Licence

Page 3: Introduction à la plateforme Eclipse RCP

3Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Le cours

� L’objectif de ce cours

� Initiation à la conception d’applications avec la plateforme Eclipse

� Architecture logicielle (création d’une application par modules)

� Intérêt spécifique à la partie présentation (SWT, JFace, RCP)

� Structuration rapide du cours

� Introduction à la plateforme Eclipse

� Boîte à outils SWT / JFace (Standard Widget Toolkit)

� Introduction au plugin Eclipse

� Introduction à la plateforme Eclipse RCP

Page 4: Introduction à la plateforme Eclipse RCP

4Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Déroulement du cours

� Pédagogie du cours

� Présentation des concepts

� Illustration avec de nombreux exemples

� Des bulles d’aide tout au long du cours

� Pré-requis

� Connaissance de Java

� Mise en place du cours

� Internet : www.developpez.com, www.eclipse.org

� Livres : Eclipse Building Commercial-Quality Plugin-ins – Eric Clayberg Dan Rubel – Addison Wesley et The Definitive Guide to SWT and JFace – Rob Warner - APress

Ceci est une alerte Ceci est une astuce

Page 5: Introduction à la plateforme Eclipse RCP

5Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Déroulement du cours

� Rappel pour le schéma UML (diagramme de classes)

VoitureElectrique

- disjoncteur:booléen

+ démarre()

Voiture

+ démarre()

Batterie

+ getEtat():int

Héritage

Association

Démarrable << Interface >>

+ démarre

Implémentation

A besoin de

Page 6: Introduction à la plateforme Eclipse RCP

6Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Organisation du cours …

� Chapitre 1 : Introduction à la plateforme Eclipse

� Chapitre 2 : Boîtes à outils (SWT, JFace)

� Chapitre 3 : Conception de plug-ins

� Chapitre 4 : Modélisation

� Chapitre 5 : Outils

Page 7: Introduction à la plateforme Eclipse RCP

Développement de clients riches : Plateforme Eclipse RCP

Mickaël BARON - 2007 (Rév. Janvier 2009) mailto:[email protected] ou mailto:[email protected]

Eclipse n’est pas qu’un IDE Java

Chapitre 1 : IntroductionChapitre 1 : Introduction

Page 8: Introduction à la plateforme Eclipse RCP

8Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse

� Eclipse est un projet développé initialement par IBM

� Projet Open-Source sous licence EPL

� Site officiel du projet : www.eclipse.org

� Eclipse c’est quoi ?

� IDE Java

� IDE Framework

� Tools Framework

� Application Framework

� Une communauté

Page 9: Introduction à la plateforme Eclipse RCP

9Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse

Private Joke Private Joke : Eclipse : Eclipse …… Soleil Soleil …… Sun ??Sun ??

Page 10: Introduction à la plateforme Eclipse RCP

10Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = IDE Java

� Dans la plupart des esprits, Eclipse est un environnement de

développement intégré (IDE)

� Caractéristiques de l’environnement Eclipse

� Editeur évolué et spécialisé (complétion, gabarits, …)

� Support du refactoring pour re-travailler le code source de manière à

améliorer la lisibilité et la maintenance

� Compilation incrémentale

� Tests unitaires

� Débuggeur de code Java

� Support du développement par équipe (CVS par défaut, SVN, …)

Page 11: Introduction à la plateforme Eclipse RCP

11Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = IDE Java

Page 12: Introduction à la plateforme Eclipse RCP

12Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = IDE Framework

� Eclipse + JDT (Java Development Tooling) = Java IDE

� Pas nécessairement limité au langage Java

� Eclipse + CDT (C/C++ Development Tooling) = C/C++ IDE

� Eclipse + AspectJ = Programmation orientée aspect IDE

� Eclipse + PDT (PHP Development Tooling) = PHP IDE

� Eclipse + Cobol = Cobol IDE

� Eclipse + B = Méthode B IDE

� Eclipse + JDT + CDT + PHP = (Java + C/C++ + Cobol) IDE

Page 13: Introduction à la plateforme Eclipse RCP

13Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = Tools Framework

� Toute l’architecture est basée sur la notion de plug-ins. Les fonctionnalités sont conçues à partir de plug-ins

� Architecture modulaire et incrémentale

� Minimiser l’occupation mémoire et optimiser les performances

� Mécanisme de chargement souple et incrémental (architecture OSGi)

� Mise à jour transparente des plug-ins

� Des outils étend la plateforme Eclipse via les plug-ins

� Web Tools project (WTP) : éditeur xml, javascript, web services, …

� Eclipse Modelling Framework (EMF) : méta-modélisation

� Graphical Editing Framework (GEF) : pour dessiner des graphes

� Test and Performance Tooling Project (TPTP) : tests de charge

� Et pleins d’autres encore …

Page 14: Introduction à la plateforme Eclipse RCP

14Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = Application Framework

� En supprimant les plug-ins liés à la notion d’environnement

de développement, Eclipse fournit un framework pour le

développement d’applications

� Caractéristiques du framework

� Support multi-plateformes

� Cadre de développement stricte et évolutif

� Composants graphiques riches via SWT et JFace

� Intégration d’éléments natifs (OLE, Drag and Drop, …)

� Une plateforme pour le développement de clients riches

Page 15: Introduction à la plateforme Eclipse RCP

15Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = Application Framework [clients riches]

Application de gestion bancaire basée sur le framework Eclipse RCP

Page 16: Introduction à la plateforme Eclipse RCP

16Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = Application Framework [clients riches]

IBM et WebSphere utilise la

plateforme Eclipse

Page 17: Introduction à la plateforme Eclipse RCP

17Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = Application Framework [clients riches]

Des logiciels Open-Source exploités

massivement

Page 18: Introduction à la plateforme Eclipse RCP

18Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = une communauté

� Tous les projets de la fondation Eclipse sont disponibles en téléchargement libre

� De très nombreux plug-ins sont fournis par des entreprises, des organisations et par des particuliers

� De nombreux sites communautaires

� Developpez.com : www.developpez.com

� EclipseTotale : www.eclipsetotale.com

� EclipseZone : eclipsezone.com

� EclipseWiki : wiki.eclipse.org

� Eclipse Plug-in Central : eclipseplugincentral.com

� Eclipse Evangelism : www.eclipse.org/evangelism

� Planet Eclipse : www.planeteclipse.org

Page 19: Introduction à la plateforme Eclipse RCP

19Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = une communauté

� Des blogs de commiters, de particuliers ou de communautés

� Lars Vogel : www.vogella.de/blog

� Ankur Sharma : eclipsepde.wordpress.com

� Chris Aniszczyk : mea-bloga.blogspot.com, eclipsesource.com/blogs/author/zx

� Wayne Beaton : dev.eclipse.org/blogs/wayne

� Benjamin Cabé : blog.benjamin-cabe.com

� Kim Horne : eclipse.pookzilla.net

� Steve Northover : inside-swt.blogspot.com

� Tom Schindl : tomsondev.bestsolution.at

� Mickaël Baron ;-) : keulkeul.blogspot.com, mbaron.developpez.com

� Patrick Paulin : www.modumind.com

Page 20: Introduction à la plateforme Eclipse RCP

20Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Eclipse = une bibliothèque

� The Definitive Guide to SWT and JFace

� Auteur : Rob Warner, Robert Harris � Éditeur : Apress� Edition : 2004 - 864 pages - ISBN : 1-59059-325-1

� Eclipse – Building Commercial-Quality Plug-ins

� Auteur : Eric Clayberg, Dan Rubel � Éditeur : Addison Wesley� Edition : 2004 - 864 pages - ISBN : 0-321-22847-2

� Eclipse – Rich Client Platform

� Auteur : Jeff Mc Affer, Jean-Michel Lemieux� Éditeur : Addison Wesley� Edition : 2005 – 552 pages - ISBN : 0-321-33461-2

Page 21: Introduction à la plateforme Eclipse RCP

Développement de clients riches : Plateforme Eclipse RCP

Mickaël BARON - 2007 (Rév. Janvier 2009) mailto:[email protected] ou mailto:[email protected]

Vers le « Bureau Métier » avec Eclipse RCP

Chapitre 1 : IntroductionChapitre 1 : Introduction

Page 22: Introduction à la plateforme Eclipse RCP

22Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comEclipse RCP est un client lourd riche ?

� Depuis peu un nouveau type d’application fait son apparition

� Clients « riches »

� Les clients riches représentent une fusion des clients« lourds » et « légers »

� Interfaces utilisateurs riches

� Déploiement et maintenance

� Ce sont des applications distantes avec les avantages desapplications locales

� Technologie permettant de développer la couche présentationd’une application

� Informations supplémentaires concernant les technologies dumarché : keulkeul.blogspot.com/2007/12/clients-riches-les-technologies-du.html

Page 23: Introduction à la plateforme Eclipse RCP

23Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comEclipse RCP est un client lourd riche ?

Richesse de l’IHM*

Accessibilité

de l’IHM* +

Client Lourd

Client Léger

Terminaux

IHM* = Interfaces Homme-Machine

Page 24: Introduction à la plateforme Eclipse RCP

24Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comEclipse RCP est un client lourd riche ?

� Pas de standardisation du terme client riche

� Pour simplifier, on peut voir les choses de la façon suivante

� Clients lourds riches ?

� Un client lourd offrant des fonctionnalités de déploiement et de mise à

jour facilité

� Clients légers riches ?

� Un client léger offrant des possibilités d’interactions évoluées commecelles proposées par le client lourd

� C’est quoi alors le Web 2.0 ?

� Généralement cela s’adresse à la « bulle Internet » donc pour le clientléger riche

� Un réseau social où les utilisateurs partagent des photos, du texte, dela vidéo

Page 25: Introduction à la plateforme Eclipse RCP

25Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comEclipse RCP est un client lourd riche ?

� Une application Eclipse RCP est déployable au travers de la technologie Java Web Start (JWS)

� Installation par un simple lien hypertexte

� Installation implicite de l’application et de ses bibliothèques utilisées

� Mise à jour à chaque chargement de l’application et des bibliothèques

� Le framework RCP fournit un système interne de mise à jour appelé « UpdateManager »

� Ajout de nouvelles fonctionnalités de manière dynamique

� Composants graphiques évolués (c’est du client lourd)

� Intégration de conteneurs hétérogènes

� Navigateur WEB

� Intégration OLE

� Intégration d’applications natives

Page 26: Introduction à la plateforme Eclipse RCP

26Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Vers le « Bureau métier » avec Eclipse RCP

� Contexte : la majorité des Systèmes d’Information (SI) ontété réalisée de manière atomique où chaque sous-systèmeest adossé à des technologies hétérogènes

� Plusieurs types de client

� Client léger, client lourd, terminaux

� Plusieurs langages de développement

� Java, .NET, Delphi, Cobol, …

� Plusieurs systèmes d’exploitation� Windows, Linux, AS/400, MAC OS, Unix, …

� Plusieurs bases de données� Oracle, SQLServer, MySQL, DB2

� Plusieurs moniteurs transactionnels

� Tuxedo, serveurs d’application

Page 27: Introduction à la plateforme Eclipse RCP

27Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Vers le « Bureau métier » avec Eclipse RCP

� Un Système d’Information est généralement disponible via un

ensemble d’applications fournissant chacun un ensemble de

services

� Le Système d’Information doit être vu en terme de services et

non plus en terme d’applications où chaque domaine métier

est responsable des services qu’il propose

� Le Système d’Information s’oriente donc vers une Architecture

Orientée Service (SOA)

� L’utilisateur a besoin d’utiliser conjointement tous ces services

� Le « Bureau Métier » articulé autour des besoins métiers doit

ainsi pouvoir fournir ces services de manière intégrée

Page 28: Introduction à la plateforme Eclipse RCP

28Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Intégrer des services dans le « Bureau métier »

� Eclipse RCP peut intégrer des applications WEB avec des

communications bidirectionnelles (WEB / Eclipse RCP)

� Eclipse RCP peut embarquer un serveur d’application Java EE

� Eclipse peut intégrer des applications existantes avec une

intégration OLE (logiciels de bureautique)

� Eclipse peut intégrer des applications Client / Serveur

développées sous des plateformes différentes (.NET, Delphi)

� Eclipse peut intégrer des applications d’anciens systèmes

terminaux en fournissant un conteneur adapté

Page 29: Introduction à la plateforme Eclipse RCP

29Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Pourquoi pas un client léger riche « Web 2.0 »

� Le développement de la couche présentation est beaucoup

plus complexe et généralement moins ergonomique

� Pas de multi-fenêtrage

� Difficulté de construire des dialogues complexes

� Ne peut intégrer des applications existantes

� Ne peut intégrer des applications bureautiques

� Ne peut intégrer des applications WEB différentes

� Ne fonctionne pas s’il n’y a pas de réseau

� Ne peut gérer efficacement l’impression

Page 30: Introduction à la plateforme Eclipse RCP

30Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Modularité et extensibilité via la notion de plugins

� La plateforme Eclipse repose sur la technologie OSGi

� Programmation orientée composant (plugin = composant)

� Architecture orientée service (composant expose des services)

� Gestion des plugins

� Gestion des différents chargeurs de classes

� Gestion des versions des dépendances

� Cycle de vie des plugins

� Cycle de vie du composant lors de son entrée dans le conteneur OSGi

� Cycle de vie du composant lors de son utilisation

� Services exposés par les plugins

� Gestion des services définis dans des interfaces Java

Page 31: Introduction à la plateforme Eclipse RCP

31Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Modularité et extensibilité via la notion de plugins

� Dans l’architecture OSGi le concept de composant est mise

en œuvre par l’intermédiaire des Bundles

� Un bundle correspond à un composant ou à un plugin

� Un bundle est décrit dans un fichier Jar

� Les informations de déploiement sont indiquées dans le

fichier MANIFEST.MF (informations spécifiques à OSGi)

� Interactions entre Bundles

� Mise à disposition de packages (préciser dans MANIFEST.MF quels

sont les packages à exporter)

� Importation de packages (quels sont les packages issus d’autres

bundles à utiliser)

Page 32: Introduction à la plateforme Eclipse RCP

32Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité

� La plateforme Eclipse RCP fournit deux boîtes à outils

� SWT et JFace

� Des composants additionnels sont également disponibles

� Nebula (www.eclipse.org/nebula)

� Comme Eclipse RCP a été développée en Java la boîte à

outils Swing fournie avec la JDK est également disponible

� Il est par conséquent possible de mixer des composants

SWT et des composants Swing ou tout autre bibliothèques

« tiers » basées sur Swing

Page 33: Introduction à la plateforme Eclipse RCP

33Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : SWT

� SWT : Standard Widget Toolkit

� Fournit des composants de base (bouton, label, …)

� SWT procure des composants graphiques natifs

� Combinaison de classes Java et JNI spécifiques à chaque plateforme

� JNI utilisé pour invoquer le système d’exploitation

� De part son architecture, il est relativement facile d’intégrerdes applications natives avec SWT (exemple : Browser)

Système graphique : X11, Windows, etc.

SWT.dll, SWT.so, …

SWT

Application Java

Machine virtuelle

Tracé graphique

Page 34: Introduction à la plateforme Eclipse RCP

34Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : SWT

Shell

CompositeCoolBar

ToolBar

Combo

Spinner

Canvas

Browser

Page 35: Introduction à la plateforme Eclipse RCP

35Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : SWT

Tree

Table

StyledText

CTabFolder

ExpandBar

Group ScrolledComposite

TabFolder

Page 36: Introduction à la plateforme Eclipse RCP

36Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : JFace

� JFace s’appuie sur la bibliothèque SWT pour fournir une API

de développement plus évoluée et plus structurée

� JFace a pour fonction de simplifier les développements en

SWT, sans pour autant masquer totalement SWT

� Combinée à SWT, JFace est utilisée pour le développement

d’applications pour la plateforme Eclipse

La boîte à outils connectée aux composants natifs

L’extension et l’encapsulation de SWT

La plateforme Eclipse s’appuie sur JFace et SWT

Page 37: Introduction à la plateforme Eclipse RCP

37Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : JFace

TableViewer

TreeViewer

TableTreeViewer (TreeViewer avec

colonnes)

Page 38: Introduction à la plateforme Eclipse RCP

38Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : JFace

ListViewer

ComboViewer

CheckboxTreeViewer

CheckboxTableViewer

Page 39: Introduction à la plateforme Eclipse RCP

39Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comRiches en interactivité : SWT + Swing

� L’API SWT permet d’intégrer des composants basés sur la

boîte à outils Swing

� L’avantage est de pouvoir intégrer des

composants qui n’existe pas dans la boîte à outils SWT

� L’inconvénient est de se trouver avec des composants

hétérogènes dans la manière de les utiliser

� Abonnement à des écouteurs différents

� Gestion du « dessin » différent

� Agents de placement différents

� Bref beaucoup de différences

Evitez si possible de mixer des composants

Swing avec SWT

Page 40: Introduction à la plateforme Eclipse RCP

40Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comRiches en interactivité : SWT + Swing

JGraph

JFreeCharts

Page 41: Introduction à la plateforme Eclipse RCP

41Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Riches en interactivité : Web

� Le composant Browser de SWT fournit un conteneur permet-tant d’intégrer des applications WEB dans une applicationEclipse RCP

� Possibilité de choisir le moteur de rendu

� Internet Explorer

� Mozilla

� Ce conteneur WEB est une porte ouverture à l’intégrationd’applications déployées via un navigateur

� Applications Flash

� Applet, Active X

� Applications de type XUL dans le cas du moteur Mozilla

� Via la méthode execute(…), il est possible d’injecter duJavascript dans les pages WEB

Page 42: Introduction à la plateforme Eclipse RCP

42Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comRiches en interactivité : espace de travail

� Le framework Eclipse RCP fournit une API pour l’organisation

de l’espace de travail de l’utilisateur : Eclipse Workbench

� Possibilité d’organiser l’agencement du contenu par

� Métier

� Profile utilisateur

� Utilisateur

� Différentes notions liées à l’organisation de l’espace de travail

� View (conteneur d’IHM)

� Editor (conteneur d’IHM unique)

� Perspective (agencement des Views et de l’Editor)

� Docking (gestion de l’interaction des Views et de l’Editor)

Page 43: Introduction à la plateforme Eclipse RCP

43Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comRiches en interactivité : espace de travail

Deux Views placées en onglet

Trois Views placées en onglet

L’Editor

Une View

Une View

Perspective Java : agencement des

Views et de l’Editor prédéfinie

Page 44: Introduction à la plateforme Eclipse RCP

44Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comRiches en interactivité : espace de travail

Perspective Debug : des Views

différentes et un Editor identique

Deux Views placées en onglet

L’Editor

Une View

Deux Views placées en onglet

Page 45: Introduction à la plateforme Eclipse RCP

Développement de clients riches : Plateforme Eclipse RCP

Mickaël BARON - 2007 (Rév. Janvier 2009) mailto:[email protected] ou mailto:[email protected]

Outils pour développer des applications Eclipse RCP

Chapitre 1 : IntroductionChapitre 1 : Introduction

Page 46: Introduction à la plateforme Eclipse RCP

46Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comEnvironnements de développement

� Différentes distributions disponibles en fonction du type de

développement souhaité (WEB, Desktop, Mobile)

� Chaque distribution fournie un ensemble pré-installé de

plugins

� Distributions officielles de la fondation Eclipse

� Eclipse : www.eclipse.org

� Distributions prêtes à l’emploi

� EasyEclipse : www.easyeclipse.org

� Des solutions payantes qui fournissent des outils à fortes

valeurs ajoutées

� MyEclipse : www.myeclipseide.com

Page 47: Introduction à la plateforme Eclipse RCP

47Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Outils de développement d’interfaces homme-machine

� Projet VEP : Visual Editor

� Adresse : www.eclipse.org/vep

� Outils de construction d’interfaces graphiques de type WYSIWYG

� Génération automatique du code à partir du modèle de l’IHM en construction

� Boîte à outils cible : SWT/JFace et AWT/Swing

� Alternatives payantes

� SWT Designer : www.swt-designer.com

� Jigloo : cloudgarden.com/jigloo

� Test : www.instantiations.com/PDFs/published/eclipse_mag_de.pdf

Page 48: Introduction à la plateforme Eclipse RCP

48Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comOutils de conception et de modélisation

� Projet EMF : Eclipse Modeling Framework

� Adresse : www.eclipse.org/emf

� Framework permettant la meta-modélisation et la génération de code

� Projet GEF : Graphical Editing Framework

� Adresse : www.eclipse.org/gef

� Framework permettant la construction d’éditeurs graphiques

� Possibilité de combiner EMF et GEF dans le but de générer lemodèle « Business » à partir du modèle de la vue et inversement

� Outils de modélisation UML (quelques outils gratuits)

� Omondo

� …

Page 49: Introduction à la plateforme Eclipse RCP

49Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Outils de gestion de rapports

� Projet BIRT : Business Intelligence and Reporting Tools

� Adresse : www.eclipse.org/birt

� Projet permettant la création et la visualisation de rapports

� Outils de constructions de rapport graphique (texte, image,tableau, liste, graphique, …)

� La liaison des données est réalisée de manière graphique est l’originie peut être

� Statique

� Jeux de données extraits d’une base de données

� Utilisation de formules prédéfinies

� Le rendu du rapport peut être réalisé soit d’une page HTML soit dans un fichier PDF

Page 50: Introduction à la plateforme Eclipse RCP

50Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Outils de tests

� Projet TPTP : Test & Performance Tools Platform

� Adresse : www.eclipse.org/tptp

� Tracing and Profiling Tools Project� Ensemble d’outils pour analyser une application Java

� Exécution de l’application en mode ‘Profiling’ pour collecter des informations sur l’occupation mémoire et les temps d’exécution

� Test Tools Project� Tests unitaires

� Tests automatisés pour les IHM

� Monitoring Tools Project� Outil générique de supervision sur différentes sources

� OS, serveurs d’applications JBoss et JOnAS, base de données MySQL

� Intégration avec Birt pour la génération des rapports

Page 51: Introduction à la plateforme Eclipse RCP

51Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.comOutils de gestion de base de données

� Projet DTP : Data Tools Platform

� Adresse : www.eclipse.org/datatools

� Ensemble d’outillage pour la manipulation et la visualisation

du contenu d’une base de donnée

� Possibilité de se connecter à tous types de base de données

relationnelle (JDBC)

� Possibilité de lancer des requêtes SQL et de visualiser le

résultat

� Visualisation du contenu complet d’une table avec possibilité

d’interaction (modification)

Page 52: Introduction à la plateforme Eclipse RCP

52Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Outils pour le développement WEB

� Projet WTP : Web Tools Platform

� Adresse : www.eclipse.org/webtools

� Ensemble d’outillage pour le développement à base de

technologies client/server

� Editeurs graphiques relatifs à de nombreux langages

� Wizard et squelettes d’applications

� Outils et APIs pour le support, déploiement et le test d’application

� EJB : outils pour le développement d’EJB

� Web Services Tools : outils pour le développement et

l’interaction avec des Web Services

Page 53: Introduction à la plateforme Eclipse RCP

53Plateforme Eclipse - M. Baron - Page

keul

keul

.blo

gspo

t.com

Outils de gestion des tâches des développeurs

� Différents outils pour la gestion de l’intégration continue

� Projet Mylyn : www.eclipse.org/mylyn

� Gestion des tâches utilisateurs avec possibilité d’interaction avec des gestionnaires de bugs (Bugzilla, Trac, JIRA)

� Outils de gestion de source : CVS et SVN

� Un client CVS est installé par défaut dans Eclipse

� Eclipse Subversive (SVN) est en incubation et est basé sur leclient de Polarion (www.polarion.org)

� Outils pour l’audit de code

� Metrics : statistiques sur le code (metrics.sourceforge.net)

� CheckStyle : propreté du code (checkstyle.sourceforge.net)

� Findbugs : analyse sémantique du code (findbugs.sourceforge.net)

� PMD : analyse sémantique du code (pmd.sourceforge.net)