Première expérience d’utilisation des Web Services dans SmartTools Didier Parigot Projet OASIS INRIA Sophia www-sop.inria.fr/oasis/SmartTools Journée InTech ’Sophia : les Services Web Presentation a ILOG
Première expérience d’utilisation des Web Services dans SmartTools Un générateur d’atelier de développement basé sur les technologies Objets et XML Le futur sera modèle : MDA (OMG) Presentation a ILOG
Plate-forme ouverte : SmartTools .Net C# Client Web Services Atelier de développement SmartTools manipulation de programmes Navigateur Web ? AGL Composants
Plan Historique de notre démarche connexion à .Net Présentation rapide de l’outil SmartTools Utilisation des technologies du W3C Utilisation des Web Services pour SmartTools connexion entre SmartTools et VisualStudio.Net Perpectives d'évolution MDA (Model-Driven Architecture) de l’OMG
Introduction: Web Services Application répartie, Architecture par composant Application, Plate-forme, Composant XML: Internet et Intranet SOAP = HTTP + XML la «Pile» des Web Services HTTP protocole XML structure des données XSD classes SOAP appel WSDL méthodes UDDI annuaires Xlang processus métier
Historique et Contexte : SmartTools Contrat Microsoft 1999-2001 passerelle entre les IDEs et SmartTools SmartTools 100% Java SmartTools utilise fortement les technologies XML 99: Utilisation des technologies COM et DCOM ? 00: Sortie de la plate-forme .NET SOAP, Web Services, WSDL Architecture de SmartTools échange de message, bus logiciel les données sont décrites en XML : Modèles DTD
Aujourd'hui : 2002 Projet européen avec W3C : QUESTION-HOW piloté par Daniel Dardailler Démonstrateur des technologies XML SmartTools est un très bel exemple langages métiers Rendre accessibles les services de SmartTools Vue graphiques Traitements sémantiques
Plan Historique de notre démarche Présentation de l’outil SmartTools connexion à .Net Présentation de l’outil SmartTools Utilisation des technologies du W3C Utilisation des Web Services pour SmartTools connexion entre SmartTools et VisualStudio.Net Perpectives d'évolution MDA (Model-Driven Architecture) de l’OMG
Aperçu rapide de SmartTools Générateur d’atelier de développement pour les langages métiers Dtd XSLT visitor Specifications Composant Outils XML XML SmartTools XML TOUT XML langages But : Réduire le coût de développement
Aperçu de l’architecture de SmartTools Vue Graphique Vue Graphique Vue Graphique Document Document Document bus Gestion des parseurs GUI Base de ressources Gestion des documents DTD DTD Echange de messages asynchrones Structure des données en XML Modèles (DTD) DTD
Echange de messages XML Vue 1 (arbre) Document (arbre) DOM Vue 2 Ensemble de messages typés Opérations sémantiques Vue 1 (arbre) Les données sous format XML Document (arbre) DOM Chemin XML Vue 2 (arbre) Sous-arbre Vue 3 (arbre) attributs Opérations d’édition Struture des messages à la SOAP enveloppe le type du message Les données
Liens entre le document et la vue if a then if Chemin Xpath b Cond Then Else else a b c DTD c Tree (DOM) Composant document Java bean Composant graphique Conforme au modèle
Plan Historique de notre démarche connexion à .Net Présentation rapide de l’outil SmartTools Utilisation des technologies du W3C Utilisation des Web Services pour SmartTools connexion entre SmartTools et VisualStudio.Net Perpectives d'évolution MDA (Model-Driven Architecture) de l’OMG
Connexion entre SmartTools et .Net Connexion du serveur TomCat à SmartTools Création d’un client C# utilisant ces services SmartTools Serveur Apache TomCat .Net C# Client SOAP WSDL filtre bus Transformation des messages SmartTools en messages SOAP Déclaration d’un WSLD pour SmartTools
Premier retour d’expérience ! Très simple et neutre (format XML) SmartTools tout XML : OUI A l'extérieur comme à l'intérieur; .Net tout XML ? A l'intérieur NON Description des langages avec un format BNF XML plus qu’un format d'échange un Modèle
TOUT XML: 4 technologies de connexion SmartTools Vue Graphique Objet Java SmartTools RMI Vue Graphique Vue Graphique navigateur Web Application Code Java Vue Graphique Serveur Web java http .Net C# Client Serveur Web Plate-forme DTD SOAP DTD DTD Modèles
Générateur de composant et container Génération de container Composant EJB Web services DTD Modèle Modèles Composants
Plan Historique de notre démarche Présentation de l’outil SmartTools connexion à .Net Présentation de l’outil SmartTools Utilisation des technologies du W3C Utilisation des Web Services pour SmartTools connexion entre SmartTools et VisualStudio.Net Perpectives d'évolution MDA (Model-Driven Architecture) de l’OMG
XML s’est imposé comme Solution Le futur ? Web Services ? SOAP : XML protocol Services (UDDI), processus métiers (Xlang) Les métiers de l’entreprise Maintenance et Réutilisation Indépendance vis-à-vis des technologies langages plate-formes composants protocoles XML s’est imposé comme Solution
MDA : Model-Driven Architecture Nouvelle stratégie de OMG Indépendance vis-à-vis des technologies Abstraction par transformation de modèle XML: langage UML: modèle Programmation par génération et transformation Démonstrateurs de cette démarche SmartTools est un premier exemple
XML: Rapprochement des disciplines documents langage de programmation base de données (semi-structurée) UML, modèle système réparti meta-computing, GRID etc...
Conclusion Tournant en terme de technologie: MDA Web Services : format des données neutre XML : syntaxe abstraite (indépendant d’un langage) Modèle (indépendant d’une technologie) Pour des démonstrations de SmartTools voir le site http://www-sop.inria.fr/oasis/SmartTools/ email : Didier.Parigot@inria.fr