40
Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

Embed Size (px)

Citation preview

Page 1: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

Origine et Concepts de base

1. Origines et Objectifs2. SGML et HTML3. Introduction à XML4. XML pour quoi faire ?

Page 2: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

2

1. Origine et objectifs

• XML est issu de la Gestion de Documents (GED)

• Séparation du fond de la forme.• Forme = présentation à partir de la structure (style)• Fond = structure + données (contenu)

• Multiples précurseurs dont les plus connues :• SGML pour la structuration • HTML pour la présentation• Approches mélangeant parfois le fond et la forme !

Origines

Page 3: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

3

Présentation et Structuration

XML: Des BD aux Services Web

Georges Gardarin

1. Introduction

Ces dernières années ont vu l'ouverture des systèmes d'information à l'Internet. Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet …

Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues …

L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'Internet et les systèmes d'information …

2. La société ProXML

TitreAuteurSectionParagraphe

Paragraphe

Paragraphe

Section

Origines

Page 4: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

4

Vue Balisée

<Livre><Titre> XML : Des BD aux Services Web</Titre> <Auteur>Georges Gardarin</Auteur><Section titre = "Introduction"> <Paragraphe>Ces dernières années ont vu l'ouverture des systèmes d'information à

l'Internet. Alors que depuis les années 1970, ces systèmes se développaient, le choc Internet … </Paragraphe>

<Paragraphe>Ainsi, on a vu apparaître une myriade de technologies nouvelles attrayantes mais peu structurantes voir perturbantes. Certaines n'ont guère survécues … </Paragraphe>

<Paragraphe>L'urbanisation passe avant tout par la standardisation des échanges : il faut s'appuyer sur des standards ouverts, solides, lisibles, sécurisés, capable d'assurer l'interopérabilité avec l'Internet et les systèmes d'information … </Paragraphe>

</Section><Section titre= "La Société ProXML"> …</Section></Livre>

Les balises (tags) peuvent porterplus ou moins de sémantique

Origines

Page 5: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

5

World Wide Web Consortium

• W3C - Fondé en 1994• Consortium industriel international accueilli

par différents sites• MIT/LCS aux Etats-Unis• INRIA en Europe• Keio University au Japon

• 448 membres industriels en septembre 2000

Origines

Page 6: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

6

W3C : dans quel but ?

• Accroître le potentiel du Web

• Développer des protocoles communs

• Assurer l’inter-opérabilité sur le Web entre les

différents systèmes• Stock d’informations sur les standards et les

normes pour développeurs et utilisateurs• Code référence pour présenter et promouvoir les

différents standards• Prototypes variés et exemples d’applications

Origines

Page 7: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

7

Les différents documents émis

• Note : • proposition émise par un organisme ou un groupe

• Working Draft : • document de travail issu d’un groupe formellement

reconnu;

• Proposed Recommendation : • proposition représentant un consensus d ’un groupe

de travail soumise pour vote aux membres votants;

• Recommendation : • standard accepté par un vote positif. Adopté dans

une version, il peut évoluer lors de versions ultérieures.

Origines

Page 8: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

8

XML : objectifs

• XML= un nouveau langage d'échange basé sur le balisage

• XML= plus simple que SGML• XML= plus ouvert que HTML englobé (XHTML)• XML = développé par XML Working Group

dirigé par le W3C (depuis 1996)• XML 1.0 = recommandation officielle du W3C

depuis le 10 février 1998

Origines

Page 9: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

9

les 10 objectifs de conception:

• XML doit pouvoir être utilisé sans difficulté sur Internet

• XML doit soutenir une grande variété d'applications

• XML doit être compatible avec SGMLet HTML• Il doit être facile d'écrire des programmes

traitant les documents XML• Le nombre d'options dans XML doit être réduit

au minimum, idéalement à aucune

Origines

Page 10: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

10

les 10 objectifs de conception

• Les documents XML doivent être lisibles par l'homme et raisonnablement clairs

• La spécification de XML doit être disponible rapidement

• La conception de XML doit être formelle et concise

• Il doit être facile de créer des documents XML• La concision dans le balisage de XML est peu

importante

Origines

Page 11: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

11Origines

Forces de XML

• Séparation de la structure et de la présentation

• Moins confus que HTML

• Plus simple que SGML

• Idéal pour l'échange de données semi-structurées

• Utilisable entre machines

• Questions ?

Page 12: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

12

2. SGML et HTML

• 1969 C. Goldfarb, E. Mosher, R. Lorie inventent GML chez IBM

• GML a été créé pour éditer des documents, les mettre en page et les partager au sein de systèmes de gestion éditoriaux

• 1978 Goldfarb prend la tête d’un comité « Computer Language for the Processing of Text » au sein de l’American National Standards Institute (ANSI).

SGML

Page 13: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

13

Qu'est-ce que SGML ?

• Une norme internationale : • Standard Generalized Markup Language • ISO 8879 - 1989

• Un métalangage de balisage de documents• lisible par l’être humain et traitable par une machine• permet de définir des langages de balisage

• Les documents sont balisés conformément à la grammaire (la DTD)• instances de DTD• permet un balisage sémantique du fond.

• Implique la notion de validité d'un document

SGML

Page 14: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

14

SGML : objectifs

• Séparation du fond et de la forme• possibilité de multiples présentations• un seul document en SGML• plusieurs formats : Postcript, HTML, etc.

• Support de traitements sur le contenu des documents sans prise en compte de la forme

• Proposition d’un cadre défini pour l’expression des modèles documentaires (validité, contrôle)

• Intégration d'un format de stockage et d’échange normalisé

SGML

Page 15: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

15

SGML : critiques

• Très lourd et complexe pour la mise en œuvre de documents respectant ce format

• Une grande rigueur est demandée à l'entrée des documents

• Standard complexe et complet pour le traitement des documents

• Liens hypertextes possibles mais complexes

SGML

Page 16: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

16

HTML : présentation

• Proposé par le W3C comme format de documents sur le Web.

• Langage simple avec des balises standardisées permettant la mise en forme d’un texte.

• Standard reconnu par tous les navigateurs.

• Langage très populaire sur le Web

<HTML><HEAD><TITLE> Exemple </TITLE></HEAD><BODY><H1>Contenu du document</H1><A HREF =

"http://www.server.fr/Info /dir/test.html"> une référence externe

</A></BODY></HTML>

HTML

Page 17: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

17

HTML : inconvénients

• Normalisation des différentes balises difficile :• les constructeurs ont eu tendance à définir leurs propres

balises pour répondre à leurs besoins (incompatibilité)• HTML 4.0

• boutons, tables, applets, objects, graphiques, maths, ...• styles, frames, protections, ...

• Mises à jour difficiles :• données utiles et mises en forme ;• restructuration ou remise en forme de l’ensemble des pages

du site fastidieux.

• Mélange le fond et la forme• méta-données avec la présentation• Pages conçues pour 1 type de terminal

HTML

Page 18: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

18

Feuilles de style

• Introduite pour diversifier les présentations• CSS (Cascading Style Sheet)

• mécanisme d'héritage entre nœuds• une balise hérite de la parente• seulement ce qu'elle spécifie est redéfini

• Recommandation W3C en décembre 1996• Mécanisme simple pour ajouter un style aux

documents Web• fonte, taille, couleur, etc.

• Utilisables avec XML

HTML

Page 19: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

19

@import "truc.css"BODY {

color: #000 ;background: #FBFBFF ;margin-left: 9% ;margin-right: 6% ;font-family: "Helvetica", sans-serif ;line-height: 1.35 ;

}

@import "truc.css"BODY {

color: #000 ;background: #FBFBFF ;margin-left: 9% ;margin-right: 6% ;font-family: "Helvetica", sans-serif ;line-height: 1.35 ;

}

Exemple de CSS

[ ... ]TD, TH { font-family: "Helvetica",

sans-serif line-height: 1.35 ;}

H1, H2 { margin-top: 1.2em ; margin-left: -7% ; color: #900 ; clear: both ;}[ ... ]

[ ... ]TD, TH { font-family: "Helvetica",

sans-serif line-height: 1.35 ;}

H1, H2 { margin-top: 1.2em ; margin-left: -7% ; color: #900 ; clear: both ;}[ ... ]

<LINK REL="stylesheet" HREF="fichier.css"><LINK REL="stylesheet" HREF="fichier.css">

HTML

Page 20: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

20

SGML et HTML : Résumé

• SGML• langage de la GED plutôt

complexe• très utilisé dans l'industrie

• HTML• spécialisation de SGML• adapté à la présentation• inadapté à l'échange entre

programmes

• Questions ?

HTML

Page 21: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

21

3. XML: définitions de base

• XML est un méta-langage universel pour représenter les données échangées sur le Web qui permet au développeur de délivrer du contenu depuis les applications à d'autres applications ou aux navigateurs

• XML standardise la manière dont l'information est :• échangée• présentée • archivée • retrouvée• transformée• cryptée• ...

XML

Page 22: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

22

Les utilisateurs peuvent définir leurs propres tags

Document bien formé:<Vin> <Cru>Volnay</Cru> <Region> <Nom>Bourgogne</Nom>

<Capitale>Dijon</Capitale> </Region> <Millesime>1995</Millesime> <Millesime>1996</Millesime> <Prix Unite = "Euro"> 10.5 </Prix></Vin>

Les tags indiquent la signification des sections marquées

Il est possible d'imposer une grammaire spécifique (DTD, Schéma)

XML : exemple simple

SGML

XML

HTML

XHTML

XML

Page 23: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

23

Concepts du modèle

• Balise (ou tag ou label)• Marque de début et fin permettant de repérer un élément

textuel• Forme: <balise> de début, </balise> de fin

• Elément de données• Texte encadré par une balise de début et une de fin• Les éléments de données peuvent être imbriquées

• <producteur> • <adresse> • <rue>A. Briand</rue>• <ville>Dijon</ville>• </adresse>• </producteur>

• Attribut• Doublet nom="valeur" qualifiant une balise

• <producteur no="160017" region="Bourgogne">

XML

Page 24: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

24

Exemple complet

Page 25: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

25

Modèle arborescent

XML

Restaurant

@Type

@Catégorie

Nom

Manager

Adresse

No

Rue

Ville

***

Le Moulin de Mougin

Dupuis

7

Des Vignes

Mougin

Français

Page 26: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

26

Présentation textuelle

<Restaurant Type="Français" Categorie="***"><Nom>Le Moulin de Mougin</Nom><Manager ... >Dupuis</Manager><Adresse>

<No> 7</No><Rue>Des Vignes</Rue><Ville>Mougin</Ville>

</Adresse></Restaurant>

XML

Arbre sérialisé

Page 27: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

27

Présentation externe

<prix>6.05</prix>

XML

Page 28: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

28

Espaces de noms

• Comment mixer des tags issus de différents langages?

• Mécanisme intéressant pour l'intégration de contenus

XML

Le préfixe permet de retrouver le langage

<tag xmlns:mic="http://www.michelin.com/2001/Guide",xmlns:pj="http://www.pagejaune.com/2001/Annuaire">

<mic:Adresse><ville>Mougins</ville><zip>06212</zip></mic:Adresse><pj:Adresse>Le Moulin 06 Mougins</pj:Adresse>

Page 29: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

29

Hyperliens: XLink et XPointer

• Exprimer des liens entre documents XML• pointe sur une URL• l'URL peut inclure une partie XPointer• tout élément peut être un lien

• Différents types de liens• simple xlink:type = "simple"• étendu xlink:type = "extended"

• De véritables associations• 1-1 en simple, k-n en étendu• avec rôles et comportements possibles

XLink et plus

Page 30: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

30

Exemples simples

• <Annotation xlink:type="simple" href="note1.xml">1</Annotation>

• <Auteur xlink:type="simple" title="Créateur" href="http://www.mysite.com/~georges/"> Victor Hugo</Auteur>

• <Image xlink:type="simple" href="logo.gif"/>

XLink et plus

Page 31: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

31

XPointer

• Permet de référencer un élément particulier d'un document• le document est spécifié par Xlink• le Xpointer est ajouté à l'URI séparée par # ou |

• Pointeur absolue• id() : référence un élément d'identifiant donné• root() : pointe sur la racine d'un document• html() : référence un document HTML

• Pointeur relatif = chemin XPath• child, descendant, ancestor, preceding, following, …• Exemple : <vin2 xlink:type="simple" href="http://www.site.fr/

degustation#xptr(/child::degustation/child::vin[2])"

XLink et plus

Page 32: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

32

La galaxie de standards

XML

Dimensionmétiers

Dimensiontechnique

XML XSL XSchema DOM SOAP WSDL BPEL RDF …

Outils génériques

Ou

tils

applic

ati

fs

XHTML

MathML

SMIL

SVG

VoiceML

UBL

cXML

ChessML

OASIS

W3C

ebXML

Page 33: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

33

4. Pourquoi XML?

• Définir vos propres langages d’échange• Commande, facture, bordereau de livraison, etc.

• Modéliser des documents et des messages• Modèle logique de données • Eléments typés agrégés (DTD, XML Schema)• Passerelle avec Unified Modelling Language (UML)

• Publier des informations• Neutre du point de vue format• Mise en forme avec des feuilles de style

• Archiver des données• Auto-description des archives

Pourquoi XML ?

Page 34: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

34

"Lingua Franca" du 21e siècle

• Un standard d'échange• Lisible : texte balisé avec marquage• Clair : séparation du fond et de la forme • Extensible : supporte les évolutions applicatives• Sécurisé : pare-feu, encryption, signature

• Développé par le W3C• Pour le Web (Internet, Intranet)• S'étend à l'entreprise et ses partenaires

• Supporté par les grands constructeurs• IBM, Microsoft .net, SUN, BEA, etc. • Des outils génériques et ouverts

Pourquoi XML ?

Page 35: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

35

Pour données et documents

Approche « Donnée » Structuration forte et simple Compatibilité SGBDR existants Mise à jour en place Intégrité sémantique Indexation exacte Adapté au transactionnel et

décisionnel Performances attendues

« moyenne » à « forte » pour une volumétrie « moyenne »

Approche « Document » Structuration faible et complexe Systèmes documentaires

spécialisés Gestion de versions Recherche textuelle Indexation approchée Accès type moteur de recherche Performances attendues

« moyenne » pour une volumétrie « forte »

Pourquoi XML ?

Page 36: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

36

Publication multi-supports

XML

Base deDonnées

Application depublication

(XSL)

TV Numérique

Pourquoi XML ?

MiddlewareXMLizer

Projet GIE Cartes Bancaires:publication des spécifications de protocoles pour réseau Carte Bancaires vers les fournisseurs et prestataires du GIE

Page 37: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

37

Échange de données: ETL

Extractor

JDBC JDBC

Mapper

BDrelationnelle

Datawarehouse

Datamining

Pourquoi XML ?

Projet MEN : Echange de données avec les académies (remontée et descente)

Page 38: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

38

Gestion documents semistructurés

Feuillede style

XSL

Feuillede style

XSL

RequêtesHTTP GET

HTTP POST

Requêtes

MappingXML-SQL

ProcesseurXSL

Feuillede style

XSLHTML généré

Serveur d’Applications

Projet AMELI : Une application de serveur XML pour la saisie et la consultation de documents semi-structurés par internet/intranet

Interface avec les applicationsbureautiques

Amendement

SGBDR

Pourquoi XML ?

Page 39: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

39

XML EDI

Échange B2B XML EDI

XMLizer

Internet(SOAP)

Donneur d’ordre

Fournisseur

Pourquoi XML ?

Projet EDIXML : Expérimentation de la chaîne pour un grand donneur d'ordres

Page 40: Origine et Concepts de base 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ?

40

Forces et faiblesses de XML

• Une technologie structurante

• Clarifie tous les échanges• Des standards internes

et externes• Transversale à

l'entreprise• Échanges de données• Bureautique• GED• Sites Web• EDI• Bases de données• Intégration e-business• …

• Une syntaxe bavarde• Un méta-langage, mais de

nombreux langages• Coûteux en CPU

• Parsing

• Coûteux en mémoire• Instanciation

• Format compressé à l’étude

Pourquoi XML ?