Publication et Traitement avec XSL. 1. XPATH 2. XSLT 3. XSLFO 4. Traitement de documents 5. Conclusion

Dimension: px
Commencer à balayer dès la page:

Download "Publication et Traitement avec XSL. 1. XPATH 2. XSLT 3. XSLFO 4. Traitement de documents 5. Conclusion"

Transcription

1 Publication et Traitement avec XSL 1. XPATH 2. XSLT 3. XSLFO 4. Traitement de documents 5. Conclusion

2 1. XPath : l'adressage XML XPath Expressions de chemins dans un arbre XML Permet de sélectionner des nœuds par navigation Document XML? XPath 2

3 XPath XML Path Language recommandation W3C pour expressions de chemins acceptée le 16 novembre 1999 version 2 en cours d'élaboration Expressions de chemins communes à : XSL Xpointer (liens) XQuery (queries) Xpath permet de rechercher un élément dans un document d'adresser toute sous partie d'un document XPath 3

4 XPath - Parcours d'arbre XPath opère sur l'arbre d'un document racine <livre auteur = "Hugo"> <titre>les chatiments</titre> <chapitre> <section>buonaparte </section> <section>neige</section> </chapitre> </livre> Auteur = "Hugo" Les chatiments titre livre chapitre section section chapitre Bonaparte Neige XPath 4

5 XPath - Expression de chemins Une expression de chemins spécifie une traversée de l'arbre du document : depuis un nœud de départ vers un ensemble de nœuds cibles les cibles constituent la valeur du cheminement Un chemin peut être : absolu commence à la racine /étape1/ /étapen relatif commence à un nœud courant étape1/ /étapen XPath 5

6 Syntaxe et sémantique Cheminement élémentaire direction::sélecteur [predicat] Directions parent, ancestor, ancestor-or-self child, descendant, descendant-or-self preceding, preceding-sibling, following, following-sibling self, attribute, namespace Sélecteur nom de nœud sélectionné (élément Prédicat [Fonction(nœud) = valeur] XPath 6

7 XPath - Exemples Sections d'un chapitre /child::livre/child::chapitre/child::section /livre/chapitre/section Texte du chapitre 1 section 2 /descendant::chapitre[position() = 1] /child::section[position() = 2]/child::text() //chapitre[1]/section[2]/text() XPath 7

8 XPath - Synthèse Pattern Exemple Signification Nom section Sélectionne les éléments de nom donné Nom[0] section[0] Sélectionne le premier élément ayant le nom donné Nom[end()] section[end()] Sélectionne le dernier élément ayant un nom donné Droite Gauche Indique une alternative (un nœud OU bien l'autre (ou les deux)) / / Sélectionne le nœud racine d'une arborescence /arbre/nom /livre/chapitre Sélectionne les nœuds descendants par la balise de nom donné de l'arbre * * Motif "joker" désignant n'importe quel élément // //personne Indique tous les descendants d'un nœud.. Caractérise le nœud courant.... Désigne le nœud parent. Permet de remonter d'un niveau Indique un attribut caractéristique désigne la valeur de l'attribut). La désigne tous les attributs d'un élément text() text() Désigne le contenu d'un élément (le texte contenu entre ses balises) ID() ID('a2546') Sélectionne l'élément dont l'identifiant (la valeur de l'attribut ID) est celui spécifié en paramètre Comment() Comment() Désigne tous les nœuds commentaires Node() Node() Désigne tous les noeuds XPath 8

9 2. XSLT : la présentation Permet de transformer un document régulier ou irrégulier de XML à XML, XHTML est un cas particulier De XML à présentation (HTML, texte, rtf, pdf, etc.) Un document est un arbre Le processeur XSL parcourt l'arbre et applique les règles de transformations vérifiées (à condition vraie) aux nœuds sélectionnés Un document est produit en sortie XSLT 9

10 Publications avec XSL Plusieurs formats de publication pour un contenu Format ( Postcript) XML Document Browser (XHTML, DHTML, HTML) XSL Processor XSL Stylesheet format XSL permet la présentation sur des terminaux variés (WML) Format (XML) pour Word, Excel Format (XML) application e.commerce XSLT 10

11 Architectures XML Programme XML Fichier XML S E R V E U R ASP ou JSP HTML Processeur XSL XML Affichage HTML Affichage Base de données Processeur XSL Affichage Traitement XSLT 11

12 Les feuilles de style Une feuille de style XSL est un document XML de racine <xsl:stylesheet> contient une liste de règles de transformation <xsl:template> Chaque règle (<xsl:template>) précise: Une condition spécifiant le sous-arbre du document d entrée auquel elle s applique (match=) Une production spécifiant le résultat de l application de la règle (contenu) Il s'agit de règles de production classiques If <condtition> then <production> Codées en XML avec espace de nom xsl: XSLT 12

13 Exemple de document <?xml version="1.0"?> <Guide> <Restaurant Categorie="**"> <Nom>Le Romantique</Nom> <Adresse> <Ville>Cabourg</Ville> <Dept>Calvados</Dept> </Adresse> </Restaurant> <Restaurant Categorie="***"> <Nom>Les TroisGros</Nom> <Adresse> <Ville>Roanne</Ville> <Dept>Loire</Dept> </Adresse> </Restaurant> </Guide> XSLT 13

14 Exemple de feuille de style XSL <body><xsl:apply- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/xsl"> <xsl:template match="/"> <html><head><b>essai XSL</B></head> templates/></body></html> </xsl:template> <xsl:template match="guide"> <H1>BONJOUR LE GROUPE XML</H1> <H2>SUIVEZ LE GUIDE</H2> <xsl:apply-templates /> </xsl:template> <xsl:template match="restaurant"> <P> <I>Restaurant :</I> <xsl:value-of select="nom"/></p> </xsl:template> </xsl:stylesheet> XSLT 14

15 Les règles de production Définition des règles par <xsl:template > Attributs match: condition de sélection des nœuds sur lesquels la règle s'applique (XPath) name: nom de la règle, pour invocation explicite (en conjonction avec <call-template>) mode: permet d'appliquer à un même élément des règles différentes en fonction du contexte priority: priorité, utilisé en cas de conflit entre deux règles ayant la même condition Exemples <xsl: template match="/"> <xsl: template match="auteur" name="r1" priority="1"> XSLT 15

16 La génération du résultat Le contenu de l'élément <xsl:template> est la production de la règle: Les éléments du namespace xsl sont des instructions qui copient des données du document source dans le résultat Les autres éléments sont inclus tels quels dans le résultat Instructions pour: Parcourir l'arbre du document source Copier le contenu du document source dans le résultat Parcours de l'arbre: <xsl:apply-templates>, <xsl:for-each> Copie du contenu du nœud sélectionné: <xsl:value-of select= > XSLT 16

17 Résumé des commandes <xsl:template>, définir une règle et son contexte <xsl:apply-templates />, appliquer les transformations aux enfants du nœud courant <xsl:value-of select />, extrait la valeur d'un élément sélectionné à partir du nœud courant <xsl:for-each>, définir un traitement itératif <xsl:pi>, générer une processing instruction <xsl:element>, générer un élément <xsl:attribute>, générer un attribut <xsl:if>, définir un traitement conditionnel XSLT 17

18 Processeurs XSLT Processeurs XSLT conformes à la spécification: Apache Group (www.apache.org): Xalan Oracle XDK (www.oracle.com): XML Parser/ XSL Proc. MSXML.NET James Clark (www.jclark.com): XT Saxon libxml, libxslt (Unix C) Browser Microsoft MSXML et IE 5 ou plus Netscape supporte XSLT depuis la V6 Firefox Mozilla Editeur et debugger Style Vision de Altova Oxygen de Synchro Stylus Studio de Data Direct CookTop et Tidy (gratuit) XSLT 18

19 Quelques éditeurs version: 1.0 preview release 2 - I B M X S L E d i t o r - platforms: Java license: Free developer: Alphaworks, IBM revised: 21 jan 2000 Editeur multi-frame et outils de mise au point Alphawork d'ibm - S t y l u s S t u d i o - version: 4.6 platforms: Windows NT/2000 license: Commercial; 30 day evaluation available. developer: Excelon Corporation revised: 06 mar 2003 Editeur de Excelon (Progress); creation XSL et mise au point - X M L T r a n s f o r m - version: platforms: Java license: Commercial; free evaluation version available developer: TIBCO Software Inc. revised: 22 feb 2002 Editeur de Tibco pour les transformations XSL à XSL XSLT 19

20 IBM XSL Editor XSLT XML XSLT Rendu 20

21 Bilan XSLT XSLT est un langage très puissant de transformation d'un arbre XML en un autre XSLT permet en particulier de publier des données XML sur le Web par transformation en un document HTML standard XSLT est très utilisé : Pour publier des contenus XML Pour transformer des formats (EAI, B2B) XSLT 21

22 3. XSL-FO : le formatage Permet les mises en pages sophistiquées Objets de mise en forme applicables aux résultats avec XSLT Distinction Formatage des pages Formatage des objets à l'intérieur des pages Statiques Dynamiques XSL-FO 22

23 Principes Peut s'appliquer aux résultats des feuilles XSLT XSL-FO 23

24 Organisation du document Un document FO est formé d'un élément fo:root qui comprend deux parties distinctes une description des modèles de pages fo:layout-master-set une description du contenu fo:page-sequence Le contenu comporte : Des flux contenant les données mêmes du document Des éléments statiques dont le contenu se répète sur les pages (en-têtes courants, no de page, etc.) XSL-FO 24

25 Objets de formatage Les objets de formatage sont multiples : <fo:block> utilisé pour les blocs de textes, paragraphes, titres <fo:display-rule> ligne de séparation <fo:external-graphic> zone rectangulaire contenant un graphisme (SVG) Ils possèdent de nombreuses propriétés Pour un block on peut définir la marge gauche et droite l espace avant et après le paragraphe la couleur du texte... XSL-FO 25

26 Fonctionnalités Pages portrait ou paysage Pages recto-verso Page de tailles variées Marges multiples Colonnes multiples Entête et pieds de page Caractères unicode Formatage multi-langages Tables des matières générées Multiple directions d'écritures Numérotation des pages Graphiques et SVG Tables, avec entêtes, lignes et colonnes fusionnables Listes Zones flottantes Tris à l'édition Notes de bas de pages XSL-FO 26

27 XSL-FO: hello World <?xml version="1.0" encoding="iso "?> <fo:root xmlns:fo="http://www.w3.org/1999/xsl/f ormat"> <fo:layout-master-set> <fo:simple-page-master mastername="my-page"> <fo:region-body margin="2 cm"/> </fo:simple-page-master> </fo:layout-master-set> <fo:page-sequence master-reference="mypage"> <fo:flow flow-name="xsl-region-body"> <fo:block>hello, world!</fo:block> </fo:flow> </fo:page-sequence> </fo:root> Element Root Permet de définir le namespace XSL-FO Layout master set Permet de déclarer une ou plusieurs page masters (masque) et page sequence masters pour définir la structure des pages (ici une de 2 cm de marges) Page sequence Les pages sont groupées en séquences et structurées selon la référence au masque. Flow C'est le container du texte utilisateur dans le document. Le nom du flot lit le texte à une zone de la page définie dans le masque. Block C'est le bloc de formatage qui inclut un paragraphe de texte pouvant être produit pas XSLT. XSL-FO 27

28 XSL-FO et XSLT : Exemple Définition de propriétés pour la racine <fo- <xsl:template match= / > display-sequence font-style= italic start-indent= 4pt end-indent= 4pt font-size= 18pt templates/> display-sequence> </xsl:template <xsl:apply- </fo- La définition d une propriété locale est prioritaire devant l héritage XSL-FO 28

29 Les processeurs XSL-FO Apache Group : FOP Formating Object Processor Génère du PDF JFOR (Open Source) Génère du RTF Antenna House XSL Formatter RenderX Génère du PDF Altova StyleVision XML Mind FO Converter Génère du RTF Autres Arbortext, Adobe, Scriptura, XMLPDF, APOC, XSL-FO to TeX XSL-FO 29

30 Bilan XSL XML = format pour la production de publications échangeables sur le web : production d une source unique en XML ; XSLT = génération automatique de présentations multiples ; XSL-FO = génération de présentations soignées avec pages maîtres et blocs formatés. XSL peut être vu comme le langage de programmation de XML Questions? XSL 30

31 4. XML: le traitement par programme XML <ville>paris</ville> <pays>france</pays> <temp echelle="c">18</temp> XML Schema (ou DTD) Parser Bien formé Valide Mal formé/invalide XML <ville>paris</ville> <pays>france</pays> <temp echelle="c">18</temp> XSL Stylesheet DOM SAX Manipulation de l'arbre <ville>paris</ville> événements call back XSLT XSLFO <city>paris</city> <temp degree="f">65</te mp> WML Mapping XML (X)HTML PDF 31 RTF, Word

32 L'interface DOM Standard W3C fait pour HTML et XML Structure d'objets pour représenter un document Résultat d'un "parser" Arbre d'objets reliés entre eux Interface objet pour naviguer dans un document Orientée objet Peut être utilisée en: Java, C++ C#, VB Python, PHP DOM 32

33 Principaux parseurs Document XML Xerces MSXML SDK Oracle JAXP J2EE Apache (Java, C++) Microsoft Oracle Sun,... Parseur DOM Arbre DOM API DOM Application DOM 33

34 Exemple d'arbre DOM Document Racine du document NodeList Element <Guide> NodeList Element <Restaurant> <Guide> <Restaurant id="r1">le meilleur restaurant</restaurant> </Guide> NamedNodeMap Attr Id="R1" NodeList Text Le meilleur restaurant DOM 34

35 L'arbre DOM Navigation via un arbre générique de nœuds Node NodeList (Parent/Child) NamedNodeMap Document Node ProcessingInstruction DocumentType Element... <?xml:stylesheet...> <!DOCTYPE...> <Restaurant...> Tout nœud hérite de Node Text Child Le meilleur restaurant DOM 35

36 Quelques interfaces de base Document createelement (Nom_Element): créer un élément avec le nom spécifié en paramètre. createcomment (commentaire): créer une ligne de commentaires dans le document. createattribute (Nom_Attribut): créer un attribut avec le nom pris en paramètre. getelementsbytagname (nom_tag): retourne tous les descendants des éléments correspondants au Nom_Tag. Nœud insertbefore (Nouveau_Noeud, Noeud_Reference): insère un nouveau nœud fils avant le " nœud référence" déjà existant. replacechild (Nouveau_Noeud, Ancien_Noeud): remplace le nœud "Ancien_Noeud" par le nœud "Nouveau_Noeud". removechild (Nœud): supprime le nœud entré en paramètre de la liste des nœuds. appendchild (Nouveau_Noeud): Ajoute un nouveau nœud a la fin de la liste des nœuds. haschildnodes(): Retourne vrai si le nœud possède un enfant DOM 36

37 Autres interfaces Interfaces fondamentales DOMImplementation Document Comment DocumentFragment Element Attr(ibute) NamedNodeMap CharacterData Comment Text Interfaces étendues XML ProcessingInstruction DocumentType CDATASection Notation Entity EntityReference DOM 37

38 Exemple d'utilisation Public class ExempleDOM public static main (String argc[]) throws IOException, DOMExcetion {XMLDocument xmldoc = new XmlDocument(); // creation des nœuds ElementNode nom = (ElementNode) xmldoc.createelement("nom"); ElementNode prenom = (ElementNode) xmldoc.createelement("prenom"); ElementNode nomfam = (ElementNode) xmldoc.createelement("nomfam"); // creation de l'arbre xmldoc.appendchild(nom); nom.appenchild(prenom); prenom.appendchild(xmldoc.createtextnode("jean"); nom.appenchild(nomfam); nomfam.appendchild(xmldoc.createtextnode("dupont"); // positionnement d'un attribut nom.setattribute("ville", "Paris"); // sortie System.exit(0); } } Document: <nom ville ="Paris"> <prenom> Jean </prenom> <nomfa> Dupont </nomfa> </nom> DOM 38

39 Bilan DOM DOM Une interface objet standard Navigation dans l'arbre XML Traitements spécifiques Performance limitée Place mémoire importante Traitement à la fin de l'analyse DOM 2.0 Accède dynamiquement au contenu et à la structure du document Extensions en cours : 39 DOM Level 3 : XPath Support direct de XPath Définition d'un XPath Evaluator Devrait être intégré aux parsers DOM Level 3 : Events Modèle d'événements Associés à un nœud Propagés dans l'arbre DOM DOM Level 3 : Style Accès aux styles Mapping complet

40 L'interface SAX SAX (Simple API for XML) modèle simplifié d'événements développé par un groupe indépendant. Types d'événement : début et fin de document ; début et fin d'éléments ; attributs, texte,. Nombreux parseurs publics XP de James Clark, Aelfred, Saxon MSXML3 de Microsoft Xerces de Apache JAXP de SUN SAX 40

41 Principe de fonctionnement Evénement startdocument Méthodes utilisateur Document XML Stream XML Parser Evénement startelement. Evénement enddocument Content Handler SAX 41

42 Les méthodes essentielles XMLReader setcontenthandler seterrrorhandler parse ContentHandler startdocument enddocument startelement endelement characters ErrorHandler fatalerror error warning SAX 42

43 Exemple SAX et DOM SAX <personne> <nom> Cover </nom> <prenom> Harry </prenom> <adresse> <rue> Stendhal </rue> <ville> Paris </ville> </adresse> </personne> startdocument () startelement (personne) startelement (nom) characters (Cover) endelement (nom) startelement (prenom) characters (Harry) endelement (prenom) startelement (adresse) startelement (rue) characters (Stendhal) endelement (rue) startelement (ville) characters (Paris) endelement (ville) endelement (adresse) endelement (personne) enddocument () 43 personne nom #text: Cover prenom #text: Harry adresse rue #text: Stendhal ville #text: Paris

44 DOM versus SAX DOM utilise SAX pour la construction de l arbre d un document XML SAX est plus léger que DOM Au-dessus de DOM, il est possible d implémenter un «method caller»... SAX 44

45 Integration : API JAXP Java API for XML Parsing JAXP est une d'api standard J2EE permettant d'effectuer des traitements XML qui englobe : Objectif SAX (SAX 2.0) DOM (DOM Level 2) la manipulation de transformations XSLT Fournir une couche d abstraction permettant d utiliser n importe quel analyseur SAX/DOM ou processeur XSL JAXP 1.3 est inclus dans Java WSDP 2.0, Java SE 5.0, et disponible sur Java.Net 45

46 5. Conclusion Un ensemble d outils pour traiter du XML: Analyseurs validants Processeurs XSLT/XSLFO Intégrés aux serveurs d applications J2EE = JAXP.NET = MSXML En évolution permanente Questions? 46

47 Web Services Objectifs Architecture Protocole web (SOAP) Composition de services web Position du marché Conclusion

48 1. Besoins des Applications Web Le Web classique Conçu pour les applications à interactions humaines Partage d'information E-commerce de type B2C Extensions nécessaires Accès à l'information depuis des programmes Processus de e-commerce B2B automatisés Interopérabilité entre applications Plate-forme pour le calcul distribué Introduction 48

49 Principes des services Web Proposer une plate-forme de traitement distribuée autour d'internet/intranet Permettre l'interopérabilité totale entre composants Offrir un modèle de composants simple Modules avec interfaces de fonctions Paramètres structurés et diversifiés en place des URL longues contraignantes (ASCII, plats, 255) Permettre de découvrir dynamiquement les services Annuaire de services et service de recherche Offrir des outils d'intégration de composants A l'échelle de l'internet ou de l'intranet Introduction 49

50 Exemple d'applications Diffusion d'information horaires, incidents, états de stocks cours de bourse, entrées d'annuaires, etc. Contrôle d'information Autorisation de cartes de crédits Authentification d'un client Documentation automatique présentation, marketing, veille technologique librairie électronique, manuels, maintenance, etc. communication et "knowledge management" Commerce électronique présentation, sélection, transaction, médiation, etc. Introduction 50

51 2. Architecture Web Services SERVEUR Service Provider SERVEUR Request Service Provider Publish Publish SERVEUR Service Provider Publish Request Service Registry SERVEUR Publish Request Find SERVEUR Service Provider Request WEB-HTTP Service Requester CLIENT Architecture 51

52 Qu'est ce qu'un Web Service? Définition [W3C] Un Web service est un composant logiciel identifié par une URI, dont les interfaces publiques sont définies et appelées en XML. Sa définition peut être découverte par d'autres systèmes logiciels. Les services Web peuvent interagir entre eux d'une manière prescrite par leurs définitions, en utilisant des messages XML portés par les protocoles Internet. Exposition Langage WSDL utilisé pour décrire le service Similaire à IDL mais basé sur XML Activation Protocole Web au-dessus de HTTP (RPC XML, SOAP) Autres protocoles possibles Architecture 52

53 Les Composants Service Provider (Fournisseur de service) Application s'exécutant sur un serveur et comportant un module logiciel accessible par IxxNet en XML Service Registry (Annuaires de service) Annuaire des services publiés par les providers (UDDI) Géré sur un serveur niveau application, entreprise ou mondial Service Requester (Demandeur de service) Application cliente se liant à un service et invoquant ses fonctions par des messages XML (SOAP) Architecture 53

54 Vue d'ensemble Application SOAP Client discovery? UDDI Description of providers and services Category Provider WSDL Service Publication XML Service Call Service Provider SOAP Transport HTTP/S SOAP Transport Service Architecture 54

55 Description des services: WSDL Elément Type Types des paramètres (schéma XML) Elément Message Appel et retour d'opération Elément Port type Groupe d'opération Elément Binding URL de l'opération Type de protocole Port (e.g. Binding (e.g. SOAP) Service porttype operation(s) inmessage Port Binding outmessage Abstract interface Architecture 55

56 Description en WSDL <definitions name = "..." xmlns: > <types> <!--Définition des types de données; basés sur ceux des schémas --> </types> <message> <!--Déclaration des messages (entrées et sorties)--> </message> <porttype> <!--Déclaration des opérations (par association des messages)--> </porttype> <binding> <!--Définition de la liaison WSDL SOAP (noms d'actions et codages)--> </binding> <service name= " " > <!--Déclaration des ports (groupes d'opérations et protocoles d'accès)--> </service> </definitions> Architecture 56

57 Exemple: GetLastTradePrice <?xml version="1.0"?> <definitions name="stockquote"> <types> <schema> <element name="tradepricerequest"> <complextype> <all> <element name="tickersymbol" type="string"/> </all> </complextype> </element> <element name="tradeprice"> <complextype> <all> <element name="price" type="float"/> </all> </complextype> </element> </schema> </types> <message name="getlasttradepriceinput"> <part name="body" element="xsd1:tradepricerequest"/> </message> <message name="getlasttradepriceoutput"> <part name="body" element="xsd1:tradeprice"/> </message> <porttype name="stockquoteporttype"> <operation name="getlasttradeprice"> <input message="tns:getlasttradepriceinput"/> <output message="tns:getlasttradepriceoutput"/> </operation> </porttype> <binding name="stockquotesoapbinding" type="tns:stockquoteporttype"> <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="getlasttradeprice"> <soap:operation soapaction="http://example.com/getlasttradeprice"/> <input> <soap:body use="literal"/> </input> <output> <soap:body use="literal"/> </output> </operation> </binding> <service name="stockquoteservice"> <documentation>my first service</documentation> <port name="stockquoteport" binding="tns:stockquotebinding"> <soap:address location="http://example.com/stockquote"/> </port> </service> </definitions> Architecture 57

58 Annuaire des services: UDDI Annuaire UDDI Dde de Service Gérant de requêtes Programme Enveloppe + Document Annuaire UDDI Universal Description, Discovery and Integration Annuaire des services décrit par un document WSDL, spec. EJB, autre Accessible en SOAP Fonctions Enregistrer votre société Enregistrer des services Enregistrer des opérations Découvrir des services Architecture 58

59 Contenu de l annuaire Pages blanches (businessentity) BusinessKey Name Description CategoryBag BusinessServices Pages jaunes (businessservice) ServiceKey BusinessKey Name Description CategoryBag BindingTemplates Pages vertes (bindingtemplates) BindinKey ServiceKey Description AccessPoint Architecture Contenu défini par un schéma XML Spécifications pour réplication BusinessEntity BusinessEntity publisherassertion publisherassertion Relations entre deux parties 59 BusinessService BusinessService tmodel tmodel Spécifs de services et taxonomies BindingTemplates BindingTemplates Infos techniques

60 Principaux fournisseurs IBM UDDI Registry Un registre UDDI avec des fonctionnalités de recherche www-3.ibm.com/services/uddi/ Microsoft UDDI Business Registry (UBR) uddi.microsoft.com/default.aspx SAP UDDI Business Registry Public pour l'instant Systinet Registry Support complet de UDDI V3 Oracle Application Server UDDI Registry otn.oracle.com/tech/webservices/htdocs/uddi/ Architecture 60

61 Client Web de Recherche Architecture 61

62 3. SOAP Inspiré du RPC DCE adapté à XML Appel de procédure distante sur Internet Appelant Appelant Stub ou Proxy Skeleton ou Listener Appelé Souche Réseau d'interconnexion Souche Appelé SOAP 62

63 Qu'est-ce-que SOAP? Simple Object Access Protocol Ni simple, ni objet Invocations de fonctions en XML au-dessus de HTTP : Pour accéder services, objets et serveurs Indépendant de toute plate-forme Codage universel XML par opposition aux spécifiques : DCOM - DCE/NDR CORBA - IIOP/CDR JAVA - RMI/JRMP RDA - XDR Résolution des problèmes de session, sécurité, transaction Associé à WSDL pour publication d'interfaces SOAP 63

64 Un échange type Port de connexion (URL) Procuration d'interface Messages SOAP Pare-feu Pare-feu Appel Translateur SOAP Application Cliente HTTP RPC Réponse local Parser XML Parser XML Serveur d'application CLIENT SERVEUR SOAP 64

65 Eléments d'un message Envelope Élément pouvant contenir des déclarations d'espaces de noms ou des sous-éléments Header Élément optionnel fils de Envelope Permet des extensions telles que authentification, session, etc. Body Élément obligatoire fils de Envelope Définit la méthode appelée, contient les paramètres Peut contenir un élément Fault en cas d'erreur SOAP 65

66 Structure d'un message Protocol Headers Entête de protocoles (HTTP, SMTP, ) SOAP Envelope SOAP Header <Envelope> <Header> <Body> SOAP Body SOAP 66

67 Exemple float GetLastTradePrice (Symbol) Le dialogue : Application Middleware SOAP HTTP Request Reply Error Application Middleware SOAP HTTP SOAP 67

68 La requête POST /StockQuote HTTP/1.1 Host: Content-Type: text/xml; charset="utf-8" Content-Length: nnnn Standard HTTP SOAPAction: "Some-URI#GetLastTradePrice" <SOAP:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap"> <SOAP:Body> <m:getlasttradeprice xmlns:m="some-uri"> <symbol>dis</symbol> </m:getlasttradeprice> </SOAP:Body> </SOAP:Envelope> SOAP 68

69 La réponse HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn Standard HTTP <SOAP:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap"/> <SOAP:Body> <m:getlasttradepriceresponse xmlns:m="some-uri"> <Price>34.5</Price> </m:getlasttradepriceresponse> </SOAP:Body> </SOAP:Envelope> SOAP 69

70 Exemple: Google Search requests Soumet une requête avec un ensemble de paramètres à Google Web APIs service et reçoit en réponse un ensemble de résultats de recherche. Cache requests Soumet une URL à Google Web APIs service et reçoit en réponse le contenu de l'url lors de la dernière visite du crawler Google. Spelling requests Soumet une requête à Google Web APIs service et reçoit en réponse une suggestion de correction orthographique pour la requête. SOAP 70

71 Bilan SOAP Protocole d invocation de services Web Lisible et extensible Au-dessus de HTTP Passant les firewalls Description en WSDL Pousser par Microsoft, IBM, BEA, CORBA ou DCOM «killer»? Associé à nomination des objets Véritable échange de messages entre objets Performance? Questions? SOAP 71

72 4. Orchestration de Services Web Objectifs Modéliser des processus métiers (business process) Exemple : réservation Début Composer des services Web distribués Piloter l'exécution Orchestration d'activités Echanges XML Gestion de transactions Business Process Management Transaction Workflow Réserver Hotel OK? oui Réserver Avion OK? oui Louer Voiture OK? oui Succès non non non Echec oui Réserver Train OK? Echec non Echec BPM 72

73 Exemple : Pilotage Fabrication Echange B2B Partenaire Serveur d'entreprise XML XML Usine XML Interface XML WEB XML XML ERP Fournisseur BPM Mainframe 73 Client

74 Les briques à standardiser Choreography - CDL4WS Orchestration - BPEL4WS Business Processes Transactions Management WS-Reliability WS-Security UDDI WSDL Coordination Context Quality of Service Discovery Description SOAP XML Message HTTP, IIOP, JMS, SMTP Transport 74

75 Composition de services Objectifs: Alliances entre business pour offrir des services intégrés à valeur ajoutée en combinant des services existants Réutilisation et extension de services existants Support pour la planification, la définition et l'implémentation de services composés Développement d'applications distribuées composées de services web BPM 75

76 Quelques définitions Processus métier (Business Process) Module fonctionnel réalisé par enchaînement d'activités business exécutées par des acteurs échangeant des messages et implémentant les objets et règles spécifiques à une entreprise. Orchestration d'activité (Activity Orchestration) Mécanisme d'invocation, de contrôle et de coordination des activités participant à la réalisation de processus d'affaire. Composition de services (Services Composition) Techniques permettant d'assembler des services Web pour réaliser des processus métiers par des primitives de contrôles (boucles, tests, traitement d'exception, etc.) et d'échanges (envoi et réception de messages). BPM 76

77 Modélisation par Workflow Graphe acyclique d'activités modélisant un processus métier Les liens de contrôle définissent le flux d'exécution [ WS] Les activités représentent les unités de traitement Les activités correspondent à des services Web BPM Les liens de données définissent le flux d'information. 77 Les activités peuvent être d'autres business process

78 Exemple Modélisation en XML Langage d'orchestration Chorégraphie d'activités commandevacances reservervacances Commande/classe=1 <activity name="demandepaiement"> <join condition= (reservervoiture OR reserveravion) AND reserverhotel when= deferred > </activity> reservervoiture Commande/classe=2 reserveravion reserverhotel <activity name="reserveravion">. demandepaiement BPM 78

79 Vers un standard? BPML (Intallio et al) BPSS (ebxml) WSCI (Sun et al) WS-Choreography (W3C) 2000/ / / / / / / / /04 XLang (Microsoft) WSFL (IBM) WSCL (HP) BPEL4WS 1.0 (IBM, Microsoft) BPEL4WS 1.1 (OASIS) BPM 79

80 BPEL: Processus composé d'activités Compositions des web services synchrones et asynchrones Véritable langage de programmation parallèle codé en XML Assignation de variables locales et globales BPM 80

Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom

Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom Master 2 MIAGE NTDP Nom : Le Prof! UE «Web Services et SOA», Prénom Epreuve écrite individuelle 8 Décembre 2008, durée 45 mns Aucun document autorisé => Finalement, autorisés et semble-t-il utiles!!...

Plus en détail

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26

Services Web. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web p.1/26 Services Web Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web p.1/26 Plan du cours 1. Introduction 2. SOAP 3. WSDL 4. UDDI Site du cours : http://apiacoa.org/teaching/webservices/

Plus en détail

Programmation Web Avancée Introduction aux services Web

Programmation Web Avancée Introduction aux services Web 1/21 Programmation Web Avancée Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017

Plus en détail

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web» Sana Sellami sana.sellami@lsis.org 2014-2015 Plan Partie 1: Introduction aux Services Web (SW) Partie 2: Vers une

Plus en détail

Introduction aux «Services Web»

Introduction aux «Services Web» Introduction aux «Services Web» Sana Sellami sana.sellami@univ-amu.fr 2014-2015 Modalité de contrôle de connaissances Note de contrôle de continu Note projet Evaluation du projet la semaine du 17 novembre

Plus en détail

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari

On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari On Feature Interaction among Web Services Michael Weiss et Babak Esfandiari Présenté par INF-6251 :: Automne 2005 Présentation Introduction Contexte Bref historique Contexte Affaire (Business) Processus

Plus en détail

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition) Présentation du langage XML 1. De SGML à XML 17 2. Les bases de XML 18 2.1 Rappel sur HTML 18 2.2 Votre premier document XML 19 2.3 Les avantages de XML 21 3. La syntaxe XML 21 3.1 La première ligne du

Plus en détail

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE

TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE XML/ SOA/ Web services TECHNOLOGIES XML, CONCEPTION, MISE EN OEUVRE Réf: PXM Durée : 4 jours (7 heures) OBJECTIFS DE LA FORMATION XML est devenu une technologie incontournable tant sur le poste utilisateur

Plus en détail

Les nouvelles architectures des SI : Etat de l Art

Les nouvelles architectures des SI : Etat de l Art Les nouvelles architectures des SI : Etat de l Art Objectif Mesurer concrètement les apports des nouvelles applications SI. Être capable d'évaluer l'accroissement de la complexité des applications. Prendre

Plus en détail

BPEL Orchestration de Web Services

BPEL Orchestration de Web Services Orchestration de Web Services Grégory Le Bonniec gregory.lebonniec@zenika.com 26 novembre 2009 1 Zenika Conseil / Développement / Formation Localisation : Paris et Rennes Nos partenaires Mon expérience

Plus en détail

XML : l ASCII de demain

XML : l ASCII de demain Carrefour de l information XML : l ASCII de demain Philippe Mabilleau ing. 3 octobre 2002 Le langage XML Historique : De l ASCII à XML XML : Le langage XML : La programmation XML : Les transformations

Plus en détail

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch Faculté de Génie Chaire industrielle en infrastructures de communication La technologie XML Wajdi Elleuch Octobre 2004 SOMMAIRE Content : - XML : Définition - XML : Solution pour des applications réparties

Plus en détail

Programmation des Applications Réparties. Parsers XML DOM et SAX

Programmation des Applications Réparties. Parsers XML DOM et SAX Programmation des Applications Réparties Parsers XML DOM et SAX Luiz Angelo Steffenel luiz-angelo.steffenel@univ-reims.fr Steffenel Programmation des Applications Réparties Master M1-2007-2008 1 Comment

Plus en détail

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués Architecture JEE. Objectifs attendus Serveurs d applications JEE Systèmes distribués Architectures JEE Normes JEE couches logicielles, n-tiers framework JEE et design patterns 2007/02/28 Eric Hébert.eheb@yahoo.fr

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

XML : outils et documents. Deuxième cours : XHTML, XPATH, XSLT,...

XML : outils et documents. Deuxième cours : XHTML, XPATH, XSLT,... XML : outils et documents Deuxième cours : XHTML, XPATH, XSLT,... 1 Plan de ce cours Rappels/approfondissement du cours précédent Un exemple de technologie : XHTML Document XML et arbre XPath Introduction

Plus en détail

Langage HTML (2 partie) lt La Salle Avignon BTS IRIS

Langage HTML (2 partie) <HyperText Markup Language> <tv>lt La Salle Avignon BTS IRIS</tv> Langage HTML (2 partie) «Je n'ai fait que prendre le principe d - hypertexte et le relier au principe du TCP et du DNS et alors boum! ce fut le World Wide Web!» Tim Berners-Lee

Plus en détail

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines) Module 1 : Programmer une application informatique Durée

Plus en détail

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco

Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Livre blanc Programmabilité du réseau avec l'infrastructure axée sur les applications (ACI) de Cisco Présentation Ce document examine la prise en charge de la programmabilité sur l'infrastructure axée

Plus en détail

Programmation d applications distribuées

Programmation d applications distribuées Programmation d applications distribuées François Charoy Université Henri Poincaré 8 octobre 2007 Première partie I Développement d applications distribuées Objectifs du cours Comprendre ce qu est une

Plus en détail

Web Services. SLenoir@ugap.fr 17/01/2009

Web Services. SLenoir@ugap.fr 17/01/2009 Web Services SLenoir@ugap.fr 17/01/2009 1. Pourquoi les Web Services? 1.1. Historique des SI 1.2. Exigences actuelles 1.3. SOA 1.4. Mise en place de services 17/01/2008 Web Services 2 1.1. Historique des

Plus en détail

Urbanisme du Système d Information et EAI

Urbanisme du Système d Information et EAI Urbanisme du Système d Information et EAI 1 Sommaire Les besoins des entreprises Élément de solution : l urbanisme EAI : des outils au service de l urbanisme 2 Les besoins des entreprises 3 Le constat

Plus en détail

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion

Sommaire. Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion ebxml Sommaire Introduction La technologie ebxml EDI conventionnels versus ebxml Web Services et ebxml Acteurs de l ebxml Conclusion Introduction Pourquoi L EDI EDI : échange de données informatisé Remplacer

Plus en détail

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition

Thierry BOULANGER. par la pratique. Bases indispensables Concepts et cas pratiques XML. 3 ième édition. Nouvelle édition XML par la pratique Bases indispensables Concepts et cas pratiques 3 ième édition Nouvelle édition Thierry BOULANGER Table des matières 1 Les éléments à télécharger sont disponibles à l'adresse suivante

Plus en détail

Introduction ASP.NET

Introduction ASP.NET 1 Sommaire Introduction... 1 1 Framework... 2 1.1 Général (.NET)... 2 1.2 ASP.NET... 2 2 Prérequis... 2 3 Présentation des bases d un projet ASP.NET... 3 3.1 Création d un projet... 3 3.2 Site Web : Les

Plus en détail

Business Process Execution Language

Business Process Execution Language Business Process Execution Language Rapport du projet de systèmes distribués d information Markus Lindström 6 mai 2009 Motivation personnelle Le sujet que j ai retenu et présenté dans le cadre du cours

Plus en détail

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

XML, PMML, SOAP. Rapport. EPITA SCIA Promo 2004 16 janvier 2003. Julien Lemoine Alexandre Thibault Nicolas Wiest-Million XML, PMML, SOAP Rapport EPITA SCIA Promo 2004 16 janvier 2003 Julien Lemoine Alexandre Thibault Nicolas Wiest-Million i TABLE DES MATIÈRES Table des matières 1 XML 1 1.1 Présentation de XML.................................

Plus en détail

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES

ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES ETUDE COMPARATIVE DES SERVICES DE RECHERCHE SUR PROPRIETES Dhouha Ayed, Chantal Taconet et Guy Bernard GET / INT, CNRS Samovar 9 rue Charles Fourier, 91011 Évry, France {Dhouha.Ayed, Chantal.Taconet, Guy.Bernard}@int-evry.fr

Plus en détail

DotNet. Plan. Les outils de développement

DotNet. Plan. Les outils de développement DotNet Les outils de développement Version 1.03 du 16/10/2006 par Jacky Renno Plan La machine virtuelle Le kit de développement Le kit de langage Le Visual Studio.NET Le serveur web IIS 6.0 Le modeleur

Plus en détail

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures Software propose une offre d intégration unique, qui apporte l équilibre parfait entre investissements et performances pour les entreprises qui doivent sans cesse améliorer leurs processus. Des caractéristiques

Plus en détail

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform

Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform IBM Software Group Développement logiciel pour l Architecture Orientée Services avec IBM Rational Software Development Platform Thierry Bourrier, Techical Consultant thierry.bourrier@fr.ibm.com L Architecture

Plus en détail

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager L Orchestration de Services Web avec Orchestra Goulven Le Jeune Orchestra Project Manager D1 Bull, Architecte d un Monde Ouvert : contributeur et acteur majeur de l'open Source Applications métiers Infrastructures

Plus en détail

Bases de Données Avancées

Bases de Données Avancées Bases de Données Avancées Enseignant / chargé de TD : Dario COLAZZO www.lri.fr/~colazzo Chargée de TP : Jesús CAMACHO-RODRIGUEZ www.lri.fr/~camacho Plan Tuning d index Concurrence Reprise sur panne Données

Plus en détail

Systèmes d'informations historique et mutations

Systèmes d'informations historique et mutations Systèmes d'informations historique et mutations Christophe Turbout SAIC-CERTIC Université de Caen Basse-Normandie Systèmes d'informations : Historique et mutations - Christophe Turbout SAIC-CERTIC UCBN

Plus en détail

Le Langage XML: Fondations pour les Plateformes elearning. Le Langage XML (ou Technologies XML)

Le Langage XML: Fondations pour les Plateformes elearning. Le Langage XML (ou Technologies XML) Le Langage XML: Fondations pour les Plateformes elearning XML et les Technologies Associées Najib Tounsi Ecole Mohammadia d'ingénieurs Bureau W3C Maroc, Rabat 28 Nov. 2005 Deuxième Workshop annuel de l'ircam

Plus en détail

Bertrand DAVID : Interaction Humain-Machine

Bertrand DAVID : Interaction Humain-Machine Interaction Humain-Machine Plasticité des IHM : La plasticité des Interfaces Homme-Machine Étude des langages de la famille XML Contribution à l amélioration de la plasticité à l aide de nouveaux langages

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Les services Web vers l'interopérabilité des applications réparties sur internet. Tarek Melliti

Les services Web vers l'interopérabilité des applications réparties sur internet. Tarek Melliti Les services Web vers l'interopérabilité des applications réparties sur internet Tarek Melliti Plan de la présentation Introduction aux services Web Approche conceptuel orienté service : SOA Les services

Plus en détail

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Messagerie asynchrone et Services Web

Messagerie asynchrone et Services Web Article Messagerie asynchrone et Services Web 1 / 10 Messagerie asynchrone et Services Web SOAP, WSDL SONT DES STANDARDS EMERGEANT DES SERVICES WEB, LES IMPLEMENTATIONS DE CEUX-CI SONT ENCORE EN COURS

Plus en détail

W4 - Workflow La base des applications agiles

W4 - Workflow La base des applications agiles W4 - Workflow La base des applications agiles, W4 philippe.betschart@w4global.com Vous avez dit «workflow»? Processus : Enchaînement ordonné de faits ou de phénomènes, répondant à un certain schéma et

Plus en détail

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C#

CHAPITRE 1. Introduction aux web services. 1.1 Définition. Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# CHAPITRE 1 Introduction aux web services Contenu du chapitre : Env. De dev. Langage Visual Studio Java EE Qt Creator C# NetBeans JavaScript Eclipse Objective C Xcode PHP HTML Objectifs du chapitre : Ce

Plus en détail

ORCHESTRATION A HAUT NIVEAU ET BPEL

ORCHESTRATION A HAUT NIVEAU ET BPEL UFR Informatique & Mathématiques Appliquées LSR - ADELE ECOLE DOCTORALE MATHEMATIQUES, SCIENCES ET TECHNOLOGIES DE L INFORMATION, INFORMATIQUE Master Mathématiques Informatique 2e année, Recherche Spécialité

Plus en détail

Olivier Deheurles Ingénieur conception et développement.net

Olivier Deheurles Ingénieur conception et développement.net Olivier Deheurles Ingénieur conception et développement.net MOTS CLES Maîtrise de la conception et du développement orientés Objet 6 ans d expérience sur les plateformes.net 1.1 et 2.0 (C# et VB.NET) MCAD

Plus en détail

Services web Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours IED Plan

Services web Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours IED Plan Services web Dan VODISLAV Université de Cergy-Pontoise Master Informatique M1 Cours IED Plan Principes SOAP WSDL UDDI Services REST Services SOAP en Java Cours IED (UCP/M1): Services web Page 2 Services

Plus en détail

Composition semi-automatique de Services Web

Composition semi-automatique de Services Web Composition semi-automatique de Services Web Nerea Arenaza SIN Projet de Master Février 2006 Responsable Dr. Denis Gillet EPFL / LA Assistant Karim Zeramdini EPFL / LA Table de matières Table des matières

Plus en détail

Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat)

Intégration d'applications à gros grain Unité d'intégration : le service (interface + contrat) Motivations Motivations Intégration d'applications à "gros grain" Unité d'intégration : le "service" (interface + contrat) Contraintes Applications conçues indépendamment, sans avoir prévu une intégration

Plus en détail

Compte Rendu d intégration d application

Compte Rendu d intégration d application ISMA 3EME ANNEE Compte Rendu d intégration d application Compte Rendu Final Maxime ESCOURBIAC Jean-Christophe SEPTIER 19/12/2011 Table des matières Table des matières... 1 Introduction... 3 1. Le SGBD:...

Plus en détail

Java pour le Web. Cours Java - F. Michel

Java pour le Web. Cours Java - F. Michel Java pour le Web Cours Java - F. Michel Introduction à JEE 6 (ex J2EE) Historique Qu'est-ce que JEE JEE : Java Entreprise Edition (ex J2EE) 1. Une technologie outils liés au langage Java + des spécifications

Plus en détail

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises

Résumé XML XML. XPATH SVG Schema XSL. VoiceXML. Figure 1 : évolution des langages à balises XML, extensible Markup Language 1-Origine de XML On trouve l origine des langages à balises dans la nécessité d échanger des informations dont la structure est trop complexe pour être simplement mise sous

Plus en détail

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM) Mineure SOA Business Process Modeling (BPM) Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Notion de processus? 2 Modélisation des processus? 3 Langages

Plus en détail

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware 1 Introduction Ce chapitre décrit Oracle Fusion Middleware. Il comprend : o Qu'est-ce que Middleware o Les fonction de Middleware o L'architecture de conception Middleware o L'architecture orientée services

Plus en détail

Business Process Modeling (BPM)

Business Process Modeling (BPM) Business Process Modeling (BPM) Mineure SOA Cécile Hardebolle cecile.hardebolle@supelec.fr Programme 8 nov. 15 nov. Introduction. Enjeux, rôle de l'architecte SI Partie n 1 du cas d'étude Architecture

Plus en détail

Introduction à Microsoft InfoPath 2010

Introduction à Microsoft InfoPath 2010 Introduction à Microsoft InfoPath 2010 Couplé à Microsoft SharePoint Designer 2010, InfoPath 2010 simplifie la création de solutions de bout en bout sur SharePoint Server 2010, qui contiennent des formulaires

Plus en détail

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1

Iyad Alshabani SysCom - CReSTIC Université de Reims 17/02/2011 1 SysCom - CReSTIC Université de Reims 17/02/2011 1 Motivation Gestion des expérimentations Avec les workflows Simulation Simulation des Systèmes Distribués ANR USS SimGrid Campagne de Test et gestion de

Plus en détail

Mise en œuvre des serveurs d application

Mise en œuvre des serveurs d application Nancy-Université Mise en œuvre des serveurs d application UE 203d Master 1 IST-IE Printemps 2008 Master 1 IST-IE : Mise en œuvre des serveurs d application 1/54 Ces transparents, ainsi que les énoncés

Plus en détail

Architectures Orientées Services Version 2.0

Architectures Orientées Services Version 2.0 Architectures Orientées Services Version 2.0 Principes de base et tour d horizon o Premières définitions et avantages o Enterprise Service Bus (ESB) o Standards (c) Leuville Objects. Tous droits de traduction,

Plus en détail

BizTalk 2006. Business Process Integration

BizTalk 2006. Business Process Integration BizTalk 2006 Business Process Integration Préoccupations Métier vs IT Accroître la Qualité de Service (Faire plus avec Moins) Meilleure Visibilité et Contrôle Sur le Métier Motivé par des enjeux métiers

Plus en détail

Architectures Web Services RESTful

Architectures Web Services RESTful Architectures Web Services RESTful Alexandre Denis Alexandre.Denis@inria.fr Inria Bordeaux Sud-Ouest France ENSEIRB PG306 REST REST Representational State Transfer Roy Fielding (2000) Décollage vers 2006-2007

Plus en détail

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com

Les Services Web. Jean-Pierre BORG EFORT http://www.efort.com Les Services Web Jean-Pierre BORG EFORT http://www.efort.com 1 Introduction Un "Service Web" est une application logicielle à laquelle on peut accéder à distance à partir de différents langages basés sur

Plus en détail

Bases de données documentaires et distribuées Cours NFE04

Bases de données documentaires et distribuées Cours NFE04 Bases de données documentaires et distribuées Cours NFE04 Le langage XPath: les axes Auteurs : Raphaël Fournier-S niehotta, Philippe Rigaux prénom.nom@cnam.fr Département d informatique Conservatoire National

Plus en détail

FOSS Enterprise Integration Plattaform

FOSS Enterprise Integration Plattaform FOSS Enterprise Integration Plattaform 1 Modèle architectural Visual tools Human Activity Orchestr. Integration ESB Assembly 1 JBI BC e-form BPEL Server Assembly 2 SCA Assemly 3 Enterprise Monitor MetaDB

Plus en détail

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht. Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS IDS2014, Nailloux 26-28/05/2014 pascal.dayre@enseeiht.fr 1 MVC et le web 27/05/14 2 L'évolution des systèmes informatiques

Plus en détail

Les Architectures Orientées Services (SOA)

Les Architectures Orientées Services (SOA) Les Architectures Orientées Services (SOA) Ulrich Duvent Guillaume Ansel Université du Littoral Côte d Opale 50, Rue Ferdinand Buisson BP 699 62228 Calais Cedex Téléphone (33) 03.21.46.36.92 Télécopie

Plus en détail

Programmation objet. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675

Programmation objet. www.ziggourat.com - Tél : 01 44 61 96 00 N enregistrement formation : 11752861675 Programmation objet www.ziggourat.com - Tél : 01 44 61 96 00 enregistrement formation : 11752861675 Modélisation L essentiel du monde Objet... 3 UML et processus méthodologique... 4 Expression du besoin

Plus en détail

Nouvelles Plateformes Technologiques

Nouvelles Plateformes Technologiques Cycle de présentation du développement Nouvelles Plateformes Technologiques Observatoire Technologique, CTI Observatoire Technologique 4 mai 2004 p 1 Plan de la présentation 1. Historique du projet 2.

Plus en détail

Logiciel Enterprise Guide Version 1.3 Windows

Logiciel Enterprise Guide Version 1.3 Windows Configuration requise Logiciel Enterprise Guide Version 1.3 Windows Ce document indique la configuration requise pour l'installation et l'exécution du logiciel Enterprise Guide. Vous devez mettre votre

Plus en détail

les techniques d'extraction, les formulaires et intégration dans un site WEB

les techniques d'extraction, les formulaires et intégration dans un site WEB les techniques d'extraction, les formulaires et intégration dans un site WEB Edyta Bellouni MSHS-T, UMS838 Plan L extraction des données pour un site en ligne Architecture et techniques Les différents

Plus en détail

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki

Institut Supérieur de Gestion. Cours pour 3 ème LFIG. Java Enterprise Edition Introduction Bayoudhi Chaouki Institut Supérieur de Gestion Cours pour 3 ème LFIG Java Enterprise Edition Introduction Bayoudhi Chaouki 1 Java EE - Objectifs Faciliter le développement de nouvelles applications à base de composants

Plus en détail

La démarche SOA et l interopérabilité applicative

La démarche SOA et l interopérabilité applicative La démarche SOA et l interopérabilité applicative Retour d'expérience des projets RITA / PRESTO de la Direction Générale de la Modernisation de l'état Abdelaziz Skalli Consultant Tél : +33.630.78.54.75

Plus en détail

OpenESB Libre, standard, outillé, documenté et supporté

OpenESB Libre, standard, outillé, documenté et supporté OpenESB Libre, standard, outillé, documenté et supporté Alexis Moussine-Pouchkine Sun Microsystems, Inc. Constat Les projets d'intégration sont mono-éditeur Est-ce viable à long terme? Quel(s) Standard(s)

Plus en détail

Plan : divers exemples

Plan : divers exemples INF347 Langages XML et technologies WEB exemples Sylvie Vignes, ENST École Nationale Supérieure des Télécommunications Département Informatique et Réseaux Plan : divers exemples! Rendre accessible une

Plus en détail

Architectures web/bases de données

Architectures web/bases de données Architectures web/bases de données I - Page web simple : HTML statique Le code HTML est le langage de base pour concevoir des pages destinées à être publiées sur le réseau Internet ou intranet. Ce n'est

Plus en détail

Reporting Services - Administration

Reporting Services - Administration Reporting Services - Administration Comment administrer SQL Server Reporting Services Cet article a pour but de présenter comment gérer le serveur depuis le "portail" de Reporting Services. Nous verrons

Plus en détail

Programmation en C# avec Visual Studio 2010

Programmation en C# avec Visual Studio 2010 CATALOGUE DE FORMATION Année 2011 Sommaire Programmation en C# avec Visual Studio 2010... 3 Introduction au développement Web avec Visual Studio 2010... 4 Développement d'applications Web avec Microsoft

Plus en détail

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011

Apache Camel. Entreprise Integration Patterns. Raphaël Delaporte BreizhJUG 07.11.2011 Apache Camel & Entreprise Integration Patterns Raphaël Delaporte BreizhJUG 07.11.2011 1 Speaker CTO Zenika Ouest Consultant et formateur Responsable comité technique Architecture d'entreprise Domaine ESB

Plus en détail

Les Extensions de SOAP

Les Extensions de SOAP Les Extensions de SOAP «Contourner» les limitations 11/03/2010 Présentation: S. Lavirotte Auteurs : et al* 40 Limitations de SOAP Sécurité : Limité à la sécurisation de HTTP? Transfert de données : Données

Plus en détail

Services Web SOAP. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web SOAP p.1/44

Services Web SOAP. Fabrice Rossi. http://apiacoa.org/contact.html. Université Paris-IX Dauphine. Services Web SOAP p.1/44 Services Web SOAP Fabrice Rossi http://apiacoa.org/contact.html. Université Paris-IX Dauphine Services Web SOAP p.1/44 Plan du cours SOAP 1. les évolutions de SOAP 2. l enveloppe SOAP 3. l en-tête SOAP

Plus en détail

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation

Plus en détail

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes

L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes L intégration d applications unifiée par les Services Web et XML Réconcilier J2EE.NET EIS et mainframes Page 1 Un système d information: vue de 10.000 mètres A C Système de communication AtoA (EAI) ou

Plus en détail

Nouveautés dans Crystal Reports XI version 2

Nouveautés dans Crystal Reports XI version 2 Nouveautés dans Crystal Reports XI version 2 Introduction Introduction Cette section fournit un aperçu détaillé des composants, fonctionnalités et avantages de la dernière version de Crystal Reports :

Plus en détail

Développement XPages : Cursus standard

Développement XPages : Cursus standard Développement XPages : Cursus standard Modules Pré requis Développeur Notes 2 jours Développeur Web 2 jours Module principal Développeur XPages 3 jours Modules spécialisés 2 jours par module dojo et dijit

Plus en détail

Mémoire de fin d études. Pour l obtention du diplôme d ingénieur d état en informatique. Option : Systèmes Informatiques. Thème.

Mémoire de fin d études. Pour l obtention du diplôme d ingénieur d état en informatique. Option : Systèmes Informatiques. Thème. Mémoire de fin d études Pour l obtention du diplôme d ingénieur d état en informatique Option : Systèmes Informatiques Thème Contrôle Surveillance d accès en aux temps plateformes réel des basées réseaux

Plus en détail

Business & High Technology

Business & High Technology UNIVERSITE DE TUNIS INSTITUT SUPERIEUR DE GESTION DE TUNIS Département : Informatique Business & High Technology Chapitre 4 : Web Service Sommaire Introduction... 1 Web Service... 1 Les technologies des

Plus en détail

Fusion : l interopérabilité chez Oracle

Fusion : l interopérabilité chez Oracle Standardisation et interopérabilité Fusion : l interopérabilité chez Oracle Lionel Dubreuil,, Applications Technology Product Manager, Oracle France, lionel.dubreuil@oracle.com 29/03/2006 Page : 1 Oracle

Plus en détail

Environnements de Développement

Environnements de Développement Institut Supérieur des Etudes Technologiques de Mahdia Unité d Enseignement: Environnements de Développement BEN ABDELJELIL HASSINE Mouna m.bnaj@yahoo.fr Développement des systèmes d Information Syllabus

Plus en détail

Mineure SOA. Web Services. Idir AIT SADOUNE. idir.aitsadoune@supelec.fr. Mineure Architectures Orientées Services SOA Web Services

Mineure SOA. Web Services. Idir AIT SADOUNE. idir.aitsadoune@supelec.fr. Mineure Architectures Orientées Services SOA Web Services Mineure SOA Web Services Idir AIT SADOUNE idir.aitsadoune@supelec.fr Idir AIT SADOUNE - Plan 1 Qu'est-ce qu'un Web Service? 1. Définition et principe 2. Rappels sur le protocole

Plus en détail

L intégration dans tous ses états avec Websphere ESB Muriel Viale

L intégration dans tous ses états avec Websphere ESB Muriel Viale L intégration dans tous ses états avec Websphere ESB Muriel Viale Agenda Introduction Websphere Enterprise Service Bus Le contenu Exemple de scénarii de connectivité Nouveau scénarii de connectivité pour

Plus en détail

Présentation de l architecture CORBA

Présentation de l architecture CORBA Présentation de l architecture CORBA Common Object Request Broker Architecture Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Depuis 1989, une

Plus en détail

Expériences Professionnelles

Expériences Professionnelles Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 30 ans Statut : Salarié Adresse Personnelle : 4, allée du Roussillon 91300 Massy Téléphone : (+33) 06 34 52 50 22 E-mail : ly_youssef@yahoo.fr

Plus en détail

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX

Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Présentation de l architecture COM Compinent Object Model DCOM/ACTIVEX Yves LALOUM Conseil Audit de Systèmes d information CISA ylaloum@advisehr.com 29/04/2003 1 1.Introduction Les services de composant

Plus en détail

DataPower et WebSphere Service Registry and Repository (WSRR) Magali Boulet IT Specialist magali.boulet@fr.ibm.com

DataPower et WebSphere Service Registry and Repository (WSRR) Magali Boulet IT Specialist magali.boulet@fr.ibm.com DataPower et WebSphere Service Registry and Repository (WSRR) Magali Boulet IT Specialist magali.boulet@fr.ibm.com 1 Agenda Présentation DataPower Gouvernance : intégration DataPower et WSRR Abonnement

Plus en détail

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle

Principes. 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA. Programmation en Corba. Stéphane Vialle 2A-SI 3 Prog. réseau et systèmes distribués 3. 3 Programmation en CORBA Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle 1 Principes 2 Architecture 3 4 Aperçu d utilisation

Plus en détail

Fonctionnalités de développement

Fonctionnalités de développement 163 Chapitre 5 Fonctionnalités de développement 1. Optimisation des applications ASP.NET Fonctionnalités de développement 1.1 Présentation de ASP.NET ASP.NET est un ensemble de technologies créé par Microsoft

Plus en détail

Joomla! Création et administration d'un site web - Version numérique

Joomla! Création et administration d'un site web - Version numérique Avant-propos 1. Objectifs du livre 15 1.1 Orientation 15 1.2 À qui s adresse ce livre? 16 2. Contenu de l ouvrage 17 3. Conclusion 18 Introduction 1. Un peu d histoire pour commencer... 19 1.1 Du web statique

Plus en détail

Qu'est-ce que le BPM?

Qu'est-ce que le BPM? Qu'est-ce que le BPM? Le BPM (Business Process Management) n'est pas seulement une technologie mais, dans les grandes lignes, une discipline de gestion d'entreprise qui s'occupe des procédures contribuant

Plus en détail

Introduction à ADO.NET

Introduction à ADO.NET 1 Introduction à ADO.NET Introduction à ADO.NET Sommaire Introduction à ADO.NET... 1 1 Introduction... 2 1.1 Qu est ce que l ADO.NET?... 2 1.2 Les nouveautés d ADO.NET... 2 1.3 Les avantages d ADO.NET...

Plus en détail

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui Formation PARTIE 1 : ARCHITECTURE APPLICATIVE DUREE : 5 h Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui automatisent les fonctions Définir une architecture

Plus en détail

Gérer le workflow : WSFL, XLANG et WSCL

Gérer le workflow : WSFL, XLANG et WSCL Chapitre 6 Gérer le workflow : WSFL, XLANG et WSCL La définition d une application Web repose sur la description du flot de données et du flot de contrôle unissant les services Web auxquels elle fait appel.

Plus en détail