La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Corinne Baragoin Francis Arnaudiès

Présentations similaires


Présentation au sujet: "Corinne Baragoin Francis Arnaudiès"— Transcription de la présentation:

1 XML: une réalité d’aujourd’hui Quels bénéfices attendre de pureXML dans le serveur hybride DB2 9 ?
Corinne Baragoin Francis Arnaudiès Spécialistes IT: Gestion de l’information 18 Septembre 2006

2 Technologie pureXML de DB2 9
Qui utilise XML aujourd’hui et pourquoi? Pourquoi XML? Quelles industries? Comment utilisent-elles XML? Comment DB2 9, serveur hybride intègre la technologie IBM pureXML? Les atouts d’un stockage hybride ? Utiliser le serveur hybride DB2 9 Bénéfices au travers d’exemples d’utilisation

3 Pourquoi XML ? Toute plate-forme, éditeur, OS, software, langage
Souplesse , Souplesse , Souplesse ! Toute plate-forme, éditeur, OS, software, langage XML est indépendant de l’éditeur et et la plate-forme XML est un modèle de données très souple : pour données structurées, semi-structurées, pour données sans schéma, XML est plus souple que les données relationnelles car il permet: répétition choix contenu mixte nesting Facile à étendre: définir autant de nouveaux tags/éléments qu’il en est besoin Facile à valider: par exemple pour vérifier la conformité avec un schéma - tout parser XML peut le “faire”! Facile à transformer des documents XML dans d’autres formats (HTML, etc.) XML est une “brique” pour la prochaine génération d’e-Infrastructure: Web Services, Grid computing, Semantic Web, …

4 Qui utilise XML. Tout le monde
Qui utilise XML? Tout le monde! Un passage imposé par standards et obligations légales Santé HL7 – Gestion du Patient: diagnosics, traitements, prescriptions, etc. - Banque et Marchés Financiers IFX - Interactive Financial Exchange : trades, banque, transactions client, etc. - Assurance ACORD – Gestion des Polices – Indemnités, réclamations, etc. Distribution IXRetail – Inventaire, transactions client, et gestion des employés Business to Business cross-industrie (y compris Gouvernement) SWIFT – Transactions B2B – Factures, Commandes, statut inventaire, etc. ….. Et des centaines encore XML has been adopted by many industries, some more broadly than others. There are many more industries and associated XML standards than shown here, but where we want to initially focus our attention is on the Top 5: Health Care, Financial, Insurance, Retail and SWIFT.

5 Un exemple: Financial Data (FIXML)
Achat de 1000 actions d’IBM . 8=FIX.4.2^9=251^35=D^49=AFUNDMGR^56=ABROKER^34=2 ^52= :14:49^11=12345^1=111111^63=0^64=2003 0621^21=3^110=1000^111=50000^55=IBM^48= ^22= 1^54=1^60= :14:4938=5000^40=1^44=15.75^15=USD ^59=0^10=127 Ancien protocole FIX Nouveau protocole FIXML Extensible Développement et maintenance moins coûteux

6 Pourquoi XML? Solution aux problématiques métier et IT d’aujourd’hui
Intégration B2B et B2C Mécanisme de transport indépendant de la plateforme Ordres d’achat déclenchent des transactions transitant dans une architecture orientée Services Gestion de documents Gouvernement et industries légales (Finances, Assurances…) nécessitent la signature électronique Les formulaires sur les taxes nécessitent signature et changent d’année en année Documents contiennent souvent des sous-documents, qui s’enrichissent dans le temps Livres, chapitres et sous-chapitres Business to Business – Messaging can be used to transport data from one business process to another. Often 1 message can spawn several transactions down the line. The universal format means all applications can interpret the data and just chooses the information relevant to that application. Tracabilité, persistance de l’info Document Management – XML is perfect for documents as it can; maintain hierachies, can be easily changed, and retain any digital signatures. Take for example tax forms, which change from year to year documents can be retained and simply appended to for 2005 changes. Business Intelligence – BI reports can simply choose the data they need form multiple formats. Again, the concept of self-describing elements allow the BI user to simply obtain the information they need by use of the XML tags.

7 DB2 9 renforce les solutions SOA XML est le lien
Web Services Clients Systems B2B Life Insurance Customer xml xml YTP Pensions Corporate Portal xml xml Business Services Data Server ITP Pensions xml Private Portal xml xml Investments Private Sales system xml xml xml Banking The order comes in and is managed via the business (or web) service. That web service immediately creates a record in the Integration Data Server containing transactional information. The business services then calls the appropriate sub-processes to complete the transaction. The initial XML document created at initial order processing with transaction information. Then each sub-process updates a portion of the XML document related to that sub-process. Each product or product package has its own XML definition. As an order is received, the XML is stored in an XML Integration Data Server. From this database the different legacy systems pick up the parts of the transaction XML that interests it. We can also make applications which handle the generic orders. For example, our call center application gives us an overview over all orders by only relating to the header and customer information. ================================================================ Stocker l’information : nouvau systeme transactionnel Traeabilité, Corporate Sales system Call Center Process Manage ment Data Ware house Mortgage Web Services 3rd Party portal

8 Où est XML? XML peut être vu soit comme des données structurées soit comme un document de contenu
Dans des fichiers… Dans LOBs… XML ONLY Tamino, TextML, = DB XML Décomposé dans des tables Dans une DB XML

9 XML-Enabled Databases: 2 options
CLOB/Varchar Shredding XML DOC Extract selected elements/attr. XML DOC Fixed Mapping "Decomposition" Shredder Side Tables XML DOC XML DOC XML DOC Regular relational tables Varchar or clob column Regular tables for faster lookup

10 Technologie pureXML de DB2 9
Qui utilise XML aujourd’hui et pourquoi? Pourquoi XML? Quelles industries? Comment utilisent-elles XML? Comment DB2 9, serveur hybride intègre la technologie IBM pureXML? Les atouts d’un stockage hybride ? Utiliser le serveur hybride DB2 9 Bénéfices au travers d’exemples d’utilisation

11 Bases de données XML XML-enabled Databases
Le modèle de données est relationnel (non XML) Mapping entre le modèle de données XML et les données relationnelles nécessite de connaître le modèle relationnel ou de stocker le fichier XML comme du texte Un exemple DB2 XML Extender Native XML Databases Utilisent le modèle de données hiérarchique XML pour stocker et traiter XML en intere Pas de mapping, pas de stockage texte Format de stockage = Format de traitement Un exemple: le serveur hybride DB2 9 XML Extender has been replaced by XML decomposition (new stored procedures)

12 Le mapping est complexe et fragile
The simplest rule for shredding XML is to create a new table for every element that can occur multiply within its parent element. Elements that occur exactly once within a parent element are placed in the same table as the parent. Optional elements are problematic. <? xml version=“1.0” ?> <purchaseOrder id=‘12345” secretKey=‘4x%$^’> <customer id=“A6789”> <name>John Smith Co</name> <address> <street>1234 W. Main St</street> <city>Toledo</city> <state>OH</state> <zip>95141</zip> </address> </customer> <itemList> <item> <partNo>A54</partNo> <quantity>12</quantity> </item> <partNo>985</partno> <quantity>1</quantity> </itemList> </purchaseOrder> POid CustId A6789 …. POid PartNo Quantity A54 12 985 1 …. What happens if we have to ship to overseas customers? Many items have additional attributes – size and color are common but is the size numeric (36) or alpha (L) some attributes may be optional others are specialized and occur for just one item type - Italian or English thread, sprocket combination, valve type The original document is lost, what happens when a customer calls to say they order 1 server, not the 12 that you shipped them? Custid Name Street City State Zip A6789 John Smith Co 1234 W. Main St Toleodo OH 95141

13 Shredding: et quand un schéma change…
"Employees are now allowed to have multiple phone numbers…" <DEPARTMENT deptid="15" deptname="Sales"> <EMPLOYEE> <EMPNO>10</EMPNO> <FIRSTNAME>CHRISTINE</FIRSTNAME> <LASTNAME>SMITH</LASTNAME> <PHONE> </PHONE> <PHONE> </PHONE> <SALARY> </SALARY> </EMPLOYEE> <EMPNO>27</EMPNO> <FIRSTNAME>MICHAEL</FIRSTNAME> <LASTNAME>THOMPSON</LASTNAME> <PHONE> </PHONE> <SALARY> </SALARY> </DEPARTMENT> Requires: Normalization of existing data ! Modification of the mapping Change of applications Costly!

14 Bénéfices de DB2 9 pureXML
XPath XML XPath XML Store Mapping Code Retrieval Code Client Client Retrieve XML XML Shred Compose DB2 XML Shredded Content Catalog Solution simplifiée et directe Pas de code de mapping à écrire et maintenir Pas de schema complexe à gérer et maintenir Pas de catalogue propriétaire Pas de parsing XPath et de recomposition du résultat Performance et souplesse accrues Moins de coûts de développement et de maintenance Garder XML sous XML Chaque transformation (ex shredding) est coûteuse et peut entraîner des erreurs XML peut être trop complexe à décomposer Le format hiérarchique XML correspond mieux à des formes d’organisation de pensée humaine

15 Serveur hybride DB2 9: à la fois stockage pureXML et relationnel
Serveur de données Services qui gèrent, sécurisent et fournit l’accès à la base de données. Serveur de données hybride: DB2 supporte à la fois stockage relationnel et XML natif et fournit tous les services pour supporter les 2 types de structures XQuery et/ou SQL voire SQL/XML XML et /ou données relationnelles: jointures possibles Même optimiseur, bénéfices des utilitaires (LOAD, BACKUP…) Data Server Database Physical Storage Database may be becoming a commodity, but data servers are not. Companies rely on data servers for their critical data and key to this is not just the database, but the accompanying services. Stockage Relationnel Données stockées sous le format lignes et colonnes conçu pour retourner des ensembles de résultats. Stockage PureXML Données stockées dans un format hiérarchique pré-analysé, et non pas sous forme de BLOB ou CLOB. Base de données Vue logique du stockage Tables Vues Stockage physique Fichiers base de données

16 Données XML ont besoin de la maturité du relationnel Complémentaire au traitement XML
Gérer de larges volumes de données XML est une question de base de données! Efficient Search & Retrieval of XML Persistency, Recovery, Transactions, ACID Performance, Scalability …all the same reasons as for relational data! Données XML ont besoin d’être protégées Backup and recovery features to ensure continuity Data is protected using database security Intégration Integrate new XML data with existing relational data Publish (relational) data as XML Database support for web applications, SOA, web services (SOAP) Optimiser les investissements existants Use existing technology infrastructure and skills to store and manage both relational and XML

17 DB2 9 Serveur Hybride : les 2 mondes…. Et le meilleur des 2
Beaucoup de données dans des base relationnelles Cela ne changera pas …car les bases SQL sont rapides Mais XML peut être un meilleur choix que le relationnel pour ... Données par nature hiérarchisées ou imbriquées Exemple: Données médicales, Objets multi-valués, … Ensemble de données avec des attributs partiellement renseignés Exemple: FIXML, FpML, Profils clients Schémas qui évoluent continuellement Exemple: Changements fréquents des services/produits/processus Schémas variables, de nombreux schémas Exemple: Intégration de données, consolidation de sources de données variées Combiner données structurées et non structurées Exemple: CM, Sciences de la Vie, News & Media Panel Definition Markup Language (PDML) is a new User Interface (UI) data representation language that is based on XML to define a platform independent language for describing the layout of Graphical User Interface (GUI) elements. Panels can be defined by using the Graphical Toolbox, which is included in the AS400 Toolbox for Java Modification 2

18 Problèmes résolus avec DB2 9 – Technologie pureXML
Recherche de données Besoin de rechercher tout composant au sein du document XML Besoin de retrouver très vite des ensembles de données Shredding Se débarrasser des contraintes liées au shredding Flexibilité Pouvoir changer toute donnée à tout moment Le stockage natif XML décrit chaque champ Combinaison de SQL et XQuery dans la requête (interface graphique) Il n’y a plus de shredding avec DB2 9 Avec les autres bases de données du marché, les données doivent être découpées (les documents XML sont démantelés), ce qui handicape considérablement la performance des recherches. Les composants désassemblés d’une d’un document sont stockés en format ‘texte plat’ ce qui interdit toute indexation (à moins de faire du text mining!) La fonction ‘Schema évolution’ traite les shemas multiples

19 DB2 9 pureXML, Serveur Hybride
pureXML Hybrid XML db Shred CLOB Information Fidelity Integration Schema Flexibility Performance/Scale Programming Models Manageability = Integration : transactionnel, 2phase commit = =

20 Technologie pureXML de DB2 9
Qui utilise XML aujourd’hui et pourquoi? Pourquoi XML? Quelles industries? Comment utilisent-elles XML? Comment DB2 9, serveur hybride intègre la technologie IBM pureXML? Les atouts d’un stockage hybride ? Utiliser le serveur hybride DB2 9 Bénéfices au travers d’exemples d’utilisation

21 DB2 9 XML: Le retour des premiers tests client
Ce client basé en Norvège est un des leaders de l’assurance Résultats proto-type utilisant solution SOA avec DB2 9 Rapidité, accès aisé aux informations enrichies de produit & client Création plus rapide de produits personnalisés que clients demandent Devrait permettre de traiter 5 * plus de business Development and app. performance re: XML data with relational data server with DB2 9 hybrid data server Development of search & retrieval business processes CLOB: 8 hrs Shred: 2 hrs 30 min. Add field to schema 1 week 5 min. Relative lines of I/O code (65% reduction) 100 35 Queries hrs 20 sec - 10 min Query non-shredded XML element ½ day Improve response time - For Credit Scoring we have a Database storing the request and result as XML in form of a CLOB. To report on this data we have an application that read one XML extract the required data before reading the next. This job typically takes between hours to run. We loaded the data into the XML store. This took about a 24 hours and used a day testing and defining indexes. After this queries took between 20 seconds to 10 minutes to run. The last task was to search and retrieve XML data. Here we had 6 different scenarios. Using XML native store we programmed the seaches in 0,5 hours, with the shredded version we used 2 Hours and with a CLOB we used 8 hours. Next we tested updating a schema by adding a field. In our shredded version we had to add a field in the database and amend the mappings (SQL). All together this took a day of work (development and test) but a week in real time because any DB changes takes minimum a week. For the Native store we only changed the pointer to the schema in an XML config file and the new solution worked (a 5 minute job). Storebrand , a large financial services firm in Europe, has applied such a services oriented approach to deliver improved customer satisfaction and to give it the flexibility required for delivering new products faster to a demanding market place. Storebrand was among the early users of DB2 Viper - now DB2 9 - who saw the dramatic improvement in development time and performance of applications composed of services working with XML data. The efficiencies Storebrand found in working with DB2’s pureXML has already had a significant impact on their business. For example in a recent webcast, Thore Thomassen of Storebrand explains how they were able to implement significant changes in product and business processes in 4 weeks That Significantly Reduced Order Processing Time from 1-3 weeks to less than 5 minutes. Allowing them to process more orders in 1 week in June than the whole of We have a link to the replay of that Webcast on a chart at the end of the presentation. Facteurs de succès Séparation des Process et Information Gestion intégrée de l’information XML Echanges entre processus sous format XML

22 Partenaires et solutions XML basées sur DB2 9
JustSystems

23 Exemple d’utilisation du serveur hybride – DB2 9
DB2 9 serveur Hybride Serveur de Données Relationel Serveur de Données natif XML Description du modèle Exemple de code: Chargement de données natives XML Modification du modèle Création d’une vue Création d’une procédure stockée

24 Application XML Versus Relationnel

25 Modèle natif Relationnel
Création du modèle Modèle natif XML Modèle natif Relationnel

26 Chargement de données XML
$conn =db2_connect($dbname, $dbuser, $dbpass); $fileContents = file_get_contents("products/p1.xml"); $dom = simplexml_load_string($fileContents); Code commun DB2 pureXML $stmt =db2_prepare($conn, "INSERT INTO xmlproduct VALUES (?, ?)"); db2_execute($stmt, array($prodID, $fileContents); DB2 Relationnel $prodID = (string) $dom["pid"]; $prodName = (string) $dom->description->name; $prodDetails = (string) $dom->description->details; $prodPrice = (float) $dom->description->price; $images = array(); …. $stmt = db2_prepare($conn, "INSERT INTO sqlimages(Pid,Type,Alias,Location) VALUES (?, ?, ?, ?)"); db2_execute($stmt, array($prodID, thumbnail', $prodImgAlias, $prodImgThumb)); Shredding Demo

27 Modification du modèle de données
DB2 pureXML Pas de modification Mise à jour des requêtes XQuery Peu ou pas de modification du code DB2 Relationnel Rechargement des données pour intégrer les nouvelles colonnes Mise à jour des ordres INSERT Modification du code, par exemple le shredding

28 Intégration : Exemple de vue XML
CREATE VIEW Categories(Category) AS SELECT DISTINCT(XMLCAST( XMLQUERY('for $i in $t/product/description/category return $i' PASSING BY REF T.DESCRIPTION AS "t" RETURNING SEQUENCE) AS VARCHAR(128))) FROM xmlproduct AS t;

29 Intégration : Exemple de Procédure Stockée
CREATE PROCEDURE getProduct(IN id VARCHAR(10)) DYNAMIC RESULT SETS 1 LANGUAGE SQL BEGIN DECLARE c_cur CURSOR WITH RETURN FOR SELECT XMLSERIALIZE(XMLQUERY('for $i in $t/product let $thumb := let $name := $i/description/name/text() let $details := $i/description/details/text() let $price := $i/description/price return <div id="Product"> {$name} <strong>Details: </strong> {$details} <strong>Price: </strong> ${$price/text()} <strong>Size: </strong> {$size/text()} </div> ' PASSING T.DESCRIPTION AS "t" RETURNING SEQUENCE) AS CLOB(32K)) FROM xmlproduct T WHERE Pid = id; OPEN c_cur; END; END

30 En Résumé – DB2 9 pureXML DB2 9
Souplesse, intégration,simplicité pour le développement DB2 9 Nouvelles techniques de stockages pureXML Nouvelles techniques d’indexation Nouveau langage XQuery Validation des documents XML (XML Schema) Nouveaux outils d’administration (Optimiseur, Import/Export, Explain, ,Haute Disponibilité, etc.) Support des API (Java, C/C++, .NET, PHP, etc.) …et plus Solution robuste et éprouvée pour le développement de nouvelles applications

31 DB2 9 XML : Ressources Websites White papers on developerworks:
"Managing XML for Maximum Return" "Use DB2 native XML with PHP " "An Overview of Native XML Support in DB2" "Comparing XML and relational storage – A best practices guide“ Redbook: « DB2 9: pureXML Overview and Fast Start »: SG Remplissez le formulaire pour le recevoir !!!! Notez si vous êtes intéressés par un Workshop technique/ POT sur DB2 9 XML


Télécharger ppt "Corinne Baragoin Francis Arnaudiès"

Présentations similaires


Annonces Google