1 DOAG - Regionaltreffen Hannover Donnerstag, 06.03.2003 Ali Khabbazian Thales IS mail: [email protected] Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Oracle 9i XML Datenbank 2 Topics: •Einführung (XML und ORACLE XML DB) •XML Developer‘s Kit (XDK) für Java und PL/SQL •ORACLE XML SQL Utility (XSU) © Thales IS GmbH 2002 •Demo bzw. Beispiele Thales Information Systems GmbH Im Team für Ihren Erfolg 3 Einführung 1- XML - Allgemein © Thales IS GmbH 2002 2- XML in der ORACLE Datenbank Thales Information Systems GmbH Im Team für Ihren Erfolg 4 XML - Allgemein © Thales IS GmbH 2002 Was ist XML nicht? Thales Information Systems GmbH Im Team für Ihren Erfolg 5 XML - Allgemein ...XML ist nicht Ein Abkömmling von HTML Ein Ersatz für HTML Eine Programmiersprache (es ist eine Datenbeschreibungssprache (engl. eXtended Markup Language)) Thales Information Systems GmbH © Thales IS GmbH 2002 Ein Ersatz für Java XML ist für die Daten Java ist für den Prozess Im Team für Ihren Erfolg 6 XML - Allgemein Wofür und warum ist XML gut? •Als Speicherformat •Als Datenaustauschformat •Speichern von Applikation-Metadaten •Datenaustausch zwischen EAI-Komponentenn © Thales IS GmbH 2002 •herstellerneutralen Protokollen (z. B. SOAP) •Standard Thales Information Systems GmbH Im Team für Ihren Erfolg 7 XML Dokument Quelldokument DTD Document Type Definition (optional) XSL / XSLT Stylesheets (optional) Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 XML - Allgemein 8 XML - Geräteunabhängigkeit Business to Business WEB •Beliebiger Inhalt •beliebiges Gerät DB ... Internet andere Applikationen WEB DB Business to Customer ... Phone Pager Palm Geräte Thales Information Systems GmbH SmartPhone Content Servers Im Team für Ihren Erfolg © Thales IS GmbH 2002 PC 9 XML Transformation - XSL & XSLT XSLT wird benutzt, um verschiedene User-Interfaces oder Applikationen zu erzeugen xsl:... PC SmartPhone HTML WML WEB <?xml?> DB Phone Pager Thales Information Systems GmbH ... XSLT VoxML WhateverML Content Servers Im Team für Ihren Erfolg © Thales IS GmbH 2002 Palm 10 Einführung Teil 2: © Thales IS GmbH 2002 XML in der ORACLE Datenbank Thales Information Systems GmbH Im Team für Ihren Erfolg 11 XML in der ORACLE Datenbank Formal: Aus der Anwendersicht: •vollständige und zeitnahe Umsetzung der W3C-Spezifikationen •Bereitstellung geeigneter Tools für die Arbeit mit XML in der Datenbank •Zugriff (inkl. Update) •Einbindung in bestehende Systemlandschaften •Performance, Skalierbarkeit Sicherheit •native Speicherung von XML in der DB Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Anforderungen an XML DBs 12 XML Datenbanken - eine Prognose Gartner, Oktober 2001 Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Bis 2004 spielt XML-relationale Technologie in jeder modernen eBusiness-orientierten Architektur eine Rolle 13 ORACLE XML Datenbank Kein separater Server sondern nur eine Erweiterung (keine zusätzlichen Lizenzkosten) Gleicher Datenbank-Kernel für: •relationale Daten und Thales Information Systems GmbH © Thales IS GmbH 2002 •XML-Dokumente Im Team für Ihren Erfolg 14 ORACLE XML Datenbank Ein nativer Datentyp SQL-Methoden für XML W3C-Standard XML/SQL-Dualität Standardmethode zum XML Zugriff XML-Repository zur Organisation von XML Dokumenten FTP-, HTTP- und WebDAV-Protokoll Standard API‘s für Java, C und PL/SQL-Zugriff .... Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Was bietet Oracle XML DB? 15 Vor dem Mauerfall Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 ORACLE XML Datenbank 16 Nach dem Mauerfall Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 ORACLE XML Datenbank 17 Oracle 8i Thales Information Systems GmbH Oracle 9i R1 Oracle 9i R2 Im Team für Ihren Erfolg © Thales IS GmbH 2002 XML in der ORACLE Datenbank 18 XML in der ORACLE Datenbank Speicherungsart (I) Sperre auf Elementebene CLOB Multiuser-Zugriff Relationale Indizierung Performance Relational Nur SQL XML Information Nativ Objektrelational XML Validierung Relationale Abbildung Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Nativ als Dokument 19 XML in der ORACLE Datenbank Speicherungsart (II) Flexible Speicherung CLOB Performance Nur Textindex Nativ als Dokument Relational Sperre auf Dokumentebene Redundanz XML Validierung Thales Information Systems GmbH © Thales IS GmbH 2002 Nativ Objektrelational Im Team für Ihren Erfolg 20 XML in der ORACLE Datenbank Speicherungsart (III) Flexibilität CLOB Standardkonformer Zugriff XML Indizieung XML Validierung Relational Nativ Objektrelational Thales Information Systems GmbH Performance Sperre auf Dokumentebene © Thales IS GmbH 2002 Nativ als Dokument Im Team für Ihren Erfolg 21 XML in der ORACLE Datenbank Speicherungsart (IV) Sperre auf Elementebene CLOB SQL und W3C Standards XML Indizieung Relational XML Validierung Intelligentes DOM Handling Performance Nativ Objektrelational Thales Information Systems GmbH Flexibilität Im Team für Ihren Erfolg © Thales IS GmbH 2002 Nativ als Dokument 22 XML in der ORACLE Datenbank SQL> INSERT into PURCHASE_ORDER_TABLE values (1234, XMLTYPE( 2 ‘<PurchseOrder> 3 <Reference>Khabbazian-20030306123456</Reference> 4 <Actions/> 5 <Reject/> 6 <Requestor>Ali Khabbazian</Requestor> ....... 18 </Purchase>‘) 19 / 1 row created. SQL> Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 SQL> Create table PURCHASE_ORDER_TABLE 2 (PO_NUMBER number(16), PURCHASE_ORDER xmltype) 3 ) 4 / Table created. 23 ORACLE XML DB Architektur (I) 2100 8080 XML DB Repository HTTP FTP WebDAV XML Shema SQL*NET XML Dokumente Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Port 8080 24 Zugriff auf XML DB per WebDAV © Thales IS GmbH 2002 Anmelden an DB Thales Information Systems GmbH Im Team für Ihren Erfolg 25 © Thales IS GmbH 2002 Zugriff per http (mit XSLT-Transformation) Thales Information Systems GmbH Im Team für Ihren Erfolg 26 XML DB Repository Hinzufügen eines Verzeichnisses in das Repository SQL> declare 2 result boolean; 3 begin 4 result := xdb_utilites.createFolder(‘/home/‘|| USER || ‘/xsd‘); 5 end 6 / PL/SQL procedure erfolgreich durchgeführt. SQL> commit; Thales Information Systems GmbH © Thales IS GmbH 2002 Commit complete. SQL> Im Team für Ihren Erfolg 27 XML Developer‘s Kit (XDK) •Beinhaltet wichtige Komponenten zum Lesen, Manipulieren, Transformieren und Darstellen von XML-Dokumenten •Keine Shareware- oder Trialversion Vollsupport © Thales IS GmbH 2002 • Zum einfachen Erstellen von web-basierten Datenbank-Applikationen Thales Information Systems GmbH Im Team für Ihren Erfolg 28 XML Developer‘s Kit (XDK) Sun Solaris Windows NT Linux HP-UX XDK für Java 9.2.0.4.0 9.2.0.4.0 9.2.0.4.0 9.2.0.4.0 XDK für JavaBeans 9.2.0.4.0 9.2.0.4.0 9.2.0.4.0 9.2.0.4.0 XDK für C 9.2.0.4.0 9.2.0.4.0 9.0.1.0.0 9.0.1.0.0 XDK für C++ 9.2.0.4.0 9.2.0.4.0 9.0.1.0.0 9.0.1.0.0 XDK für PL/SQL 9.2.0.4.0 9.2.0.4.0 9.2.0.4.0 9.2.0.4.0 Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 Aktuelle Releases in 9i 29 XDK für Java Komponenten der XDK für Java: •XML-Parser für Java inkl. XLST •XML Schema-Prozessor für Java •XML Class-Generator für Java •XSQL Servlet •SOAP Server © Thales IS GmbH 2002 •XML Compressor •TransX Utility Thales Information Systems GmbH Im Team für Ihren Erfolg 30 XDK für Java XML-Parser für Java: XML-Daten können von der Applikation bearbeiten werden. Folgende Standards werden unterstützt: •W3C XML 1.0 Anforderungen •DOM (Document Object Model) API (1.0, 2.0 Core, 2.0 Traversal) © Thales IS GmbH 2002 •SAX (Simple API für XML) 2.0 und SAX2-ext •W3C XML Namespaces 1.0 Thales Information Systems GmbH Im Team für Ihren Erfolg 31 XDK für Java XML Schema Processor für Java: Es gibt zwei Arten, XML Schema Processor zu nutzen: •Ein Builder setzt das Shema aus den XML Schema Dokumenten Zusammen © Thales IS GmbH 2002 • Ein Validator benutzt das Schema zur Validierung eines Dokuments Thales Information Systems GmbH Im Team für Ihren Erfolg 32 XDK für Java XML Class Generator für Java: Nützlich in folgenden Situationen: •Austausch von XML-Messages zwischen zwei Applikationen © Thales IS GmbH 2002 •Erstellen von einem XML-Dokument für eine Web-Form Thales Information Systems GmbH Im Team für Ihren Erfolg 33 © Thales IS GmbH 2002 XDK für Java Thales Information Systems GmbH Im Team für Ihren Erfolg 34 © Thales IS GmbH 2002 ORACLE XML DB - Architektur II Thales Information Systems GmbH Im Team für Ihren Erfolg 35 XDK für PL/SQL Wichtige Komponente der XDK für PL/SQL: XML Parser für PL/SQL XML Schema Prozessor für PL/SQL XML SQL Utility (XSU) für PL/SQL XSLT Prozessor Thales Information Systems GmbH © Thales IS GmbH 2002 XML Schema Prozessor Im Team für Ihren Erfolg 36 XML SQL Utility - XSU 1- Das Werkzeug zur Umwandlung: der relationalen Daten in XML-Format und der XML-Daten in die relationale Form 2- Das Werkzeug zum stückweisen (piecewise) Update von XML-Dokumenten 3- XSU-Funktionalitäten sind erreichbar: Thales Information Systems GmbH © Thales IS GmbH 2002 über Java API über PL/SQL API über Java Befehl Im Team für Ihren Erfolg 37 XML SQL Utility - XSU <?xml version=’1.0’?> <ROWSET> <ROW num="1"> <EMPNO>7369</EMPNO> <ENAME>Smith</ENAME> <JOB>CLERK</JOB> <MGR>7902</MGR> <HIREDATE>12/17/1980 0:0:0</HIREDATE> <SAL>800</SAL> <DEPTNO>20</DEPTNO> </ROW> <!-- additional rows ... --> </ROWSET> Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 SQL> SELECT * FROM emp; 38 Erzeugen von XML mit XML SQL Utility Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 XML SQL Utility - XSU 39 Speichern von XML in der Datenbank mit XSU Thales Information Systems GmbH Im Team für Ihren Erfolg © Thales IS GmbH 2002 XML SQL Utility - XSU 40 Referenzen: Bücher: Oracle9i XML-Handbuch / Oracle Press / 2002 / Ben Cheng Online-Veröffentlichungen: XML Developer‘s Kits Guide - XDK.pdf XML Database Developer‘s Guide.pdf XML API Reference.pdf ORACLE XML DB - An ORACLE Technical White Paper (PDF-File) Links: © Thales IS GmbH 2002 http://otn.oracle.com./tech/xml/xml_java/content.html Thales Information Systems GmbH Im Team für Ihren Erfolg 41 © Thales IS GmbH 2002 Danke für Ihre Aufmerksamkeit Thales Information Systems GmbH Im Team für Ihren Erfolg