460 likes | 562 Views
VE, WTP et UML2.0. Sommaire. Visual Editor Présentation Objectifs Architecture VE GEF EMF Fonctionnalités offertes Comment fonctionne le VE?. Sommaire. Web Tools Protocol Présentation Ojectifs Project Management Committee Principes Domaine du projet. Sommaire.
E N D
Sommaire • Visual Editor • Présentation • Objectifs • Architecture VE • GEF • EMF • Fonctionnalités offertes • Comment fonctionne le VE?
Sommaire • Web Tools Protocol • Présentation • Ojectifs • Project Management Committee • Principes • Domaine du projet
Sommaire • Sous projets de WTP • Web Standard Tools • J2EE Standard Tools • WST et JST • Composants logiciels et technologies intervenant dans WTP
Sommaire • UML2 • Historique • Définition • Objectifs • Contenu
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
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
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
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
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’édition • décrit les instances, les relations, les limites et les configurations des propriétés
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
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
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
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.
Comment fonctionne le VE? JVM Eclipse.exe côté plugin JVM cible du VE côté runtime 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 Classe du plugin ouverte avec 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
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.
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."
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.
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.
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.
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
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.
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
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ée • augmenter le degré d’abstraction technique lors du développement d’une application
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
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
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
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
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.
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
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 .
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.
Composants logiciels et technologies intervenant dans WTP (1/3) • Eclipse • Utilise les Java Development Tools (JDT) inclus dans Eclipse pour compiler les classes Java qui vont faire partie de l’application. • 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.
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.
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.
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.
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.
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
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
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
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
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