Concepts de base
Origine et objectifs
- Langages à balises. SGML, HTML et CSS. Forces et faiblesses. Structure, contenu et présentation de documents. L'apport de XML.
Le standard XML
- W3C et xml.org. Les documents composites. Le balisage, les éléments et les attributs. Les espaces de noms xmlns. Les hyperliens avec XLink.
- La galaxie des dialectes XML.
Exemples d'applications
- Gestion documentaire, échange de données et ETL. Publication et diffusion de données.
Définition de données XML
DTD et typage des documents
- Notion de document bien formé et valide. Types de base. Déclaration des éléments et des attributs. Insuffisances des DTD.
XML Schema et la modélisation des données
- Types simples et types complexes. Constructeurs de collections. Héritage de types. Réutilisation de déclarations xsd.
Conception des données
- Concevoir, documenter et maintenir DTD et schémas. Règles d'écriture et méthodes de construction de schémas.
- Passage d'UML à XML. Principaux outils.
Manipulation de données XML
Publication de données avec XSL
- XPath et l'adressage XML.
- Définition des feuilles de style XSLT. Programmation par règles de production. Les processeurs XSLT.
- Formatage des documents avec XSL/FO.
Traitement de XML
- Traduction de documents XML en graphes d'objets avec l'API DOM.
- Traitement sur flots d'événements avec l'API SAX. Utilisation avec des objets Java.
Architectures de publication
- Interprétation XSL sur le client ou le serveur. Processeurs XSLT et échange de données.
- Gestion de contenus (CMS). Syndication d'information, architecture push, flux RSS ou ATOM.
Les environnements de développement
- Principaux outils de traitement XML (XMLSpy , Oxygen, etc). Avantages des outils de génération XSLT, XSLFO.
- Les ateliers intégrés : Studio Altova, Adobe Studio.
Web Services
Architecture des Web services
- Client, fournisseur, annuaire de services. Intégration d'applications.
WSDL, UDDI et SOAP
- Description des services avec WSDL. Référencement des services avec l'annuaire UDDI.
- Le RPC XML. SOAP (Simple Object Access Protocol) : comparaison avec REST.
Composition de services
- Processus métiers et workflows. Transactions longues et composition de services.
- Les standards BPEL, WS-Transaction et WS-Coordination.
Sécurité
- Authentification, XML Encryption, XML signature, XKMS.
- PKI et émergence du standard WS-Security.
- Support dans les serveurs d'application.
- La stratégie .NET. Les serveurs J2EE (Websphere, Weblogic, JBoss, etc.).
Bases de données XML
Stockage de XML
- XML comme modèle de données. Mapping relationnel ou format natif. Indexation, recherche par structure ou par contenu. Intégration avec l'existant relationnel.
Langages de requêtes
- Extension de SQL avec SQL/XML. LINQ de Microsoft. Le standard XQuery du W3C. XUpdate pour les mises à jour.
Les produits
- Extension des SGBD relationnels : IBM, Oracle, Microsoft. Les SGBD natifs XML : Tamino, GoXML, TextML, NeoCore, X-Hive, etc. Quid des performances ?
- Etude de cas : PCWorldOnLine.
XML et intégration métier
Intégration de données via EII XML
- Les EII (Enterprise Information Integrators) basés sur XML : schémas importés et vues intégrées.
- Extraction de guides de données. Décomposition de requêtes. Unification des résultats.
- Exemples d'EII XML : BEA Liquid Data, IBM Information Integrator, Médience (BO).
Intégration d'applications via EAI XML
- Fonctions d'un EAI : connexion, transformation, échange de données, modélisation métier, gestion de workflows. Bus EAI.
- Exemples d'EAI XML : MS BizTalk, BEA Weblogic Integration, IBM Websphere Business Integration, Oracle, Sun ONE, Tibco, etc.
- Intégration d'application via Web services : l'exemple de Qwest avec UDDI.
B2B avec XML
- Apports de XML pour le B2B. Exemples de protocoles : cXML, xCBL, UBL, RosettaNet, OAGIS, FIX.
- ebXML comme remplaçant de l'EDI : les modèles de processus métiers, les activités et les dictionnaires. L'offre ebXML.
- Etude de cas ebXML : le système de e-invoicing de MTR.
XML et Web 2.0
Le Web 2.0
- Vers un Web coopératif et social.
- Outils de développement et clients riches.
- Emergence des langages XML pour la programmation (Flex, Silverlight).
Web sémantique
- Description et annotation des pages XHTML et des ressources. Le modèle sémantique RDF.