Optimisation des échanges et traitements XML



Documents pareils
XML, PMML, SOAP. Rapport. EPITA SCIA Promo janvier Julien Lemoine Alexandre Thibault Nicolas Wiest-Million

Les nouvelles architectures des SI : Etat de l Art

Les Services Web. Jean-Pierre BORG EFORT

Oracle Fusion Middleware Concepts Guide 11g Release 1 (11.1.1) Figure 1-1 Architecture Middleware

Web Application Models

Conception Exécution Interopérabilité. Déploiement. Conception du service. Définition du SLA. Suivi du service. Réception des mesures

Systèmes d'informations historique et mutations

Architecture JEE. Objectifs attendus. Serveurs d applications JEE. Architectures JEE Normes JEE. Systèmes distribués

Programmation Web Avancée Introduction aux services Web

Mettez les évolutions technologiques au service de vos objectifs métier

Livre Blanc WebSphere Transcoding Publisher

Vérifier la qualité de vos applications logicielle de manière continue

SOA Open Source Intégration des services et business process dans une architecture SOA Open Source. Bruno Georges JBoss, a Division of Red Hat

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

Configuration Interface for MEssage ROuting

Cours Master Recherche RI 7 Extraction et Intégration d'information du Web «Services Web»

Approche Contract First

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte

Introduction aux «Services Web»

BizTalk Server Principales fonctions

Qu'est-ce que le BPM?

Youssef LYHYAOUI Ingénieur Java/J2EE, SOA, ESB, Web services 31 ans Statut : Indépendant SITUATION ACTUELLE

RFID: Middleware et intégration avec le système d'information Olivier Liechti

Vulgarisation Java EE Java EE, c est quoi?

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Conservation des documents numériques

LES DIFFÉRENTS FORMATS AUDIO NUMÉRIQUES

1 JBoss Entreprise Middleware

BPEL Orchestration de Web Services

Groupe Eyrolles, 2004, ISBN :

Master Data Management en Open Source C est le Bon Moment

Évaluation et implémentation des langages

24/11/2011. Cours EJB/J2EE Copyright Michel Buffa. Plan du cours. EJB : les fondamentaux. Enterprise Java Bean. Enterprise Java Bean.

Architectures Web Services RESTful

Annuaires LDAP et méta-annuaires

Architecture SOA Un Système d'information agile au service des entreprises et administrations

Avant-propos 1. Avant-propos Organisation du guide À qui s'adresse ce guide?...4

IPFIX (Internet Protocol Information export)

Urbanisme du Système d Information et EAI

Urbanisation des SI. Des composants technologiques disponibles. Urbanisation des Systèmes d'information Henry Boccon Gibod 1

Chapitre 3 : Les technologies de la communication. I- Les TIC de la PME

Fiche de l'awt Intégration des applications

Module BD et sites WEB

Introduction à la plateforme J2EE

Enterprise Intégration

La démarche SOA et l interopérabilité applicative

Completed Projects / Projets terminés

Catalogue Formations Jalios

Livre blanc. Signatures numériques à partir du cloud fondements et utilisation

4. SERVICES WEB REST 46

D une part, elles ne peuvent faire table rase de la richesse contenue dans leur système d information.

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

Faculté de Génie Chaire industrielle en infrastructures de communication. La technologie XML. Wajdi Elleuch

Annexe : La Programmation Informatique

Sécurité des Web Services (SOAP vs REST)

XML par la pratique Bases indispensables, concepts et cas pratiques (3ième édition)

Le 09 et 10 Décembre 09

Mise en œuvre des serveurs d application

L Orchestration de Services Web avec Orchestra. Goulven Le Jeune Orchestra Project Manager

Modèle de cahier des charges pour un appel d offres relatif à une solution de gestion des processus métier (BPM)

Chapitre 7. Le Protocole SNMP 7.1 INTRODUCTION COMPOSANTES POUR L UTILISATION FONCTIONNEMENT LE PAQUET SNMPV1...

Hébergement de sites Web

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Augmenter la disponibilité des applications JEE grâce au clustering : Le projet open source JShaft

La voix sur IP n'est pas un gadget, et présente de réels bénéfices pour l'entreprise.

PROGRAMME DU CONCOURS DE RÉDACTEUR INFORMATICIEN

Europa. Développement JEE 5. avec Eclipse. K a r i m D j a a f a r. A v e c l a c o n t r i b u t i o n d e O l i v i e r S a l v a t o r i

Tutoriel: Création d'un Web service en C++ avec WebContentC++Framework

Logiciel Enterprise Guide Version 1.3 Windows

Projet de Veille Technologique

Sage CRM. 7.2 Guide de Portail Client

La technologie Java Card TM

DataPower SOA Appliances

Analyse comparative entre différents outils de BI (Business Intelligence) :

SQL Server 2012 et SQL Server 2014

Accélérez la transition vers le cloud

Business Process Modeling (BPM)

WEBSPHERE & RATIONAL. Jacques Rage

Proposition de stage

Le cadre des Web Services Partie 1 : Introduction

Problème physique. CH5 Administration centralisée

Hassene BELGACEM. Expériences Professionnelles. JEE architect / Technical leader. Ingénieur Informatique. Cycle Préparatoire

Atelier WEB20 : IBM WebSphere CAST IRON

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

Gérez efficacement vos flux d entreprises.

TD : Codage des images

Urbanisation des Systèmes d'information

La Voix Sur IP (VoIP)

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

«Clustering» et «Load balancing» avec Zope et ZEO

Programmation des Applications Réparties. Parsers XML DOM et SAX

Classification : public 1/59

1 Introduction au codage

Evolution et architecture des systèmes d'information, de l'internet. Impact sur les IDS. IDS2014, Nailloux 26-28/05/2014

Catalogue Formation «Vanilla»

Environnements de Développement

Mineure Architectures Orientées Services SOA Business Process Modeling (BPM) Mineure SOA. Business Process Modeling (BPM)

Les réseaux de campus. F. Nolot

Transcription:

Optimisation des échanges et traitements XML 20/11/2007 Rachid Khamliche Section Recherches

Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation des traitements XML Conclusions et recommandations 2

Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation des traitements XML Conclusions et recommandations 3

XML: un standard incontournable Format de représentation de l'information Format intuitif XML est omniprésent & champ d'application très large Supporté massivement par les éditeurs Format fédérateur pour les échanges A2A et B2B 4

Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation des traitements XML Conclusions et recommandations 5

Faiblesses du standard XML Montées en charge Performance Parsing et traitements des données XML Accessibilité Stockage Sécurité Prolifération des standards 6

Faiblesses du standard XML : Exemple Input <orderitem> <quantity>10</quantity>... < orderitem> Output class orderitem{ int quantity; }; Schéma (syntaxe abrégérée) <element name="orderitem"> <sequence> <element name="quantity"> <simpletype base="xsd:integer"/> <maxinclusive="2000"/> <mininclusive="1"/> <simpletype> </element> </sequence> </element> 7

Parseur/Désérialiseur XML traditionnel class orderitem { Int quantity; } <orderitem> <quantity>10 </quantity> </orderitem> 8

Parseur/Désérialiseur XML traditionnel Input: <orderitem> <quantity>10</quantity>... <orderitem> UTF-8 3c 69 6e 76 65 6e 74 6f 72 79 20 49 74 65 6d 3e Convert to UTF-16 003c 0069 006e 0076... 0065 006d 003e Validate "orderitem" Throw Sax Event Match against "orderitem" in deserializer Discard Sax event 9

Parseur/Désérialiseur XML traditionnel Input: <orderitem> <quantity>10</quantity>... UTF-8 <orderitem> 3c 71 75 61 6e 74 69 74 79 3e 20 31 30 Convert to UTF-16 003c 0071 0075... 0074 0079 003e 0020 0021 0030 Validate against quantity Throw Sax Event for quantity Match against quantity in deserializer Convert 10 to UTF-16 and integer Validate as 1<quantity<2000 Discard Integer Sax event for UTF-16 10 Convert 10 to integer (deserializer) Discard Sax event Copy integer to quantity field in structure 10

Faiblesses du standard XML 1) (P) Convertir le tag «orderitem» en UTF-16 (puisque la plupart des implémentations SAX exigent l UTF-16). 2) (P) Valider le résultat de la conversion précédente par rapport à l élément «orderitem» attendu selon le schéma XSD. 3) (P) Transmettre un événement SAX du parseur au désérialiseur pour signaler l élément de début. 4) (D) Vérifier que le nom d élément de l événement SAX est «orderitem». Ce test a déjà été effectué par le parseur lors de l étape 2. 5) (D) Effectuer un «new» pour la structure d output. 6) (D) Annuler l événement SAX. 7) (P) Convertir le tag «quantity» en UTF-16. 8) (P) Valider le résultat de la conversion précédente par rapport à l élément «quantity» attendu selon le schéma XSD. 9) (P) Transmettre un événement SAX du parseur au désérialiseur pour signaler l élément de début. 10) (D) Vérifier que le nom d élément de l événement SAX est «quantity». Ce test a déjà été effectué par le parseur lors de l étape 8. 11

Faiblesses du standard XML 11) (D) Sauvegarder l état pour indiquer que la prochaine valeur reçue devrait être stockée comme la quantité. 12) (D) Annuler l événement SAX. 13) (P) Convertir les deux caractères «10» en UTF-16. Le résultat sera composé de 4 bytes. 14) (P) Convertir ces deux caractères en un nombre entier. 15) (P) Vérifier que ce nombre entier est compris entre 1 et 2000 conformément au schéma. 16) (P) Transmettre un événement SAX avec une représentation en UTF-16 des deux caractères «10». 17) (D) Convertir la séquence des deux caractères en un nombre entier. Cette conversion a déjà été effectuée dans l étape 14. 18) (D) Copier le nombre entier dans le champ «quantity» de l objet d output. 19) (D) Annuler l événement SAX. 12

Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation des traitements XML Conclusions et recommandations 13

Optimisation des échanges XML Techniques de compression Formats de données binaires Fast Web Services Initiative du W3C (Binary XML) 14

Techniques de compression Objectif : réduire au maximum le nombre de bits utilisés pour représenter une information Compresser Décompresser Décompresser Compresser Client Serveur 15

Techniques de compression Codage sur base de la fréquence Codage sur base du schéma de données Méthodes hybrides 16

Techniques de compression Codage sur base de la fréquence Méthode largement utilisée avec une bonne maturité Aucune connaissance de la structure ou du contenu du document n'est requise Utilisation d'un dictionnaire de codes pour le remplacement des groupes de caractères redondants Exemple : WinZip (algorithmes de Huffman et Lempel-Ziv) 17

Techniques de compression Codage sur base du schéma de données Dans ce cas, les tags XML complets ne sont pas repris dans la forme compressée et peuvent être reconstitués Possibilité d'accéder aux champs de données décodés sans effectuer le decodage de l'ensemble du fichier Exemple : ASN.1 18

Techniques de compression Méthodes hybrides Approche très performante Combinaison du codage sur base de la fréquence et du schéma de données Le codage sur base de la fréquence est appliqué après celui sur base du schéma Exemple : utilisation de WinZip après un encodage basé sur ASN.1 19

Techniques de compression Recommandations Les techniques de compression sont adaptées pour les communications B2B (mais à éviter dans le contexte A2A) Le codage sur base de la fréquence donne de bons résultats lorsque la taille des fichiers est élevée Voir entre autres le rapport "XML Sizing and Compression Study For Military Wireless Data" publié par M. Cokus et D. Winkowski, MITRE (www.mitre.org - USA) 20

Optimisation des échanges XML Techniques de compression Formats de données binaires Fast Web Services Initiative du W3C (Binary XML) 21

Formats de données binaires Objectif : convertir les données XML en un format binaire très compacte 22

ISS Formats de données binaires ISS PER Employeurs PER ISS PER XML Data PER PER PER PER Application (Web/Btach) PER PER PER PER PER PER PER PER PER Application Platforms PER PER Application Application Application 23

Formats de données binaires ASN.1 (Abstract Syntax Notation One) Une norme ISO qui définit un formalisme de description de types de données abstraits Plusieurs syntaxes de transfert: BER (Basic Encoding Rules) PER (Packed Encoding Rules) XER (XML Encoding Rules) DER (Distinguished Encoding Rules) CER (Canonical Encoding Rules) 24

Objectif des syntaxes de transfert Préciser comment les données doivent être encodées pour la transmission, indépendamment du type de machine, du langage de programmation ou de la représentation dans une application 25

Basic Encoding Rules (BER) Age ::= INTEGER Age ::= 6 Application A 02 01 06 Application B BER est un format structuré où toutes les valeurs sont préfixées par un tag et une longueur Valeur Longueur Tag 24 bits 26

Packed Encoding Rules (PER) Age ::= INTEGER Age ::= 6 Application A 110 Application B 3 bits Contrairement à BER, les tags ne sont jamais transmis Objectif = préserver la bande passante 27

XML Encoding Rules (XER) Age ::= INTEGER Age ::= 6 Application A <Age>6</Age> Application B 12 octets Contrairement à BER et PER, XER est lisible XER consomme beaucoup de bande passante 28

Formats de données binaires (ASN.1) Exemple d'un enregistrement personnel de données : Nom : Yves P Buyten Date de naissance: 17 juillet 1959 Description ASN.1 d'un enregistrement personnel : PersonnelRecord ::= [Application 0] IMPLICIT SET { Name, Title [0] VisibleString, DateOfBirth [1] Date } Name::= [APPLICATION 1] IMPLICIT SEQUENCE { givenname VisibleString, Initial VisibleString, FamilyName VisibleString } 29

Formats de données binaires - Recommandations ASN.1 est une norme extensible qui a fait ses preuves Structure hiérarchique claire, lisible et sans ambiguïté ASN.1 permet gérer l'interopérabilité entre différents systèmes et de traiter plusieurs types d'informations: données textes, audio, vidéo, Les opérations de validations sont faciles à implémenter et consomment peu de ressources Plusieurs outils sont disponibles ASN.1 est partout et fonctionne bien; raison pour laquelle elle est invisible! ASN.1 est une bonne alternative aux schémas XSD 30

Formats de données binaires - Recommandations lineitem ::= [XER:UNCAPITALIZED] SEQUENCE { part-no INTEGER, quantity INTEGER } <xsd:complextype name="lineitem"> <xsd:sequence> <xsd:element name="part-no" type="xsd:number" /> <xsd:element name="quantity" type="xsd:number"/> </xsd:sequence> </xsd:complextype> 31

Optimisation des échanges XML Techniques de compression Formats de données binaires Fast Web Services Initiative du W3C (Binary XML) 32

Fast Web Services Une spécification définie par Sun Microsystems qui comporte notamment: X.694: pour définir un mapping du XSD vers ASN.1 X.695: Schéma ASN.1 pour SOAP Schéma ASN.1 pour le "XML Information Set" Fast annotations pour WSDL Utilisation de ASN.1 et PER (Packed Encoding Rules); l'encoding le plus compact et le plus efficace en matière de CPU 33

Fast Web Services - Objectifs Réduire l'overhead relatif au processing XML Fournir un niveau de performance comparable à celui de RMI (Remote Method Invocation) Améliorer la performance des Web Services tout en gardant les avantages de SOAP, WSDL et les autres technologies associées 34

Fast Web Services Domaines d'application Web Services au sein de l'entreprise (Enterprise Application Integration) Systèmes sensibles en matière d'utilisation des ressources et du temps d'exécution Systèmes RFID GSM High Performance Computing 35

Fast Web Services Résumé Fast Web Services réduit la taille des messages et favorise l'adoption des Web Services à grande échelle D'après les résultats publiés par SUN, Fast Web Services permet d'atteindre la performance de RMI et RMI/IIOP Processus de standardisation en cours au niveau de l'itu Mais perte du caractère auto-descriptif présent dans les spécifications basées sur XML 36

Optimisation des échanges XML Techniques de compression Formats de données binaires Fast Web Services Initiative du W3C (Binary XML) 37

Initiative du W3C (XML binaire) Groupe de travail (2005): "XML Binary Characterization Use Cases" Use Case : Utilisation des Web Services au sein de l entreprise Les Web Services sont de plus en plus utilisés en interne de l entreprise comme alternative aux architectures distribuées. Objectif : réduire le temps de traitement du trafic XML afin d obtenir un niveau de performance comparable à celui des systèmes existants (Corba, RMI, DCOM) 38

Initiative du W3C (XML binaire) Use Case : Workflow et traitements business Dans les processus de type Workflow, les documents sont transmis (généralement dans leur globalité) aux différents acteurs concernés selon les étapes du processus définies. Pour les documents volumineux, souvent seule une partie de ces documents est utilisée par les différents acteurs. La compression avec des mécanismes tels que GZIP est très coûteuse puisqu il faut compresser et décompresser le document au niveau de chacune des étapes du processus. La modification du document (ou d une partie de ce document) est coûteuse puisqu il faut constituer le DOM, appliquer les changements et mettre à jour le document. Problèmes liés à la bande passante, aux opérations de compression-décompression, et modifications du document Objectif : Accélérer les traitements XML et fournir un accès direct au contenu des documents XML 39

Initiative du W3C (XML binaire) Use Case : Publish and Subscribe et routage sur la base du contenu Les routeurs XML et les systèmes Publish & Subscribe sont très gourmands au niveau du CPU à cause du parsing de chaque message XML, de sa conversion en une représentation mémoire exploitable avant tout traitement Lorsque les règles sont complexes, examiner le contenu des messages XML est une tâche fastidieuse Objectif: améliorer les accès aux messages XML 40

Initiative du W3C (XML binaire) Use Case : Le routage des Web Services Dans certains cas, la destination des messages n est pas déterminée par le client, mais plutôt en temps réel au niveau des nœuds intermédiaires en fonction de différents facteurs Si les messages ont une grande taille et si chaque nœud effectue des opérations de cryptage, décryptage et signature digitale, cela engendre un «overhead» et une dégradation de la performance du système. Objectif:améliorer les accès aux messages XML, effectuer le routage sur base de l en-tête et opérer un accès direct à cette en-tête pour transmettre le message au destinataire 41

Initiative du W3C - Résumé Aucun standard "XML binaire" n'est actuellement disponible au sein du W3C L'initiative Fast Web Services de Sun Microsystems permet de répondre à plusieurs Use Cases définis dans le document de travail du W3C Il existe : la recommandation W3C "XML Information Set" publiée le 4 février 2004 Fast Infoset (un format XML binaire en cours d'élaboration sous l'égide de l'iso) 42

Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation des traitements XML Conclusions et recommandations 43

Optimisation des traitements XML Utilisation d'un parseur optimisé : le cas "XML Screamer" Frameworks de sérialisation-désérialisation XML Frameworks d'encodage basés sur ASN.1 Appliances XML 44

Utilisation d'un parseur optimisé: le cas de XML Screamer class orderitem { Int quantity; } <quantity>10</quantity> <orderitem> <quantity>10 </quantity> </orderitem> 6 étapes 19 étapes 45

Utilisation d'un parseur optimisé: le cas de XML Screamer 1. Comparer le tag «orderitem» avec le nom défini dans le schéma XSD. La comparaison est opérée directement sur le buffer des données d input (aucune copie de ces données n est nécessaire) 2. Effectuer un «new» pour la structure d output. 3. Comparer le tag «quantity» avec le nom défini dans le schéma XSD. A ce niveau, aucune copie des données n est requise. Le parseur est récursif et il n est pas nécessaire non plus de sauvegarder l état pour traiter la prochaine valeur reçue. 4. Vérifier que les deux caractères UTF-8 constituent une forme lexicale valide pour un «xsd :integer», et durant cette même vérification, transformer ces deux caractères sont transformés en une valeur entière égale à 10. 5. Vérifier que cette valeur est comprise entre 1 et 2000. 6. Copier le nombre entier dans le champ «quantity» de la structure de l objet d output. 46

Utilisation d'un parseur optimisé: le cas de XML Screamer Cette approche est très peu appliquée (peu de retours sur expérience) Pas de garantie au niveau de la maintenance Elle reste incomplète pour permettre une véritable optimisation des traitements XML Cette approche n'est donc pas recommandée MB/Sec/GHz 30 25 20 15 10 5 Xerces Expat Screamer 0 1 2 3 4 5 6 7 8 9 10 Test ID 47

Optimisation des traitements XML Utilisation d'un parseur optimisé : le cas "XML Screamer" Frameworks de sérialisation-désérialisation XML Frameworks d'encodage basés sur ASN.1 Appliances XML 48

Frameworks de sérialisation & désérialisation XML Quelques constats lors de l'utilisation d'un parseur DOM ou SAX (sans aucun framework): Pas de possibilités de Binding par rapport à un modèle objets Pas de typage des données Pas de possibilité de vérifier les données XML par rapport à un schéma XSD lors des opérations de sérialisation et désérialisation Mauvaise productivité Code source est difficilement lisible et très peu réutilisable 49

Frameworks de sérialisation & désérialisation XML De nombreux frameworks Open Source dont : Java Architecture for XML Binding (JAXB) Castor XML Xstream 50

Framework Java Architecture for XML Binding (JAXB) 51

Framework Java Architecture for XML Binding (JAXB) Framework standard J2EE Surtout utilisé dans le cadre des Web Services Plus de possibilités au niveau des opérations de sérialisation et désérialisation Beaucoup de classes sont générées, cela rend l'utilisation de ce framework un peu plus complexe 52

Framework Castor XML XML Binding entre un modèle objet Java et XML Génération du code source à partir d'un schéma XSD ou d'un fichier de mapping Framework facile à utiliser 53

Framework Xstream Facile à utiliser Rapide d'exécution Adapté pour les structures simples de données avec un nombre limité d'opérations de validations 54

Frameworks de sérialisation & désérialisation XML (synthèse) Les frameworks sont incontournables Amélioration de la productivité du développement et les traitements XML Il existe de nombreux frameworks Open Source Le choix dépend de plusieurs critères: La complexité des opérations de validations La structure des messages XML Le volume de données à traiter 55

Optimisation des traitements XML Utilisation d'un parseur optimisé : le cas "XML Screamer" Frameworks de sérialisation-désérialisation XML Frameworks d'encodage basés sur ASN.1 Appliances XML 56

Frameworks d'encodage basés sur ASN.1 L'idée est d'utiliser : Les structures ASN.1 à la place des structures XSD Les encodings (BER, PER, DER, CER, XER ) à la place du XML Des API pour les opérations de codage et décodage Des outils existent pour faciliter ces opérations! Exemple: http://asn1.elibel.tm.fr/xsdasn1/ 57

Frameworks d'encodage basés sur ASN.1 Plusieurs outils existent : XSD Tools (éditeur Marben) OSS ASN.1 Tools For Java (éditeur OSS Nokalva) ASN1C Compiler (éditeur Objective Systems) OpenH323 Open Source ASN.1/PER Compiler 58

Frameworks d'encodage basés sur ASN.1 Cas de XSDTools (Marben) 3 principaux modules : Un compilateur XSD (XSD Compiler) pour générer des classes Java à partir de la définition d un schéma XML Un moteur d exécution (XSD Runtime) permettant de fournir les services d encodage et de décodage basés sur BER, DER, PER, XER et E-XER. Une API Java générique (Generic Java API) permettant de fournir un ensemble de classes Java génériques et faciles à utiliser pour accéder au moteur d encodage-décodage. 59

Frameworks d'encodage basés sur ASN.1 Cas de XSDTools (Marben) Résultats : Outil facile à utiliser La valeur ajoutée est incontestable: réduction de la taille des messages XML par un facteur de 6! Outil plus adapté au périmètre A2A mais peut être utilisé pour des communications B2B Quelques problèmes ont été constatés durant les tests effectués 60

Optimisation des traitements XML Utilisation d'un parseur optimisé : le cas "XML Screamer" Frameworks de sérialisation-désérialisation XML Frameworks d'encodage basés sur ASN.1 Appliances XML 61

Appliances XML Qu'est ce qu'une appliance XML? Fonctions d'une appliance Scénarios de déploiement Types d'appliance Qu'elle est la valeur ajoutée d'une appliance XML? Principaux acteurs du marché Défis pour la mise en place d'une appliance XML 62

Qu'est ce qu'une appliance XML? 63

Qu'est ce qu'une appliance XML? Sans Appliance Avec Appliance 64

Fonctions d'une appliance Réduire la taille des messages échangés Accélérer les traitements XML Parsing Validation par rapport à un schéma XSD Transformations XSLT 65

Fonctions d'une appliance (Cas de DataPower-IBM) Réduire la taille des messages échangés 66

Fonctions d'une appliance Améliorer la performance du portail (génération du contenu dynamique: XML vers HTML) 67

Fonctions d'une appliance Effectuer des transformations de formats Gérer l'interopérabilité entre protocoles de communication Gérer l'intégration avec les systèmes existants 68

Fonctions d'une appliance Remplir le rôle de Web Services Proxy 69

Fonctions d'une appliance Gérer les Web Services (définition des SLAs, SLA monitoring, ) Tester la disponibilité des services 70

Fonctions d'une appliance Routage, transformation, sécurité, 71

Fonctions d'une appliance Routage sur base contenu 72

Fonctions d'une appliance Gérer la sécurité des échanges XML 73

Fonctions d'une appliance Gérer la sécurité des échanges XML 74

Scénarios de déploiement 75

Types d'appliances XML XML Acceleration-Optimization Appliance XML Security Appliance XML Integration Appliance 76

Qu'elle est la valeur ajoutée d'une appliance XML? Pour plus d'informations, voir le site: http://www-306.ibm.com/software/integration/datapower/performance.html 77

Principaux acteurs du marché IBM WebSphere DataPower XML Accelerator XA35 (accélération des traitements XML) WebSphere DataPower XML Accelerator XS40 (sécurité des échanges XML) WebSphere DataPower XML Accelerator XI50 (intégration d'applications) 78

Principaux acteurs du marché Cisco Systems Application-Oriented Networking (gestion du trafic et sécurisation contre les menaces:sql injection, LDAP injection, cookie Poisoning, ) Reactivity (racheté par Cisco Systems) Accélération des traitements XML Support des Web Services Sécurité Intégration d'applications 79

Principaux acteurs du marché F5Networks (proche du système AON) Application Firewall Gestion du trafic et sécurité au niveau des données Forums Systems Proche du système AON Support des Web Services Layer 7 Technologies Intel 80

Défis pour la mise en place d'une appliance XML Sensibilisation Délimitation du périmètre fonctionnel Implication du management Organisation Facteurs de succès : Trop de technologie peut nuire à la technologie! Formation des développeurs Guidelines et Best Practices (équipe des architectes) 81

DataPower XML Appliance 82

DataPower XML Appliance 83

DataPower XML Appliance le cas de la BCSS L'appliance "WebSphere DataPower XML Accelerator XS40" a été retenue dans le cadre du marché SOA Appliance : un point de passage obligatoire pour tous les flux BCSS Scope: gestion sécurité+ticketing+logging+ssl Actuellement en phase d'acceptation 2 environnements: développement-test + acceptation-production Evolution prévue pour l'optimisation des échanges et traitements XML (Parsing, validation, transformations, ) 84

DataPower XML Appliance Points d'attention D'après les tests que nous avons effectués: La fonction du monitoring (des Web Services) est quelque peu limitée La mémoire de l'appliance est limitée (pas de messages XML avec plusieurs centaines de MegaBytes) L'architecture doit être bien définie et l'appliance bien dimensionnée Si beaucoup de connectique, l'appliance risque de devenir un "bottleneck" 85

Sommaire XML : un standard incontournable Faiblesses du standard XML Optimisation des échanges XML Optimisation des traitements XML Conclusions et recommandations 86

Conclusions et recommandations XML est très gourmand en matière de ressources 87

Conclusions et recommandations Au niveau des traitements XML, nous recommandons: Les frameworks de sérialisation et désérialisation (objet-xml) lorsque le nombre et la taille des données XML à traiter sont faibles Les frameworks basés sur ASN.1/PER lorsqu'il y a de gros volumes de données XML à traiter au niveau des applications J2EE L'utilisation de "Fast Web Services" pour améliorer la performance des Web Services plus particulièrement à l'intérieur de l'entreprise Les appliances XML pour décharger le portail et les applications business des opérations de traitements XML 88

Conclusions et recommandations Au niveau des échanges XML, nous recommandons: Utilisation des techniques de compression uniquement dans le contexte B2B Utilisation de l'asn.1/per lorsqu'il y a de gros fichiers et messages XML à échanger à la place de l'approche XSD/XML Utilisation de "Fast Web Services" dans les contextes A2A et B2B pour réduire la taille des messages échangés Mais, il faut disposer des outils nécessaires! 89

Merci Questions? Email: rachid.khamliche@smals.be