46
VE, WTP et UML2.0

VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Embed Size (px)

Citation preview

Page 1: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

VE, WTP et UML2.0

Page 2: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

SommaireVisual Editor

PrésentationObjectifsArchitecture VE

GEF EMF

Fonctionnalités offertesComment fonctionne le VE?

Page 3: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

SommaireWeb Tools Protocol

PrésentationOjectifsProject Management CommitteePrincipes Domaine du projet

Page 4: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Sommaire

Sous projets de WTP Web Standard Tools J2EE Standard Tools WST et JST

Composants logiciels et technologies intervenant dans WTP

Page 5: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Sommaire

UML2HistoriqueDéfinitionObjectifsContenu

Page 6: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Visual Editor (VE)

Page 7: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

VE: Présentation rapide Plateforme de développement ouverte fournissant

des frameworks pour la création de constructeurs GUI qui est:

basée sur une contribution de code par IBM Plus ou moins identique au WebSphere Studio

Application Developer 5.x Réalisation lancée en Novembre 2003 Libération du support initial pour AWT/Swing

avec la toute première version du Visual Editor 0.5

Page 8: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

VE: Objectifs

Implémentation d’outils extensibles pour Swing/JFC et SWT/RCP

être utile pour la création de constructeurs GUI pour d’autres langages comme C/C++ et l’alternation des environnements, incluant ceux qui ne sont pas supportés par Java

faciliter le développement de plugins permettant la réalisation d'interfaces graphiques

Page 9: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Architecture VE (1) GEF (Graphical Editing Framework):l’outil le plus visible qu’utilise VE pour

dessiner fournit une architecture solide pour la création

d’éditeurs visuels de modèles arbitraires construction modulaire adaptée à l’utilisation

des design pattern et découplant les composants qui aboutissent à un éditeur de travail complet

se comporte comme un observer pattern en cas de changement de l’état d’un objet

Page 10: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

GEF Composé de deux parties:

Draw2D: package de dessin et de rendu léger qui aide à dessiner des formes et des diagrammes

Plugin GEF: ajoute des outils de sélection et de création, un outil palette et un framework de contrôle pour le mapping entre le modèle de données et les vues.

utilise Eclipse Modeling Framework (EMF) d’une manière transparente pour mapper entre un modèle, une classe Java et la représentation graphique

Page 11: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Architecture VE (2) EMF (Eclipse Modelling Framework):

framework Java facilitant la génération de code pour la construction d’outils et d’autres applications basées sur un modèle structuré

fournit un adaptateur libre qui se rend compte des changements des modèles

Un modèle EMF est le cœur de VE:décrit une classe en cours d’éditiondécrit les instances, les relations, les limites et

les configurations des propriétés

Page 12: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

EMF

définit un nombre de classes d’aide utilisées par le VE pour permettre à des classes spécifiques d’avoir un comportement personnalisé pour chaque sous-système

Ces classes sont stockées dans des decorator qui annotent les informations descriptives d’une classe

Page 13: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

VE: Fonctionnalités offertes (1/3) Développement d’applications AWT/Swing

Release 1.1 est un constructeur complet de GUI AWT/Swing

génère un code de haute qualité sans artéfacts spéciaux qui rendent les modifications difficiles

Possède des capacités puissantes de parsing qui permettent un round-tripping complet du code

Page 14: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

VE: Fonctionnalités offertes (2/3)Facilite l’obtention de l’apparence désirée à

cause de sa nature WYSIWYG

VE met à notre disposition:

Editeur graphique développé et facile à manipuler

Gestion assistée des événements

Page 15: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

VE: Fonctionnalités offertes (3/3) Réalisation de plugins utilisateurs par l’extension

de VE Un plugin représente un composant qui peut être

installé dans l’environnement Eclipse et qui offre de nouvelles fonctionnalités.

s’adapter pour supporter les composants et les

comportements personnalisés

s’assurer que les mêmes techniques du VE peuvent être reprises par n’importe qui souhaitant utiliser des techniques similaires pour son propre scénario.

Page 16: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Comment fonctionne le VE?

Classe du plugin ouverte avec VE

JVM Eclipse.exe côté plugin

Workbench Eclipse contenant les plugins

Le plugin développé fait appel au fichier jar côté plugin

La VM cible inclut le fichier jar côté runtime se basant sur le Java Build Path du projet

JVM cible du VE côté runtime

Page 17: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Web Tools Project (WTP)

Page 18: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Présentation (1/2)

projet “open source” d’eclipse.org, supervisé par le Project Management Committee (PMC) en plus des chefs de projet

étend la plateforme Eclipse avec des outils de développement d’applications web J2EE

Page 19: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Présentation (2/2)

inclut les outils suivants: éditeurs HTML, Javascript, JSP, SQL, XML, WSDL; éditeurs graphiques; projets J2EE, modèles et navigateurs J2EE; un assistant et explorateur de Web service ainsi que des modèles et des outils d’accès et d’interrogation des bases de données.

Page 20: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Objectifs

permettre aux utilisateurs d’Eclipse le développement d’applications Web J2EE

Le but, comme défini à www.eclipse.org/webtools, est : "... to build useful tools and a generic, extensible, standards-based tool platform upon which software providers can create specialized, differentiated offerings for producing Web-enabled applications."

Page 21: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Project Management Committee (PMC 1/2) Les rôles les plus importants:

Fournir le leadership et la vision pour guider le projet d’une manière cohérente avec « Eclipse Foundation Architectural Roadmap ».

Fournir l’assistance et le support aux développeurs et les chercheurs travaillant sur le projet en éliminant les obstacles et résolvant les problèmes et les conflits.

Page 22: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Project Management Committee (PMC 2/2)

Assurer la production des plans du projet.

Travailler avec Eclipse Management Organization (EMO) pour établir le processus de développement et l’infrastructure nécessaire pour l’équipe de développement pour qu’elle soit efficace.

Page 23: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Principes (1/3)

Parmi les principes les plus intéressants:

Extension d’Eclipse: Le projet Eclipse a développé un standard d’excellence technique, une innovation fonctionnelle et une extensibilité complète dans le domaine Java IDE. On vise à appliquer ces mêmes standards au domaine des outillages d’applications Web/J2EE.

Page 24: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Principes (2/3)Développement agile: Notre vision est

d’incorporer à notre processus des planifications sur les innovations qui surviennent lorsque le projet est en cours de réalisation et les feedbacks recueillis des utilisateurs.

processus de planification progression incrémentale les dates de livraison sont fixées planning flexible à long terme

Page 25: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Principes (3/3)

Inclusion & diversité: On vise à assimiler les meilleures idées provenant du plus grand nombre de participants représentant les besoins de la plus large gamme d’utilisateurs finaux. Pour cela on encourage le plus grand nombre d’organisations de divers domaines pour participer dans ce projet.

Page 26: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Domaine du projet (1/3)

infrastructure nécessaire aux outils utilisés pour le développement des applications standard basées sur le Web et l’environnement runtime Java

fourniture d’une infrastructure d’outillage

Page 27: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Domaine du projet (2/3) supporter l’outillage qui permet aux

développeurs de produire des applications fournissant un degré élevé d’extensibilité et de réutilisation avec une efficacité de développement croissante forcer les séparations appropriées de

l’architecture de l’application concernéeaugmenter le degré d’abstraction technique

lors du développement d’une application

Page 28: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WTP: Domaine du projet (3/3)permettre la répétitivité dans les processus de

développement

->fondation extensible supportant les standards et les technologies Web et Java les plus utilisées

produit des exigences fonctionnelles plus appropriées qui sont mieux satisfaites à partir du projet Eclipse ou autres fondations des sous projets Eclipse

Page 29: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Sous projets de WTP

WTP possède deux sous projets qui vont se concentrer sur l’infrastructure des outils utilisés pour le développement des applications pour les standards basés sur les environnements Web et Java runtime:

Web Standard Tools

J2EE Standard Tools

Page 30: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Web Standard Tools (WST 1/3) Fournit:

une infrastructure commune dont l’objectif est de développer des applications web trois tiers

un serveur qui permet la publication des ressources créées dans Eclipse et leur exécution sur le serveur

des outils qui simplifient le développement pour les APIs J2EE, incluant les EJB, Servlets, JSP, JDBC, Web Services, et beaucoup plus

Page 31: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Web Standard Tools (WST 2/3) définit:

une extension pour les serveurs web développée à base d’un point d’extension de serveurs génériques, et inclura des adaptateurs exemplaires pour des services web open source et commercialisables

un serveur moniteur TCP/IP pour déboguer le trafique HTTP et spécialement les messages SOAP générés par les services web

Page 32: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Web Standard Tools (WST 3/3)

-> WTP aboutira à un workbench spécialisé supportant les actions comme la publication, l’exécution, le lancement et l’arrêt du code des applications web à travers les environnements et inclura des serveurs cibles et des outils qui étendent la plateforme Eclipse avec des serveurs comme environnement d’exécution de première classe.

Page 33: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

J2EE Standard Tools (JST 1/2) développe à base d’outils serveurs fournis

par le WST pour offrir un support pour les serveurs d’application comportant des servlets et des conteneurs EJB.

Cadre principal du projet: fournir un plugin Eclipse basique pour le

développement d’applications basées sur les standards de serveurs d’application, et cela sous forme d’une infrastructure d’outillage générique pour d’autres produits basés sur le développent Eclipse

Page 34: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

J2EE Standard Tools (JST 2/2) inclure des adaptateurs exemplaires pour les

serveurs J2EE

-> Le cadre est ainsi un workbench fournissant un framework de développement, déploiement, test et déboguage d’applications J2EE à base de JCP (environnements serveurs accommodants) et supportant des cas d’utilisations comme: développer une page JSP, enrichir l’application "PetStore", exposer un bean Session comme un service Web .

Page 35: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

WST et JST Bien que le cadre principal des deux projets

inclut le développement d’adaptateurs exemplaires pour des serveurs open source et commercialisables, ceux-ci ne sont pas nécessairement conçus comme des adaptateurs définitifs. Ils sont plutôt conçus pour servir deux finalités: permettre aux utilisateurs la manipulation immédiate

de ces serveurs sans exploitation maximale de leurs caractéristiques.

servir comme des exemples pour les développeurs commerciaux et open source qui veulent intégrer des serveurs à Eclipse.

Page 36: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Composants logiciels et technologies intervenant dans WTP (1/3) Eclipse

o Utilise les Java Development Tools (JDT) inclus dans Eclipse pour compiler les classes Java qui vont faire partie de l’application.

o Utilise l’IDE pour écrire et exécuter l’application d’essai. C’est la fondation pour le développement et la construction des applications Java.

Page 37: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Composants logiciels et technologies intervenant dans WTP (2/3) WTP

Utilise l’éditeur pour créer les fichiers JSP. Utilise la vue des serveurs pour démarrer et

arrêter le serveur utilisé. Utilise la vue J2EE pour créer l’application Web

dynamique qui assemble et configure l’application Web J2EE, incluant la structure standard et le descripteur de déploiement commun à toutes les applications web J2EE.

Crée une connexion à la base de données, si elle existe, à travers l’explorateur de vue de la base de données.

Page 38: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Composants logiciels et technologies intervenant dans WTP (3/3) Serveur d’application

Exécute les applications web.

Fournit un support pour les APIs des servlets 2.4

et des JSP 2.0, incluant le support pour l’EL.

Fournit un support pour la définition de la base de données comme source de données dans le descripteur de déploiement de l’application Web.

Page 39: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

UML 2

Page 40: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Historique

Idée développée par Kenn Hussey et d’autres développeurs d’IBM. Kenn est proposé comme leader du sous projet d’UML2.

Les partenaires dans cette initiative sont Borland, Unisys, Fujitsu, et Ericsson.

L’implémentation courante est Presque terminée; elle est basée sur EMF Release Version 1.1.1 pour Eclipse 2.1.1.

Page 41: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Définition Une implémentation du méta-modèle

UML2 sous la forme d’une API. une couche sur laquelle peuvent

s'appuyer les développements d'outils de modélisation pour Eclipse.

Une "sur-couche" qui constitue un éditeur et qui permet de réaliser des modèles graphiques UML2.

Page 42: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Objectifs (1/2) Fournir:

une implémentation du méta-modèle UML2.0 utilisable pour le développement d'éditeur UML2

un schéma XMI commun pour faciliter l’import/export des modèles sémantiques

Page 43: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Objectifs (2/2)

des cas de test comme moyens de validation de spécification

règles de validation comme moyens de définition et de renforcement des niveaux de conformité et de complétude sous la forme de contraintes OCL

Page 44: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Contenu (1/3) Sept plug-ins sont inclus:

org.eclipse.uml2: interfaces Java et implémentation de classes pour toutes les classes du modèle, en plus d’implémentation de classes de package (méta data)

org.eclipse.uml2.edit: implémentation de classes qui adaptent le modèle des classes pour l’édition et l’affichage

org.eclipse.uml2.edit.tests: tests unitaires pour l’implémentation des classes d’édition

Page 45: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Contenu (2/3)

org.eclipse.uml2.editor: un éditeur proprement structuré conformément au style recommandé pour les éditeurs de modèles EMF d’ Eclipse et sert d’un point de départ à partir duquel commence la personnalisation

org.eclipse.uml2.tests: tests unitaires pour les classes d’implémentation des modèles

Page 46: VE, WTP et UML2.0. Sommaire Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?

Contenu (3/3)

com.ibm.uml2.example: un exemple montrant comment un modèle EMF peut être converti à partir/en un modèle UML2 (auquel un profil Ecore a été appliqué)

com.ibm.uml2.example.ui: actions personnalisées et assistants d’import qui invoquent les convertisseurs