La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Des standards du web et de leur évolution

Présentations similaires


Présentation au sujet: "Des standards du web et de leur évolution"— Transcription de la présentation:

1 Des standards du web et de leur évolution
Un survol non technique et non exhaustif des initiatives au W3C Fabien Gandon Décembre 2006

2 HTTP/D HTML URL - URI Le puzzle du web…

3 1991 – navigateur sous NeXTStep W3C créé en 1994
1990 – TB Lee propose le World Wide Web au CERN HTML, HTTP, navigateur : point de jonction 1991 – navigateur sous NeXTStep W3C créé en 1994 Une couche applicative au dessus d'Internet: HTML 1.0 (1992) Uniform Resource Locator (URL): RFC 1738 Dec. 1994 HTML 2.0: RFC 1866 Novembre 1995 HTTP 1.0: RFC 1945 in Mai 1996 HTML 3.2 Recommandation 1997 (1996) Normaliser les extensions les plus courantes Tableaux, texte autour images, applets, indices/exposants Evolutions suivantes (Scripts, Stylesheets) WD / LC / CR / PR / REC Historique

4

5

6 HTTP/D XML HTML URL - URI DTD - XML Schema Another brick in the…

7 Web structuré (la famille XML)
Extensible Markup Language 1.0 Rec XML 1.0 (Fourth Edition) W3C Recommendation 16 August 2006 XML 1.1 (Second Edition), W3C Recommendation, 16 August 2006 Un format textuel d'échange de données structurées Standard pour définir des langages balisés <user><id>fgandon</id><home>/fg</home></user> Structurer  présenter : données et structures vs. affichage ou traitement Web structuré accessible comme Base de Données Format non propriétaire et ouvert (interop., pérennité) Traitements automatiques & distribuables; API dispo. Famille de langages de représentation et manipulation MathML, CML, SVG, XMI, P3P, XACML, SAML, SMIL, BPML… Web structuré (la famille XML)

8 Accéder au XML depuis vos programmes
Développement accéléré: structure et parseurs Lecture événementielle: SAX parseur à la volée Charger le XML comme un arbre: API DOM Document Object Model Level 3 W3C Recommendation 7 April 2004 Méthodes d’échange d’XML performantes Efficient XML Interchange Measurements Note W3C Working Draft 18 July 2006 Métriques & critères (compact, fidélité, efficacité) DTD / Schéma: standardiser et échanger structures Une DTD définit les balises autorisées, leurs attributs et leur enchaînement <!DOCTYPE post_it SYSTEM "post_it.dtd"> XML Schema est son successeur: une syntaxe XML et des extensions (datatypes, types complexes, etc.) xsi:schemaLocation=" Accéder au XML depuis vos programmes

9 XML Schéma Part 0: Primer Second Edition W3C Recommendation 28 October 2004 Part 1: Structures Second Edition W3C Recommendation 28 October 2004 Part 2: Datatypes Second Edition W3C Recommendation 28 October 2004 Une syntaxe XML & Modularité Contraintes sur structure (namespaces, éléments, attributs, cardinalité ) et contenu (datatypes et types prédéfinis, entités, notations, expressions régulières) Notion de type et héritage pour définitions éléments, attributs, et datatypes (extension & restriction) Valeurs par défaut des éléments et des attributs Spécification partielle (élément / attribut quelconque) En cours: XML Schema 1.1 Part 2: Datatypes W3C Working Draft 17 February 2006, Part 1: Structures W3C Working Draft 31 August 2006 Simplicité, version, contrainte de cooccurrence. XML Schema

10 Exemples de types <simpleType name="may_date">
<restriction base="date"> <pattern value="\d{4}-05-\d{2}"/> </restriction> </simpleType> <complexType name="order_type" mixed="true"> <choice> <element ref="n:address"/> <sequence> <element ref="n: " minOccurs="0" maxOccurs="unbounded"/> <element ref="n:phone"/> </sequence> </choice> <attribute name="id" type="unsignedInt" use="required"/> </complexType> COPYRIGHT ©  ANDERS MØLLER & MICHAEL I. SCHWARTZBACH <complexType name="car"> <complexContent> <extension base="n:vehicle"> <sequence> <element name="wheel" minOccurs="3" maxOccurs="4"/> </sequence> </extension> </complexContent> </complexType> Exemples de types

11 XHTML™ 2.0 W3C Working Draft 26 July 2006
XHTML™ 1.0: Extensible HyperText Markup Language Recommendation 2000, Revision 2002 Reformulation de HTML 4 en XML 1.0 (bien formé) Construit au-dessus d’XML: bénéficie des outils XML (parser, valider, transformer, etc.) et mécanismes de modularisation & extension (composer avec d’autres langages) XHTML™ 2.0 W3C Working Draft 26 July 2006 Ne cherche pas la compatibilité ascendante Générique, moins de présentation plus de structure, accessibilité et utilisabilité, moins de scripts, indépendance au terminal Principe de modularisation Modularization of XHTML W3C Recommendation 10 April 2001 Second Edition, W3C Working Draft 18 February 2004 XHTML

12 Modularisation & extension
XHTML-Print W3C Recommendation 20 September 2006 Impression sur des imprimantes aux capacités réduites (mobiles ou sans pilote spécifique) An XHTML + MathML + SVG Profile W3C Working Draft 9 August 2002 XFrames W3C Working Draft 12 October 2005 Extension de XHTML pour la composition de documents dans une fenêtre Différence importante avec les frames: codage des frames dans l’URI <group compose="horizontal"> <group compose="vertical"> <frame xml:id=“logo"/> <frame xml:id=“index"/> </group> <frame xml:id=“content"/> Modularisation & extension

13 Document composé: Web Integration Compound Document, WICD Core 1
Document composé: Web Integration Compound Document, WICD Core 1.0 W3C Working Draft Nov 06 WICD Core 1.0 W3C Working Draft 22 November 2006 WICD Mobile 1.0 W3C Working Draft 22 November 2006 WICD Full 1.0 W3C Working Draft 22 November 2006 Combiner plusieurs formats dans un document (ex: XHTML, SVG, SMIL, XForms). Compound Document Formats (CDF) Working Group Comment combiner ? Quel est le comportement résultant? Document composé

14 Web Integration Compound Document, WICD Core 1.0
<?xml version="1.0" encoding="iso "?> <xhtml:html xmlns:xhtml=" <xhtml:body> <xhtml:h1>A Compound Document</xhtml:h1> <xhtml:p>A simple formula using MathML in XHTML.</xhtml:p> <mathml:math xmlns:mathml=" <mathml:mrow> <mathml:msqrt> <mathml:mn>49</mathml:mn> </mathml:msqrt> <mathml:mo>=</mathml:mo> <mathml:mn>7</mathml:mn> </mathml:mrow> </mathml:math> </xhtml:body> </xhtml:html> Web Integration Compound Document, WICD Core 1.0

15 Another brick in the… HTTP/D XML HTML URL - URI XSL/T XPath Xpointer
XLink DTD - XML Schema XQuery Another brick in the…

16 Adressage de structures (XPath)
XML Path Language 1.0 W3C Recommendation 1999 Langage pour décrire des chemins dans un document XML (sélectionner) Expression de chemins et sélection des éléments: balises, attribut, texte, namespace, instruction, commentaire et racines Fonctions de comparaison et de tests, de calcul, de manipulation de texte et de balises, etc. Axes de navigation: relations entre nœuds (père, frère, descendant, etc.) Retourne un node-set, une string, un booléen, un nombre © W3CSchool Adressage de structures (XPath)

17 Document: <post_it importance="urgent">
<sujet>billets d’avion</sujet> <date> </date> <message xml:lang="fr">tes billets sont sur mon bureau</message> </post_it> Chemin Valeur /post_it/*[2] <date> </date> importance="urgent"  tes billets sont sur mon bureau Exemples de XPath

18 XML Path Language (XPath) 2
XML Path Language (XPath) 2.0 W3C Proposed Recommendation 21 November 2006 Extension: typage plus riche (XSD), opérations sur des types élémentaires, traitement de séquences, itérations sum(for $x in /order/item return $x/price * $x/quantity) if ($widget1/unit-cost < $widget2/unit-cost) then $widget1 else $widget2 every $x in /students/student/name satisfies $x = "Fred"  $x intersect /foo/bar * XPath 2.0

19 XPointer 1.0 W3C Recommendation 2003
Extension des URL pour pointer sur des éléments d'un document XML même si le fragment est sans ID. Fait une connexion entre XPath et les URL: utilise un fragment XPath à la fin de l’URL Aussi une extension de XPath pour ajouter des fonction pour les URL (ex: obtenir URL précédant le fragment) Exemple: XPointer

20 Exemple de lien externe:
XML Linking Language 1.0, W3C Recommendation 2001 La généralisation du concept de lien du HTML Destiné à XML en général pas seulement HTML Plus expressif (destinations multiples, contrôle des déclencheurs, adaptation du comportement, ...) Exemple de lien externe: <a_link xmlns:xlink=" xlink:type="extended"> <a_resource xlink:type="locator" xlink:href="products.xml#154" xlink:label="prod"/> <a_resource xlink:type="locator" xlink:href="prices.xml#HT23" xlink:label="price"/> <an_arc xlink:type="arc" xlink:from="prod" xlink:to="price"/> </a_link> XLink

21 XLink dans du XHTML: HLink HLink Link recognition for the XHTML Family W3C Working Draft 13 Sept utiliser les XLink dans des liens XHTML <hlink namespace=" element="redirect" effect="replace" actuate="onLoad"/> (…) <redirect href=“default.xhtml">This page has moved</redirect> HLink

22 Un langage à la SQL pour XML: XQuery XQuery 1
Un langage à la SQL pour XML: XQuery XQuery 1.0: An XML Query Language W3C Proposed Rec 21 Nov 2006 Utilise XPath 2.0 pour ses expressions (80% spec) Fonctions, constructeurs, variables locales Très lié au monde des bases de données Exemple (W3School) : for $x in doc("books.xml")/bookstore/book where $x/price>30 order by $x/title return $x/title XQuery

23 Feuilles de styles pour XML: XSL Extensible Stylesheet Language (XSL) Version 1.0 W3C Rec 15 October 2001 Extensible Stylesheet Language (XSL) Version 1.1 W3C Rec 05 December 2006 change marks, bookmarks, multiple flows, graphic scaling, etc. XSL–FO: document formaté (format pivot de publication) <fo:block break-before="page"> <fo:block text-align="center" space-after="8pt" space-before="16pt" space-after.precedence="3">Chapter title </fo:block> (…) XSLT: transformation du XML XML stylesheets (XSL)

24 XSL Transformations 1.0 W3C Recommendation 1999
Transformation récursive d’un arbre XML source en un arbre XML cible: tester et filtrer, modifier des valeurs, ajouter des éléments, réorganiser (trier), etc. Utilise XPath pour naviguer dans un document XML afin de le transformer par exemple en HTML Les règles XSLT récursives (patrons) sont liées à une expression XPath qui détermine leur activation Boucles, embranchements, opérateurs de tri, constructeurs de nœuds, etc. XSL Transformations (XSLT) Version 2.0 W3C Proposed Recommendation 21 November 2006 Résultat temporaire, plusieurs entrées, plusieurs résultats, grouper des nœuds, fonctions définies dans une feuille, expressions régulières, application de patrons multiples à un même nœud XSLT

25 Actuellement les instructions de traitement: <
Actuellement les instructions de traitement: <?xml-stylesheet type='text/xsl' href='transform2.xsl'?> XML Processing Model Working Group XProc: An XML Pipeline Language W3C Working Draft 17 November 2006 Indiquer des opérations à faire sur un ou plusieurs documents XML (plusieurs entrées et sorties) Indiquer les séquences, l'ordre, etc. ex: décrypter en premier Interne ou externe au document considéré // schéma de traitement Non obligatoire, non unique, ressources non XML etc. XProc

26 <p:pipeline name="fig2" xmlns:p="http://example
<p:input port="doc" sequence="no"/> <p:output port="out" step="xform" source="result"/> <p:choose name="vcheck" step="fig2" source="doc"> <p:when < 2.0]"> <p:output name="valid" step="val1" source="result"/> <p:step type="p:validate" name="val1"> <p:input port="document" step="fig2" source="doc"/> <p:input port="schema" href="v1schema.xsd"/> </p:step> </p:when> <p:otherwise> <p:output name="valid" step="val2" source="result"/> <p:step type="p:validate" name="val2"> <p:input port="schema" href="v2schema.xsd"/> </p:otherwise> </p:choose> <p:step type="p:xslt" name="xform"> <p:input port="document" step="vcheck" source="valid"/> <p:input port="stylesheet" href="stylesheet.xsl"/> </p:pipeline> Source: XProc: An XML Pipeline Language W3C Working Draft 17 November 2006

27 Another brick in the… Query SPARQL annotations RDF ontologies RDFS OWL
règles inférences HTTP/D XML HTML URL - URI XSL/T XPath Xpointer XLink DTD - XML Schema XQuery Another brick in the…

28 Le ou la tour des standards du Web sémantique.
Les 4 principaux standards du Web sémantique RDF: un modèle de triplets pour décrire et connecter des ressources anonymes ou identifiées par un URI (sujet, prédicat, objet) / graphe orienté étiqueté SPARQL: un langage de requête sur les graphes RDF RDFS est un langage de déclarations et descriptions légères; typage des ressources et de leurs relations subClassOf, subPropertyOf, range, domain OWL: 3 couches d'extension de l'expressivité (logique) Un modèle en couche dans une direction d'extension; RDF sans RDFS, RDFS sans OWL, … Le ou la tour des standards du Web sémantique.

29 Resource Description Framework
Représenter assertions à propos de ressources (Web) ex: doc.html a pour auteur Fabien et parle du Web Les assertions peuvent être décomposées en prédicats binaires / triplets de la forme (sujet, propriété, valeur) ex: ( , auteur , urn://~fgandon) (urn://~fgandon , nom , "Fabien") ( , sujet , "Web") Les ressources sont identifiées par des URI/URL jointure entre les couches OSI et entre assertions Les triplets forment un graphe: Modèle & syntaxe XML d’annotation pour dire tout sur tout urn://~fgandon auteur "Web" sujet "Fabien" nom Resource Description Framework

30 SPARQL Query Language for RDF W3C Working Draft 4 October 2006
Langage de requêtes SPARQL Protocol for RDF W3C Candidate Recommendation 6 April 2006 Description (WSDL 2.0) pour soumettre une requête à une serveur distant et récupérer la réponse (binding SOAP) SPARQL Query Results XML Format W3C Candidate Recommendation 6 April 2006 Langage de résultat SPARQL

31 Requêtes sur les triplets
Forme principale en 3 clauses (SQL): PREFIX ugb: < SELECT ?etudiant ?nom FROM http// WHERE { ?etudiant ugb:inscrit ?x . ?x ugb:siteweb http// . ?etudiant ugb:nom ?nom . ?etudiant ugb:age ?age . FILTER ( ?age > 20 ) } ORDER BY ?nom LIMIT 20 OFFSET 20 Requêtes sur les triplets

32 Appel SPARQL PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?book ?who WHERE { ?book dc:creator ?who } GET /sparql/?query=EncodedQuery HTTP/1.1 Host: User-agent: my-sparql-client/0.1 HTTP/ OK Date: Fri, 06 May :55:12 GMT Server: Apache/ (Unix) PHP/4.3.4 DAV/1.0.3 Connection: close Content-Type: application/sparql-results+xml <?xml version="1.0"?> <sparql xmlns=" <head> <variable name="book"/> <variable name="who"/> </head> <results distinct="false" ordered="false"> <result> <binding name="book"><uri> <binding name="who"><bnode>r r2922</bnode></binding> </result> … Appel SPARQL

33 RDF Schema: ontologies légères
Nommer et définir un vocabulaire conceptuel consensuel et faire des inférences élémentaires Nommer les classes de ressources existantes Nommer les relations qui existent entre ces classes et donner leur signature Liens hiérarchiques entre classes et entre propriétés Donner un URI aux concepts qui vous sont importants Proche mais différent des modèles objets: propriétés en dehors des classes, multi-instanciation, héritage multiple classes et propriétés, inférences positives monotones, conjonctives Squelette taxonomique d'une ontologie S RDF Schema: ontologies légères

34 OWL: Ontologies lourdes
OWL sur une restriction de RDF/S OWL Lite / DL / Full Logiques de description Vérification, classification, identification Définition de classes (énumération, union, intersection, complément, disjonction, restriction valeur et cardinalité des propriétés) Caractérisation des propriétés (symétrique, transitive, fonctionnelle, inversement fonctionnelle, inverse) Gestion des équivalences, versions, documenter OWL: Ontologies lourdes

35 Un certain nombre d’outils/implémentations déjà disponibles ( C, C++, Java, PHP, Javascript, Python, Perles, C#, Ruby, Prolog, … Plus de 17 Triple Stores (Jena, Oracle Spatial 10g, etc.) Plus de 28 outils de développement (Altova, Top Quandrant, Protégé, etc.) Beaucoup de livres: Les schémas ne sont pas forcément à créer mais parfois à traduire (ex: normes) ou parfois même déjà disponibles (ex: INSEE) SW Pratique

36 Exemple des données de l’INSEE

37 Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations.
Générer des contrats (schéma) <rdf:RDF xmlns=" xmlns:dc=" xmlns:rdf=" <Work rdf:about=""> <license rdf:resource=" <dc:type rdf:resource=" /> </Work> <License rdf:about=" <permits rdf:resource=" <permits rdf:resource=" <requires rdf:resource=" <requires rdf:resource=" <permits rdf:resource=" </License> </rdf:RDF> Creative Commons

38 Proposer gratuitement des contrats flexibles de droit d'auteur pour diffuser des créations.
Générer des contrats (schéma) Filtrer la recherche Points importants Petit mais puissant Pas d'inférence Pour l'humain Application réelle (Google, Yahoo, flickr, musées, éditeurs, etc.) Creative Commons

39 Simple Knowledge Organization System SKOS Core Guide 2nd W3C Public Working Draft 2 November 2005 SKOS Core Vocabulary Specification 2nd W3C Public Working Draft 2 Nov 2005 Publishing a Thesaurus on the Semantic Web W3C Working Draft 17 May 2005 Représenter et partager des classifications, des glossaires, des thésaurus, des folksonomies, etc. SKOS

40 GRDDL, Microformats, RDFa
GRDDL (Gleaning Resource Descriptions from Dialects of Languages) - s’intégrer au web actuel Gleaning Resource Descriptions from Dialects of Languages W3C Working Draft 24 Oct GRDDL Primer W3C Working Draft 2 October 2006 GRDDL Use Cases: Scenarios of extracting RDF data from XML documents W3C Working Draft 2 October 2006 Déclarer qu’un document contient des données Lier une transformation (en particulier en XSLT) pour extraire ces données (en particulier en RDF/XML) XHTML & XML dialectes (ex: spreadsheet) Utilisable aussi avec : Microformats ex: RDFa ex: <span class="tel"> <span class="type">home</span>: <span class="value"> </span> </span> <h1 property="dc:title">Vacation in the South of France</h1> GRDDL, Microformats, RDFa

41 (GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases

42 (GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases

43 SweetWiki

44 En cours sur le web sémantique
RIF: Rules Interchange Format RIF Use Cases and Requirements W3C Working Draft 10 July 2006 Format d'échange de règles sur le web Interopérabilité des systèmes à base de règles Règles pour le web sémantique ex: ?person author ?doc ?doc rdf:type PhDThesis ?doc concern ?topic ?person expertIn ?topic ?person rdf:type PhD author PhDThesis ?doc Person ?person concern Topic ?topic PhD ?person expertIn En cours sur le web sémantique

45 SW Best Practices and Deployment Working Group Notes:
“Best Practice Recipes for Publishing RDF Vocabularies” “Defining N-ary relations” “Representing Classes As Property Values” “Representing "value partitions" and "value sets"” “XML Schema Datatypes in RDF and OWL” … et plus avec le SW Deployment Working Group Bonnes pratiques

46 Another brick in the… confident-ialité sécurité Query SPARQL
annotations RDF ontologies RDFS OWL règles inférences HTTP/D XML HTML URL - URI XSL/T XPath Xpointer XLink DTD - XML Schema XQuery Another brick in the…

47 Générateur étiquettes (ex: ICRA)
Platform for Internet Content Selection Rating Services and Rating Systems 1.1 Rec PICS Label Distribution Label Syntax and Communication Protocols 1.1 Rec. 1996 Protéger les enfants de certains contenus <meta http-equiv="pics-label" content='(PICS-1.1 " labels for " generic true ratings (cz 1 la 1 lb 1 lc 1 nz 1 oz 1 vz 1) " labels for " generic true ratings (n 0 s 0 v 0 l 4) )' /> Générateur étiquettes (ex: ICRA) PICS Rating Vocabularies in XML/RDF Note 2000 Web et enfants (PICS)

48 La Confidentialité: P3P The Platform for Privacy Preferences 1.0 (P3P1.0) Specification W3C Recommendation 16 April 2002 The Platform for Privacy Preferences 1.1 (P3P1.1) Specification, W3C Working Group Note 13 November 2006 P3P

49 P3P/XML encoding (cred. L. Cranor)
<POLICIES xmlns=" <POLICY discuri=" name="policy"> <ENTITY> <DATA-GROUP> <DATA </DATA> ref="#business.contact-info.online.uri"> <DATA ref="#business.name">Web Privacy With P3P</DATA> </DATA-GROUP> </ENTITY> <ACCESS><nonident/></ACCESS> <STATEMENT> <CONSEQUENCE>We keep standard web server logs.</CONSEQUENCE> <PURPOSE><admin/><current/><develop/></PURPOSE> <RECIPIENT><ours/></RECIPIENT> <RETENTION><indefinitely/></RETENTION> <DATA ref="#dynamic.clickstream"/> <DATA ref="#dynamic.http"/> </STATEMENT> </POLICY> </POLICIES> Example 3.1 of the spec P3P/XML encoding (cred. L. Cranor)

50 Web Security Context W3C WORKING GROUP NOTE 20 NOVEMBER 2006
XML Encryption Syntax and Processing W3C RECOMMENDATION 10 DECEMBER 2002 Comment encrypter des données (arbitraires, élément XML ou contenu) et représenter le résultat en XML XML-Signature Syntax and Processing W3C RECOMMENDATION 12 FEBRUARY 2002 Signer des données: intégrité, authentification, identité XML Key Management Specification (XKMS 2.0) W3C RECOMMENDATION 28 JUNE 2005 Enregistrement et distribution des clefs publiques Web Security Context W3C WORKING GROUP NOTE 20 NOVEMBER 2006 Représentation des contextes de sécurité Présentation des informations à l’utilisateur Authorizing Read Access to XML Content Using the <?access-control?> Processing Instruction 1.0 W3C WORKING DRAFT 17 MAY 2006 Quels domaines peuvent accéder au contenu d’un site XML & la sécurité

51 Another brick in the… confident-ialité sécurité Query SPARQL
annotations RDF ontologies RDFS OWL règles inférences HTTP/D XML HTML URL - URI XSL/T service composition description schémas annotation services applications services web WSDL SOAP XPath Xpointer XLink DTD - XML Schema XQuery Another brick in the…

52 HTML 2.0 contenait déjà des formulaires
Dans la deuxième moitié des années 90 le Web intègre de plus en plus de services (documents dynamiques) Développement des CGI (C, C++, Shell, Perl, etc.) Common Gateway Interface, lancé à chaque appel Origine: extension des serveurs pour moteurs de recherche Maintenant: extension applicative STDIN / STDOUT PHP, ASP (VBScript),etc. En Java: Servlet, JSP Navigateur Serveur CGI Requête HTTP Réponse HTTP Paramètres HTML Form C, Perl, etc. Web dynamique (CGI)

53 Un web d'intégration d'applications
Demande grandissante d'intégration vs. hétérogénéité & systèmes légataires accumulés De plus en plus de logiciels: outils, langages, etc. De plus en plus de sources, bases, etc. De plus en plus de matériel. Distribution des applications nécessaires à une tâches Service Web : interface programmatique sur le web Accessible à travers les protocoles du Web Décrite dans un document XML (WSDL) Invoquée et répondant avec des messages XML (SOAP) Un web d'intégration d'applications

54 XML Protocol Working Group (premier groupe)
Enveloppe XML & traitement pour le transport de données Sérialisations de structures (ex: graphes) et optimisation XML-binary Optimized Packaging W3C Recommendation 25 January 2005 SOAP Message Transmission Optimization Mechanism W3C Rec 25 January 2005 Cas particulier de binding (HTTP) Web Services Addressing Working Group Web Services Addressing 1.0 – Core W3C Recommendation 9 May 2006 Web Services Addressing SOAP Binding W3C Recommendation 9 May 2006 Adressage indépendant du mode de transport Entête des messages et routage, réponses et erreurs Documentation des points d'accès Web Services Description Working Group (WSDL) Message: définitions des types de données échangées. Description des séquences d'opérations permises Relier aux différents protocoles (Binding) Web Services Activity

55 WSDL 1.0: Décrire des services
<message name="getPriceRequest"> <part name="title" type="xs:string"/> </message> <message name="getPriceResponse"> <part name="price" type="xs:decimal"/> <portType name="pricingBooks"> <operation name="getPriceForTitle"> <input message="getPriceRequest"/> <output message="getPriceResponse"/> </operation> </portType> <binding type="pricingBooks" > <soap:binding style="document" transport=" /> <operation> <soap:operation soapAction=" (…) </binding> WSDL 1.0: Décrire des services

56 SOAP 1.0: Invoquer des services
POST /InStock HTTP/1.1 Host: Content-Type: application/soap+xml; charset=utf-8 Content-Length: 175 <soap:Envelope (…)> <soap:Body xmlns:ex="(…)"> <ex:getPriceRequest> <ex:title>Weaving the Web</ex:title> </ex:getPriceRequest> </soap:Body> </soap:Envelope> HTTP/ OK Content-Type: application/soap; charset=utf-8 Content-Length: 159 <ex:getPriceResponse> <ex:price>10.20</ex:price> </ex:getPriceResponse> SOAP 1.0: Invoquer des services

57 WSDL Recommendations WSDL et SOAP Rec
Web Services Description Language (WSDL) Version 2.0 Part 0: Primer W3C Candidate Recommendation 27 March 2006 Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language W3C Candidate Recommendation 27 March 2006 Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts W3C Candidate Recommendation 27 March 2006 Web Services Description Language (WSDL) Version 2.0 SOAP 1.1 Binding W3C Working Draft 27 March 2006 Web Services Description Language (WSDL) Version 2.0: RDF Mapping W3C Working Draft 27 March 2006 Recommendations SOAP Version 1.2 Part 0: Primer W3C Recommendation 24 June 2003 SOAP Version 1.2 Part 1: Messaging Framework W3C Rec 24 June 2003 SOAP Version 1.2 Part 2: Adjuncts W3C Recommendation 24 June 2003 SOAP Version 1.2 Specification Assertions & Test Collection W3C Rec 24 June 03 XML-binary Optimized Packaging W3C Recommendation 25 January 2005 SOAP Message Transmission Optimization Mechanism W3C Rec 25 January 2005 Resource Representation SOAP Header Block Rec 25 January 2005 WSDL et SOAP Rec

58 Web Services Choreography WS Choreography Model Overview W3C Working Draft 24 March 2004 Web Services Choreography Description Language Version 1.0 W3C Candidate Rec Nov Web Services Choreography Description Language: Primer W3C Working Draft 19 June 2006 Séquence et conditions d'échanges pair-à-pair Description partagée ; contrat ; pas un contrôle central Web Services Activity

59 XML Databinding Basic XML Schema Patterns for Databinding Version 1
XML Databinding Basic XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 22 Nov Advanced XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 22 Nov XML Schema Patterns for Common Data Structures Ver. 1.0 W3C Working Draft 12 May 2006 Documenter les patterns de structures de données récurrentes ; indépendamment des langages Recueil: ex: String Value, Boolean Value, Decimal Value, Null Value, Default Value, Enumeration, Collection, Vector XPath pour les extraire d’un document <xs:simpleType name="Beatle"> <xs:restriction base="xs:string"> <xs:enumeration value="John"/> <xs:enumeration value="Paul"/> <xs:enumeration value="George"/> <xs:enumeration value="Stuart"/> <xs:enumeration value="Pete"/> <xs:enumeration value="Ringo"/> </xs:restriction> </xs:simpleType> = xs:QName('xs:string') and xs:enumeration]/ XML Databinding

60 Web Services Policy Web Services Policy 1
Web Services Policy Web Services Policy 1.5 – Primer W3C Working Draft 18 October 2006 Web Services Policy 1.5 – Attachment W3C Working Draft 17 November 2006 Web Services Policy 1.5 – Framework - W3C Working Draft 17 November 2006 Capacités et pré-requis d’un service web (ex: sécurité) (01) <wsp:Policy xmlns:sp=" xmlns:wsp=" > (02) <wsp:ExactlyOne> (03) <wsp:All> (04) <sp:SignedParts/> (05) <sp:Body/> (06) </sp:SignedParts/> (07) </wsp:All> (08) <wsp:All> (09) <sp:EncryptedParts/> (10) <sp:Body/> (11) </sp:EncryptedParts/> (12) </wsp:All> (13) </wsp:ExactlyOne> (14) </wsp:Policy> Web Services Policy

61 Services web sémantiques
Semantic Annotations for Web Services Description Language (SAWSDL) Annotation sémantique des descriptions de services en utilisant les mécanismes d’extension de WSDL 2.0 Semantic Annotations for WSDL W3C WORKING DRAFT 28 SEPTEMBER 2006 Semantic Annotations for WSDL - Usage Guide W3C WORKING DRAFT 28 SEPTEMBER 2006 Considérer les services comme un autre type de ressources et les annoter. Annoter le service, les opérations, les entrées / sorties Relier les entrées/sorties de plusieurs services pour composer leurs traitements et créer des applications Requester Provider Registry find register execute Services web sémantiques

62 SAWSDL Draft example <wsdl:description (…) <wsdl:types>
<xs:schema elementFormDefault="qualified"> (…) <xs:element name="OrderResponse" type="confirmation" /> <xs:simpleType name="confirmation" sawsdl:modelReference=" <xs:restriction base="xs:string"> <xs:enumeration value="Confirmed" /> <xs:enumeration value="Pending" /> <xs:enumeration value="Rejected" /> </xs:restriction> </xs:simpleType> </xs:schema> </wsdl:types> <wsdl:interface name="Order" sawsdl:modelReference=" <wsdl:operation name="order" pattern=" sawsdl:modelReference=" <wsdl:input element="OrderRequest" /> <wsdl:output element="OrderResponse" /> </wsdl:operation> </wsdl:interface> </wsdl:description> SAWSDL Draft example

63 Exemple de composition
Phone of Secretary Phone  Name name phone name employee secretary Exemple de composition

64 Another brick in the… confident-ialité sécurité Query SPARQL
annotations RDF ontologies RDFS OWL règles inférences multimédia multimodal HTTP/D XML HTML URL - URI XSL/T service composition description schémas annotation services applications services web WSDL SOAP XPath Xpointer XLink DTD - XML Schema XQuery Another brick in the…

65 HTML 4.0 Dec & HTML 4.01 Recom. 1999 Éléments (ABBR, ACRONYM, BDO, BUTTON, COL, COLGROUP, DEL, FIELDSET, FRAME, FRAMESET, IFRAME, INS, LABEL, LEGEND, NOFRAMES, NOSCRIPT, OBJECT, OPTGROUP, PARAM, SPAN, TBODY, TFOOT, THEAD, Q.) Encourage les Stylesheets (CSS) (Début séparation) Introduit les Frames (beurk !) Généralise objets multimédias (Applets  Objects) Mécanismes d’inclusion des scripts (indép. langage) Extension tableaux (structure, taille) (rendu incrémental) Amélioration des formulaires (label, scripts, fieldset, etc.) Internationalisation et textes multidirectionnels & prise en compte des personnes déficientes (accessibilité universelle) Web multimédia

66 Cascading Style Sheets, W3C Recommendation 1996 CSS 1, revised 11 Jan 1999 CSS 2, Rec. 12-May-1998, CSS 2.1 W3C Working Draft 06 November 2006 CSS 3 working drafts (>20): Aural, Basic User Interface Module (XForm),... <HTML> <HEAD> <TITLE>title</TITLE> <LINK REL=STYLESHEET TYPE="text/css" HREF=" TITLE="Cool"> <STYLE TYPE="text/css"> @import url( H1 { color: blue } </STYLE> </HEAD> <BODY> <H1>Headline is blue</H1> <P STYLE="color: green">While the paragraph is green. </BODY> </HTML> Séparation contenu et présentation, modularité des styles, réutilisation feuilles transversales aux sites Web stylé (CSS)

67 <ellipse cx="210" cy="45" rx="170" ry="15" style="fill:yellow"/>
Scalable Vector Graphics (SVG) : SVG 1.0 Recommendation 2001 SVG 1.1 Recommendation 2003 SVG 1.2 Specification W3C Working Draft 13 April 2005 Graphiques en 2D décrits en XML Trois types d’objets: graphiques vectoriels, images et textes Groupement, styles, transformations, compositions, filtres, masques, modèles Interactif, dynamique, animé Scripts, évènements, et accès au DOM (SVG, XHTML) <ellipse cx="210" cy="45" rx="170" ry="15" style="fill:yellow"/> SVG

68 SVG dans KmP

69 Animations et aspects temporels
Synchronized Multimedia Integration Language: SMIL 2.1 W3C RECOMMENDATION 13 DECEMBER 2005 Présentations audio-visuelles interactives Intégration et synchronisation d'éléments multimédias Animations et aspects temporels

70 Timed Text: textes ayant une dimension temporelle Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP) W3C Candidate Recommendation 16 November 2006 Gérer les aspects temporels du texte (ex: sous-titres, karaoké, téléprompteur, etc.) Issu du travail sur SMIL 2 Validité, synchronisation, ordonnancement, etc. Textes temporisés

71 Web Forms 2.0 W3C Working Draft 21 August 2006
Extension des formulaires HTML 4 / XHTML 1 (HTML5) Compatibilité ascendante, typage simple, validations simples, ajout dynamique de champs, soumission au format XML, initialisation par sources externes, terminaux limités Web Forms

72 <input type="range" min="-100" max="100" value="0" step="10" name="power" list="powers">
<datalist id="powers"> <option value="0"> <option value="-30"> <option value="30"> </datalist> <input type="datetime" step="120" name="start"> <input type="url" name="location" list="urls"> <datalist id="urls"> <option label="MIME: Format of Internet Message Bodies" value=" <option label="HTML 4.01 Specification" value=" <option label="Form Controls" value=" <option label="Scalable Vector Graphics (SVG) 1.1 " value=" <option label="Feature Sets - SVG 1.1" value=" <option label="The Single UNIX Specification" value=" </datalist> Exemples Web Forms

73 Exemples Web Forms (II)
<input name="a" type="number" step="any" value="0"> * <input name="b" type="number" step="any" value="0"> = <output name="result" onforminput="value = a.value * b.value">0</output> </p> </form> Exemples Web Forms (II)

74 Les XForms: nouvelle génération de formulaires
XForms: séparation des problèmes (// MVC) Séparation modèle de données, typage, champs, soumission, contenu et interface Actions du formulaire (envois, tests, calculs…) (XML) Les parties visibles / perceptibles du formulaire (XML) Les données qu'il utilise et produit (XML…) Types composés et schémas XML Communication serveur Objectif : intégrable dans tout langage XML (XHTML, SVG, Voice XML, etc.) Adaptation au terminal, form. sur plusieurs pages, données structurées, internationalisation, etc. Les XForms: nouvelle génération de formulaires

75 XForms 1.0 (Second Edition) W3C Recommendation 14 March 2006
XForms 1.1 W3C Working Draft 03 November 2006 Ajoute des modes de soumission, des traitements, des accesseurs, de nouveaux types, de nouvelles fonctions, <xforms:model> <xforms:instance> <ecommerce xmlns=""> <method/> <number/> <expiry/> </ecommerce> </xforms:instance> <xforms:submission action=" method="post" id="submit" includenamespaceprefixes=""/> </xforms:model> <select1 ref="method"> <label>Select Payment Method:</label> <item> <label>Cash</label> <value>cash</value> </item> <label>Credit</label> <value>cc</value> </select1> <input ref="number"> <label>Credit Card Number:</label> </input> <input ref="expiry"> <label>Expiration Date:</label> <submit submission="submit"> <label>Submit</label> </submit> Exemple XForm

76 XML Binding Language (XBL) 2.0 W3C Working Draft 7 September 2006
Faire correspondre des comportements à des éléments (scripts, réponses à des événements, CSS, modèles de contenu) <xbl:xbl xmlns:xbl=" xmlns:data=" <xbl:binding element="data|grid"> <xbl:template> <xbl:div class="caption" xbl:inherits="xbl:text=title"/> <xbl:div class="outer-table"> <xbl:div class="columns"> <xbl:content includes="data|column"> <data:column/> <xbl:/content> <xbl:/div> <xbl:div class="rows"> <xbl:content includes="data|heading"/> <xbl:div class="body"> <xbl:content includes="data|row:not([hidden])"/> <xbl:/template> ... XML Binding Language

77 Multi-média et Multimodal
Multimodal Interaction Activity Sélectionner le mode d'interaction le plus approprié Adapter l'interface (contexte, utilisateur, terminal…) Entrées ex: clavier, parole, écriture manuelle, etc. Sorties: écran, synthèse vocale, vibreurs, Braille, etc. EMMA: Extensible MultiModal Annotation ML W3C Last Call Working Draft 12 September 2005 Représenter et structurer les entrées de l'utilisateur Analyse fournit par systèmes de traitement du signal Annoter les entrées avec leur interprétation (résultat de la reconnaissance, fiabilité, options possibles) Et aussi: Multimodal Architecture and Interfaces W3C Working Draft 14 April 2006 Common Sense Suggestions for Developing Multimodal User Interfaces W3C Working Group Note 11 September 2006 Multimodal Application Developer Feedback W3C Working Group Note 14 April 2006 Multi-média et Multimodal

78 Voice Browser Activity
Accéder au web sur son téléphone (voix et clavier) Voice XML: décrire un dialogue audio qui mélange: synthèse, reconnaissance et clavier numérique Voice Extensible Markup Language 2.1 W3C Working Draft 15 Sep 2006 Speech Recognition Grammar Specification (SRGS ): reconnaissance des entrées (voix et clavier) SRGS W3C Recommendation 16 March 2004 Speech synthesis specification (SSML): messages préenregistrés, synthèse vocale et musique SSML Version 1.0 W3C Recommendation 7 September 2004 Pronunciation Lexicons: informations phonétiques Pronunciation Lexicon Specification (PLS) 1.0 W3C Working Draft 26 Oct 2006 Semantic Interpretation for Speech Recognition: annotations de grammaires d'extraction de la sémantique SISR 1.0 W3C Working Draft 3 November 2006 Call Control (CCXML): contrôle des appels CCXML Version 1.0 W3C Working Draft 22 November 2006 State Chart XML (SCXML): langage de contrôle State Machine Notation for Control Abstraction W3C Working Draft 24 Jan 2006 Voice Browser Activity

79 Pronunciation Lexicon Specification W3C Working Draft 26 Oct 2006

80 Call Control CCXML 1.0 W3C Working Draft 22 November 2006
<?xml version="1.0" encoding="UTF-8"?> <ccxml version="1.0" xmlns=" <eventprocessor> <transition event="connection.alerting" name="evt"> <log expr="'The number called is' + evt.connection.remote + '.'"/> <if cond="evt.connection.remote == 'tel: '"> <log expr="'Go away! we do not want to answer the phone.'"/> <reject/> <else/> <log expr="'We like you! We are going to answer the call.'"/> <accept/> </if> </transition> <transition event="connection.connected"> <log expr="'Call was answered,Time to disconnect it.'"/> <disconnect/> <transition event="connection.disconnected"> <log expr="'Call has been disconnected. Ending CCXML Session.'"/> <exit/> </eventprocessor> </ccxml> Call Control CCXML 1.0 W3C Working Draft 22 November 2006

81 W3C VoiceXML 2.0 Rec 16 March 2004 <?xml version="1.0"?>
<vxml version="2.0"> <menu> <prompt> Say one of: <enumerate/> </prompt> <choice next=" Sports </choice> <choice next=" Weather <choice next=" News <noinput>Please say one of <enumerate/></noinput> </menu> </vxml> A dialog might proceed as follows: Computer: Say one of: Sports; Weather; News. Human: Astrology Computer: I did not understand what you said. (a platform-specific default message.) Human: Sports Computer: (proceeds to W3C VoiceXML 2.0 Rec 16 March 2004

82 Initiative Rich Web Clients
API standards pour des applications exécutées du côté du client API d’appels clients au serveur (en particulier pour les scripts) The XMLHttpRequest Object W3C Working Draft 27 September 2006 API d’accès aux fenêtres et aux autres documents Window Object 1.0 W3C Working Draft 07 April 2006 API de sélection et chargement d’un fichier File Upload W3C Working Draft 18 October 2006 Web Application Formats Working Group Spécification des applications exécutées sur le client Langages pour ces applications et leurs interfaces Couvrir les différents terminaux (station ou mobile) Langages déclaratifs d'interfaces (ex: XUL) Widgets 1.0 W3C Working Draft 9 November 2006 Petites applications clientes permettant de visualiser et/ou modifier des données à distance Packaging, manifeste, API/interface script Ex: montres, affichage d’un cours d’action, brèves, jeu, météo, Clients riches

83 Ink Markup Language (InkML) W3C Working Draft 23 October 2006
Représenter l’écriture manuscrite, les dessins à main levée, gestes, signatures, etc. sur des systèmes électroniques <ink> <trace> 10 0, 9 14, 8 28, 7 42, 6 56, 6 70, 8 84, 8 98, 8 112, 9 126, , , , , , , , , , , , , , , , , </trace> <trace> , , , , , , , , , , , , , , , , , , , </trace> <trace> , , , , , , , , , , , </trace> <trace> , , , , , , , , , , , , </trace> <trace> , , , , , , , , , , , , , , , </trace> </ink> InkML

84 Web Accessibility Initiative
Web Accessibility Initiative (WAI) Web 3.0 : le Web accessible à tous ? Guides et ressources pour améliorer l'accessibilité Web Content Accessibility Guidelines 2.0 W3C Working Draft 27 April 2006 Authoring Tool Accessibility Guidelines 2.0 W3C Working Draft 23 November 2005 User Agent Accessibility Guidelines 1.0 W3C Recommendation 17 December 2002 Evaluation and Report Language (EARL) 1.0 Schema W3C Working Draft 27 Sept. 2006 EARL: Vocabulaire standard pour représenter résultats d’évaluation indépendamment d’une plateforme. Beaucoup d’outils : Web Accessibility Initiative

85 Interopérabilité internationale
Modèles de caractères pour les textes du Web Character Model for the World Wide Web 1.0: Fundamentals W3C Rec. 15 Feb 2005 manipulations interoperable de texte sur le Web Internationalisation des services Web Requirements for the Internationalization of Web Services W3C Working Group Note, 16 November 2004 Interopérabilité internationale

86 Another brick in the… mobilité ubiquité confident-ialité sécurité
Query SPARQL annotations RDF ontologies RDFS OWL règles inférences multimédia multimodal HTTP/D XML HTML URL - URI XSL/T service composition description schémas annotation services applications services web WSDL SOAP XPath Xpointer XLink DTD - XML Schema XQuery Another brick in the…

87 Mobile Web Initiative Device Independence
Faciliter l'accès au web sur des terminaux mobiles Consortium d'acteurs du monde mobile pour normaliser l'accès au web sur les différentes plateformes Mobile Web Best Practice (MWBP) Working Group: pratiques de conception sites web accessibles sur mobiles Device Description Working Group (DDWG): données et services de description des terminaux Device Independence CC/PP (Composite Capabilities/Preference Profiles) W3C Recommendation 15 January 2004 Capacités du terminal et préférences de l'utilisateur Le web bouge…

88 <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ccpp=" xmlns:ex=" <rdf:Description rdf:about=" <ccpp:component> <rdf:Description rdf:about=" <rdf:type rdf:resource=" /> <ex:displayWidth>320</ex:displayWidth> <ex:displayHeight>200</ex:displayHeight> </rdf:Description> </ccpp:component> <rdf:Description rdf:about=" <rdf:type rdf:resource=" /> <ex:name>EPOC</ex:name> <ex:version>2.0</ex:version> <ex:vendor>Symbian</ex:vendor> <rdf:Description rdf:about=" <rdf:type rdf:resource=" /> <ex:name>Mozilla</ex:name> <ex:version>5.0</ex:version> <ex:htmlVersionsSupported> <rdf:Bag> <rdf:li>3.2</rdf:li> <rdf:li>4.0</rdf:li> </rdf:Bag> </ex:htmlVersionsSupported> </rdf:RDF> CC/PP en RDF

89 S’adapter aux terminaux
Sélection du contenu en contexte Content Selection for Device Independence (DISelect) 1.0 W3C Working Draft 10 October 2006 <p>The flooding was quite extensive.</p> <p sel:expr="dcn:cssmq-width('px') > 200"> <object src="image1" sel:selid="artimg42"/> </p> <p>Many people were evacuated from their homes.</p> Delivery Context: Interfaces (DCI) Accessing Static and Dynamic Properties W3C Candidate Recommendation 19 October 2006 API d’accès à la hiérarchies des propriétés caractérisant le terminal, sa configuration, les préférences de l’utilisateur et l’environnement. (+ ECMA Script Binding) Device Independent Authoring Language (DIAL) W3C Working Draft 16 May 2006 S’adapter aux terminaux

90 Another brick in the… mobilité ubiquité confident-ialité sécurité
Query SPARQL annotations RDF ontologies RDFS OWL règles inférences multimédia multimodal HTTP/D XML HTML URL - URI XSL/T service composition description schémas annotation services applications services web WSDL SOAP XPath Xpointer XLink DTD - XML Schema XQuery Another brick in the…

91 Quelques phrases de conclusion
Le web 3.0 … … un media modifiable ( le contenu, les services, les liens, les vues, les interfaces, etc.) … paradigmes de programmation abstraits & déclaratifs, … programmation orientée services et modèles … une immense machine virtuelle … un Model – View – Controller à l’échelle du Web Chantiers: sécurité, confidentialité, qualité, traçabilité, confiance, ergonomie, etc. Un web de communautés multiples où chacun a ses rôles, ses données, ses services, etc. Un lieu de rencontre: présence partage, collaboration, T. Berners-Lee, RuleML kickoff, 2005 Quelques phrases de conclusion

92 Sources, références et pointeurs
W3C documents at Tutorials on Semantic Web Technologies by Ivan Herman W3C Tutorials: W3C 10th Anniversary W3School: XML Revolution: O’Reilly XML.com


Télécharger ppt "Des standards du web et de leur évolution"

Présentations similaires


Annonces Google