Sécurité en ingénierie du Logiciel

Le cadre des Web Services Partie 3 : Introduction (rapide) à XML

Alexandre Dulaunoy

adulau@foo.be

Agenda

• Introduction

• Structure XML

• XML dialecte et description • Exemples pratiques

• XML et Services Web

Introduction

XML (eXtensible Markup Language)

• Norme W3C http://www.w3.org/XML/Core/#Publications,

• Format texte/ascii (dérive de SGML (ISO 8879)) - balises,

• Représentations de données structurées,

• Standard et largement utilisé,

• XHTML (la version XML de HTML),

• Les standards autour de XML expriment la structure, le type de stockage, la sécurité, les transformations,...

Structure XML

<?xml version=”1.0” standalone=”yes”?> <catalog> <cd> <artist>Klaus Schulze</artist> <title>Cyborg</title> <year format="yyyy">1973</year> <style>retro electronic</style> </cd></catalog>

• L’en-tête permet de définir le format de traitement,

• La balise ’catalog’ permet de définir un élément,

• Cet élément contient 1 ou plusieurs élément(s),

• Ces éléments peuvent contenir des éléments avec attributs (’format’),

Sécurité en ingénierie du Logiciel – p.4/10

Structure XML : 2

• Structure XML est un arbre,

• un élément de l’arbre est un noeud de l’arbre,

• un élément peut contenir des données ou des autres éléments,

• un élément peut contenir des attributs,

• La syntaxe est définie par le standard mais pas l’ordre...,

• un élément possède un ’nom’ (p.ex. : artist),

• Vous devez donc prendre en compte la structure de votre arbre.

XML dialecte et description

• HTML en XML est XHTML,

• MathML est un dialecte XML pour l’expression de formules mathématiques,

• Une enveloppe SOAP utilise un dialecte XML,

• La description des dialectes est aussi en XML (XML Schema =/= DTD),

• ...

XML exemples pratiques

Sécurité en ingénierie du Logiciel – p.7/10

XML et Services Web

XML est le format de prédilection pour les services Web (XML-RPC). <?xml version=”1.0” encoding=”iso-8859-1”?> <methodCall> <methodName>meerkat.getChannelsByCategory</methodName> <params> <param><value><i4>2</i4></value></param> </params> </methodCall>

XML et Services Web

XML est le format de prédilection pour les services Web (SOAP).

POST /StockQuote HTTP/1.1 Host: www.stockquoteserver.com Content-Type: text/xml; charset="utf-8" Content-Length: nnnn SOAPAction: "Some-URI"

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"> <SOAP-ENV:Body>

<m:GetLastTradePrice xmlns:m="Some-URI">

<symbol>DIS</symbol> </m:GetLastTradePrice>

</SOAP-ENV:Body> </SOAP-ENV:Envelope>

Sécurité en ingénierie du Logiciel – p.9/10

Q&R

• adulau@foo.be

• http://www.foo.be/cours/securite-webservices/

• 3B12 DCC2 82FA 2931 2F5B 709A 09E2 CD49 44E6 CBCD