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 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
Visual Editor (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
VE: Objectifs Implémentation doutils extensibles pour Swing/JFC et SWT/RCP être utile pour la création de constructeurs GUI pour dautres langages comme C/C++ et lalternation 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): loutil le plus visible quutilise VE pour dessiner fournit une architecture solide pour la création déditeurs visuels de modèles arbitraires construction modulaire adaptée à lutilisation 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 dun 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) dune 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 doutils et dautres 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 daide utilisées par le VE pour permettre à des classes spécifiques davoir un comportement personnalisé pour chaque sous-système Ces classes sont stockées dans des decorator qui annotent les informations descriptives dune classe
VE: Fonctionnalités offertes (1/3) Développement dapplications 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 lobtention de lapparence 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 lextension de VE Un plugin représente un composant qui peut être installé dans lenvironnement Eclipse et qui offre de nouvelles fonctionnalités. sadapter pour supporter les composants et les comportements personnalisés sassurer que les mêmes techniques du VE peuvent être reprises par nimporte qui souhaitant utiliser des techniques similaires pour son propre scénario.
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
Web Tools Project (WTP)
WTP: Présentation (1/2) projet open source declipse.org, supervisé par le Project Management Committee (PMC) en plus des chefs de projet étend la plateforme Eclipse avec des outils de développement dapplications 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 daccès et dinterrogation des bases de données.
WTP: Objectifs permettre aux utilisateurs dEclipse le développement dapplications Web J2EE Le but, comme défini à 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 dune manière cohérente avec « Eclipse Foundation Architectural Roadmap ». Fournir lassistance 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 linfrastructure nécessaire pour léquipe de développement pour quelle soit efficace.
WTP: Principes (1/3) Parmi les principes les plus intéressants: Extension dEclipse: Le projet Eclipse a développé un standard dexcellence 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 dapplications Web/J2EE.
WTP: Principes (2/3) Développement agile: Notre vision est dincorporer à 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 dutilisateurs finaux. Pour cela on encourage le plus grand nombre dorganisations 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 lenvironnement runtime Java fourniture dune infrastructure doutillage
WTP: Domaine du projet (2/3) supporter loutillage qui permet aux développeurs de produire des applications fournissant un degré élevé dextensibilité et de réutilisation avec une efficacité de développement croissante forcer les séparations appropriées de larchitecture de lapplication concernée augmenter le degré dabstraction technique lors du développement dune 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 linfrastructure 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 lobjectif 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 dun point dextension 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, lexécution, le lancement et larrê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 dexécution de première classe.
J2EE Standard Tools (JST 1/2) développe à base doutils serveurs fournis par le WST pour offrir un support pour les serveurs dapplication comportant des servlets et des conteneurs EJB. Cadre principal du projet: fournir un plugin Eclipse basique pour le développement dapplications basées sur les standards de serveurs dapplication, et cela sous forme dune infrastructure doutillage générique pour dautres 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 dapplications J2EE à base de JCP (environnements serveurs accommodants) et supportant des cas dutilisations comme: développer une page JSP, enrichir lapplication "PetStore", exposer un bean Session comme un service Web.
WST et JST Bien que le cadre principal des deux projets inclut le développement dadaptateurs 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 o Utilise les Java Development Tools (JDT) inclus dans Eclipse pour compiler les classes Java qui vont faire partie de lapplication. o Utilise lIDE pour écrire et exécuter lapplication dessai. Cest 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 lapplication Web dynamique qui assemble et configure lapplication 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 lexplorateur de vue de la base de données.
Composants logiciels et technologies intervenant dans WTP (3/3) Serveur dapplication Exécute les applications web. Fournit un support pour les APIs des servlets 2.4 et des JSP 2.0, incluant le support pour lEL. 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 lapplication Web.
UML 2
Historique Idée développée par Kenn Hussey et dautres développeurs dIBM. Kenn est proposé comme leader du sous projet dUML2. Les partenaires dans cette initiative sont Borland, Unisys, Fujitsu, et Ericsson. Limplémentation courante est Presque terminée; elle est basée sur EMF Release Version pour Eclipse
Définition Une implémentation du méta-modèle UML2 sous la forme dune 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 limport/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 dimplé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 laffichage org.eclipse.uml2.edit.tests: tests unitaires pour limplé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 dun point de départ à partir duquel commence la personnalisation org.eclipse.uml2.tests: tests unitaires pour les classes dimplé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 dimport qui invoquent les convertisseurs