Aristote_7Dec06_FabienGandon

Download Report

Transcript Aristote_7Dec06_FabienGandon

Des standards du web et de leur évolution
Un survol non technique et non exhaustif des initiatives au W3C
Fabien Gandon
Décembre 2006
HTTP/D
HTML
Le puzzle du web…
URL - URI
2
• 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)
http://www.w3.org/History/19921103-hypertext/hypertext/WWW/MarkUp/MarkUp.html
–
–
–
–
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
3
4
5
HTTP/D
HTML
XML
URL - URI
DTD - XML
Schema
Another brick in the…
6
• Extensible Markup Language 1.0 Rec. 1998
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)
7
• 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="http://myfirm.com/post_it.xsd"
Accéder au XML depuis vos programmes
8
• 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
9
<complexType name="order_type" mixed="true">
<choice>
<element ref="n:address"/>
<sequence>
<element ref="n:email" minOccurs="0" maxOccurs="unbounded"/>
<element ref="n:phone"/>
</sequence>
</choice>
<attribute name="id" type="unsignedInt" use="required"/>
</complexType>
<complexType name="car">
<complexContent>
<extension base="n:vehicle">
<sequence>
<element name="wheel" minOccurs="3" maxOccurs="4"/>
</sequence>
</extension>
</complexContent>
</complexType>
Exemples de types
COPYRIGHT © 2000-2003 ANDERS MØLLER & MICHAEL I. SCHWARTZBACH
<simpleType name="may_date">
<restriction base="date">
<pattern value="\d{4}-05-\d{2}"/>
</restriction>
</simpleType>
10
• 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
11
• 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"/>
</group>
Modularisation & extension
http://example.org/home.xframes#frames
(logo=aristote.xhtml,index=start.xhtml,co
ntent=welcome.xhtml)
12
• 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é
13
<?xml version="1.0" encoding="iso-8859-1"?>
<xhtml:html xmlns:xhtml="http://www.w3.org/1999/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="http://www.w3.org/1998/Math/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
14
HTTP/D
HTML
XML
XSL/T
URL - URI
XPath
Xpointer
DTD - XML
Schema
XQuery
XLink
Another brick in the…
15
© W3CSchool
• 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
Adressage de structures (XPath)
16
• Document:
<post_it importance="urgent">
<sujet>billets d’avion</sujet>
<date>2005-11-28</date>
<message xml:lang="fr">tes billets sont
sur mon bureau</message>
</post_it>
Chemin
Valeur
/post_it/*[2]
<date>2005-11-28</date>
/post_it@importance
importance="urgent"
//*[@lang='fr']/text() tes billets sont sur mon
bureau
Exemples de XPath
17
• 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
* except @exc:foo
XPath 2.0
18
• 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:
http://www.inria.fr/teams.xml#xpointer(acacia/a
rticles[position()<=10])
XPointer
19
• 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="http://www.w3.org/1999/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
20
• XLink dans du XHTML: HLink
HLink Link recognition for the XHTML Family W3C Working Draft 13 Sept. 2002
utiliser les XLink dans des liens XHTML
<hlink namespace="http://www.example.com/markup"
element="redirect" locator="@href"
effect="replace" actuate="onLoad"/>
(…)
<redirect href=“default.xhtml">This page has moved</redirect>
HLink
21
• 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
22
• 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)
23
• 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
24
• 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
25
<p:pipeline name="fig2" xmlns:p="http://example.org/PipelineNamespace">
<p:input port="doc" sequence="no"/>
<p:output port="out" step="xform" source="result"/>
<p:choose name="vcheck" step="fig2" source="doc">
<p:when test="/*[@version &lt; 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="document" step="fig2" source="doc"/>
<p:input port="schema" href="v2schema.xsd"/>
</p:step>
</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:step>
</p:pipeline>
Source: XProc: An XML Pipeline Language W3C Working Draft 17 November 2006
26
HTTP/D
HTML
OWL
RDF
RDFS
Query annotations ontologies
SPARQL
règles
inférences
XML
XSL/T
URL - URI
XPath
Xpointer
DTD - XML
Schema
XQuery
XLink
Another brick in the…
27
• 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.
28
• 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:
(http://inria.fr/doc.html , auteur , urn://~fgandon)
(urn://~fgandon , nom , "Fabien")
(http://inria.fr/doc.html , sujet , "Web")
• Les ressources sont identifiées par des URI/URL
jointure entre les couches OSI et entre assertions
• Les triplets forment
un graphe:
auteur
http://inria.fr/doc.html
sujet
"Web"
urn://~fgandon
nom
"Fabien"
• Modèle & syntaxe XML d’annotation pour dire tout sur tout
Resource Description Framework
29
• 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
30
• Forme principale en 3 clauses (SQL):
PREFIX ugb: <http://www.ugb.sn/dess#>
SELECT ?etudiant ?nom
FROM http//www.ugb.sn/data.rdf
WHERE {
?etudiant ugb:inscrit ?x .
?x ugb:siteweb http//www.ugb.sn .
?etudiant ugb:nom ?nom .
?etudiant ugb:age ?age .
FILTER ( ?age > 20 )
}
ORDER BY ?nom
LIMIT 20
OFFSET 20
Requêtes sur les triplets
31
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: www.example
User-agent: my-sparql-client/0.1
HTTP/1.1 200 OK
Date: Fri, 06 May 2005 20:55:12 GMT
Server: Apache/1.3.29 (Unix) PHP/4.3.4 DAV/1.0.3
Connection: close
Content-Type: application/sparql-results+xml
<?xml version="1.0"?>
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="book"/>
<variable name="who"/>
</head>
<results distinct="false" ordered="false">
<result>
<binding name="book"><uri>http://www.example/book/book5</uri></binding>
<binding name="who"><bnode>r29392923r2922</bnode></binding>
</result> …
Appel SPARQL
32
• 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
33
• 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
34
• Un certain nombre d’outils/implémentations déjà
disponibles (http://esw.w3.org/topic/SemanticWebTools):
– 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: http://esw.w3.org/topic/SwBooks
• 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
35
Exemple des données de l’INSEE
36
• Proposer gratuitement des contrats flexibles de droit
d'auteur pour diffuser des créations.
– Générer des contrats (schéma)
<rdf:RDF xmlns="http://web.resource.org/cc/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
<Work rdf:about="">
<license rdf:resource="http://creativecommons.org/licenses/by/2.0/fr/"/>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</Work>
<License rdf:about="http://creativecommons.org/licenses/by/2.0/fr/">
<permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
<permits rdf:resource="http://web.resource.org/cc/Distribution"/>
<requires rdf:resource="http://web.resource.org/cc/Notice"/>
<requires rdf:resource="http://web.resource.org/cc/Attribution"/>
<permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
</License>
</rdf:RDF>
Creative Commons
37
• 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
38
• 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
39
• 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. 2006
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">+1.415.555.1212</span>
</span>
<h1 property="dc:title">Vacation in the South of France</h1>
GRDDL, Microformats, RDFa
40
(GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases
41
(GRDDL) Gleaning Resource Descriptions from Dialects of Languages, test cases
42
SweetWiki
43
• 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
PhDThesis
?doc
concern
author
?person
Topic
?topic
expertIn
En cours sur le web sémantique
Person
PhD
?person
44
• 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
45
RDF
sécurité
HTTP/D
HTML
OWL
Query annotations ontologies
SPARQL
RDFS
confidentialité
règles
inférences
XML
XSL/T
URL - URI
XPath
Xpointer
DTD - XML
Schema
XQuery
XLink
Another brick in the…
46
• Platform for Internet Content Selection
Rating Services and Rating Systems 1.1 Rec. 1996
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
"http://www.icra.org/ratingsv02.html" labels
for "http://mm.256.com/"
generic true
ratings (cz 1 la 1 lb 1 lc 1 nz 1 oz 1 vz 1)
"http://www.rsac.org/ratingsv01.html" labels
for "http://mm.256.com/"
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)
47
• 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
48
<POLICIES xmlns="http://www.w3.org/2002/01/P3Pv1">
<POLICY discuri="http://p3pbook.com/privacy.html"
name="policy">
<ENTITY>
<DATA-GROUP>
<DATA
ref="#business.contact-info.online.email">[email protected]
</DATA>
<DATA
ref="#business.contact-info.online.uri">http://p3pbook.com/
</DATA>
<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-GROUP>
<DATA ref="#dynamic.clickstream"/>
<DATA ref="#dynamic.http"/>
</DATA-GROUP>
</STATEMENT>
</POLICY>
</POLICIES>
P3P/XML encoding (cred. L. Cranor)
49
• 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é
50
RDF
sécurité
HTTP/D
Another brick in the…
SOAP
WSDL
schémas applications
XPath
annotation services web Xpointer
services
règles
inférences
XML
XSL/T
URL - URI
HTML
service
composition
description
OWL
Query annotations ontologies
SPARQL
RDFS
confidentialité
DTD - XML
Schema
XQuery
XLink
51
• 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
Requête HTTP
Navigateur
Form
Paramètres
Serveur
Réponse HTTP
HTML
CGI
C, Perl, etc.
• PHP, ASP (VBScript),etc.
• En Java: Servlet, JSP
Web dynamique (CGI)
52
• 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
53
• 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 1.0 - 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
54
<message name="getPriceRequest">
<part name="title" type="xs:string"/>
</message>
<message name="getPriceResponse">
<part name="price" type="xs:decimal"/>
</message>
<portType name="pricingBooks">
<operation name="getPriceForTitle">
<input message="getPriceRequest"/>
<output message="getPriceResponse"/>
</operation>
</portType>
<binding type="pricingBooks" >
<soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http" />
<operation>
<soap:operation soapAction="http://shp.com/getPrice"/> (…)
</operation>
</binding>
WSDL 1.0: Décrire des services
55
POST /InStock HTTP/1.1
Host: www.stock.org
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/1.1 200 OK
Content-Type: application/soap; charset=utf-8
Content-Length: 159
<soap:Envelope (…)>
<soap:Body xmlns:ex="(…)">
<ex:getPriceResponse>
<ex:price>10.20</ex:price>
</ex:getPriceResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.0: Invoquer des services
56
• WSDL
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
57
• 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 2005
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
58
• XML Databinding
Basic XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 22 Nov. 2006
Advanced XML Schema Patterns for Databinding Version 1.0 W3C Working Draft 22 Nov. 2006
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: http://www.w3.org/2002/ws/databinding/patterns/6/09/
– 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>
XML Databinding
.//xs:simpleType/xs:restriction[@base/r
esolve-QName(.,..) =
xs:QName('xs:string') and
xs:enumeration]/
59
• 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="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy"
xmlns:wsp="http://www.w3.org/2006/07/ws-policy" >
(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
60
• 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
Registry
Requester
Provider
• Relier les entrées/sorties de plusieurs services pour
composer leurs traitements et créer des applications
Services web sémantiques
61
<wsdl:description (…)
<wsdl:types>
<xs:schema elementFormDefault="qualified">
(…)
<xs:element name="OrderResponse" type="confirmation" />
<xs:simpleType name="confirmation"
sawsdl:modelReference="http://www.example.org/purchaseorder#OrderConfirmation">
<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="http://example.org/products/electronics">
<wsdl:operation name="order" pattern="http://www.w3.org/2006/01/wsdl/in-out"
sawsdl:modelReference="http://www.example.org/purchaseorder#RequestPurchaseOrder">
<wsdl:input element="OrderRequest" />
<wsdl:output element="OrderResponse" />
</wsdl:operation>
</wsdl:interface>
</wsdl:description>
SAWSDL Draft example
62
name
Phone of Secretary
employee
Exemple de composition
phone
Phone  Name
name
secretary
63
RDF
sécurité
multimédia
multimodal
HTTP/D
Another brick in the…
SOAP
WSDL
schémas applications
XPath
annotation services web Xpointer
services
règles
inférences
XML
XSL/T
URL - URI
HTML
service
composition
description
OWL
Query annotations ontologies
SPARQL
RDFS
confidentialité
DTD - XML
Schema
XQuery
XLink
64
• HTML 4.0 Dec. 1997 & 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
65
• 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="http://style.com/cool" TITLE="Cool">
<STYLE TYPE="text/css">
@import url(http://style.com/basic);
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)
66
• 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
67
SVG dans KmP
68
• 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
69
• 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
70
• 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
71
<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="http://www.ietf.org/rfc/rfc2045">
<option label="HTML 4.01 Specification" value="http://www.w3.org/TR/html4/">
<option label="Form Controls" value="http://www.w3.org/TR/xforms/slice8.html">
<option label="Scalable Vector Graphics (SVG) 1.1 " value="http://www.w3.org/TR/SVG/">
<option label="Feature Sets - SVG 1.1" value="http://www.w3.org/TR/SVG/feature.html">
<option label="The Single UNIX Specification" value="http://www.unix-systems.org/version3/">
</datalist>
Exemples Web Forms
72
<form>
<p>
<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)
73
• 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
74
• 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="http://example.com/submit"
method="post" id="submit"
includenamespaceprefixes=""/>
</xforms:model>
Exemple XForm
<select1 ref="method">
<label>Select Payment Method:</label>
<item>
<label>Cash</label>
<value>cash</value>
</item>
<item>
<label>Credit</label>
<value>cc</value>
</item>
</select1>
<input ref="number">
<label>Credit Card Number:</label>
</input>
<input ref="expiry">
<label>Expiration Date:</label>
</input>
<submit submission="submit">
<label>Submit</label>
</submit>
75
• 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="http://www.w3.org/ns/xbl" xmlns:data="http://example.com/data-language">
<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:/div>
<xbl:/div>
<xbl:/div>
<xbl:/template>
...
XML Binding Language
76
• 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
77
• 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
78
Pronunciation Lexicon Specification W3C Working Draft 26 Oct 2006
79
<?xml version="1.0" encoding="UTF-8"?>
<ccxml version="1.0" xmlns="http://www.w3.org/2002/09/ccxml">
<eventprocessor>
<transition event="connection.alerting" name="evt">
<log expr="'The number called is' + evt.connection.remote + '.'"/>
<if cond="evt.connection.remote == 'tel:+18315551234'">
<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>
<transition event="connection.disconnected">
<log expr="'Call has been disconnected. Ending CCXML Session.'"/>
<exit/>
</transition>
</eventprocessor>
</ccxml>
Call Control CCXML 1.0 W3C Working Draft 22 November 2006
80
<?xml version="1.0"?>
<vxml version="2.0">
<menu>
<prompt>
Say one of: <enumerate/>
</prompt>
<choice next="http://www.sports.example/start.vxml">
Sports
</choice>
<choice next="http://www.weather.example/intro.vxml">
Weather
</choice>
<choice next="http://www.news.example/news.vxml">
News
</choice>
<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.)
Computer:
Say one of: Sports; Weather; News.
Human:
Sports
Computer:
(proceeds to http://www.sports.example/start.vxml)
W3C VoiceXML 2.0 Rec 16 March 2004
81
• 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
82
• 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, 10 140, 13 154, 14 168, 17 182, 18 188, 23
174, 30 160, 38 147, 49 135, 58 124, 72 121, 77 135, 80 149, 82 163, 84 177, 87 191, 93 205 </trace>
<trace> 130 155, 144 159, 158 160, 170 154, 179 143, 179 129, 166 125, 152 128, 140 136, 131 149, 126 163,
124 177, 128 190, 137 200, 150 208, 163 210, 178 208, 192 201, 205 192, 214 180 </trace>
<trace> 227 50, 226 64, 225 78, 227 92, 228 106, 228 120, 229 134, 230 148, 234 162, 235 176, 238 190, 241
204 </trace>
<trace> 282 45, 281 59, 284 73, 285 87, 287 101, 288 115, 290 129, 291 143, 294 157, 294 171, 294 185, 296
199, 300 213 </trace>
<trace> 366 130, 359 143, 354 157, 349 171, 352 185, 359 197, 371 204, 385 205, 398 202, 408 191, 413 177,
413 163, 405 150, 392 143, 378 141, 365 150 </trace>
</ink>
InkML
83
• 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 : http://www.w3.org/WAI/ER/tools/Overview.html
Web Accessibility Initiative
84
• 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
85
Query annotations ontologies
SPARQL
RDF
sécurité
multimédia
multimodal
HTTP/D
Another brick in the…
SOAP
WSDL
schémas applications
XPath
annotation services web Xpointer
services
règles
inférences
XML
XSL/T
URL - URI
HTML
service
composition
description
OWL
confidentialité
RDFS
mobilité
ubiquité
DTD - XML
Schema
XQuery
XLink
86
• Mobile Web Initiative
– 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…
87
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ccpp="http://www.w3.org/2002/11/08-ccpp-schema#"
xmlns:ex="http://www.example.com/schema#">
<rdf:Description rdf:about="http://www.example.com/profile#MyProfile">
<ccpp:component>
<rdf:Description rdf:about="http://www.example.com/profile#TerminalHardware">
<rdf:type rdf:resource="http://www.example.com/schema#HardwarePlatform" />
<ex:displayWidth>320</ex:displayWidth>
<ex:displayHeight>200</ex:displayHeight>
</rdf:Description>
</ccpp:component>
<ccpp:component>
<rdf:Description rdf:about="http://www.example.com/profile#TerminalSoftware">
<rdf:type rdf:resource="http://www.example.com/schema#SoftwarePlatform" />
<ex:name>EPOC</ex:name>
<ex:version>2.0</ex:version>
<ex:vendor>Symbian</ex:vendor>
</rdf:Description>
</ccpp:component>
<ccpp:component>
<rdf:Description rdf:about="http://www.example.com/profile#TerminalBrowser">
<rdf:type rdf:resource="http://www.example.com/schema#BrowserUA" />
<ex:name>Mozilla</ex:name>
<ex:version>5.0</ex:version>
<ex:vendor>Symbian</ex:vendor>
<ex:htmlVersionsSupported>
<rdf:Bag>
<rdf:li>3.2</rdf:li>
<rdf:li>4.0</rdf:li>
</rdf:Bag>
</ex:htmlVersionsSupported>
</rdf:Description>
</ccpp:component>
</rdf:Description>
</rdf:RDF>
CC/PP en RDF
88
• 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') &gt; 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
89
Query annotations ontologies
SPARQL
RDF
sécurité
multimédia
multimodal
HTTP/D
Another brick in the…
SOAP
WSDL
schémas applications
XPath
annotation services web Xpointer
services
règles
inférences
XML
XSL/T
URL - URI
HTML
service
composition
description
OWL
confidentialité
RDFS
mobilité
ubiquité
DTD - XML
Schema
XQuery
XLink
90
• 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
91
Sources, références et pointeurs
• W3C documents at http://www.w3.org
• Tutorials on Semantic Web Technologies by Ivan Herman
• W3C Tutorials: http://www.w3.org/2002/03/tutorials
• W3C 10th Anniversary
http://www.w3.org/2004/Talks/w3c10-Overview/
• W3School: http://www.w3schools.com/
• XML Revolution: http://www.brics.dk/~amoeller/XML/index.html
• O’Reilly XML.com http://www.xml.com/
92