1 / 45

Agenda

Agenda. Architekturüberblick Der XML-Datenbankserver Tamino X-Node Tamino X-Tension XML-Anbindung anderer Formate Schnittstellen WebDAV-Server Werkzeuge. Architekturüberblick. Der XML-Datenbankserver. XML Speichern Abfragen Ändern Text Retrieval XML Schema Security Indexierung

Download Presentation

Agenda

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Agenda • Architekturüberblick • Der XML-Datenbankserver • Tamino X-Node • Tamino X-Tension • XML-Anbindung anderer Formate • Schnittstellen • WebDAV-Server • Werkzeuge Harald Schöning

  2. Architekturüberblick Harald Schöning

  3. Der XML-Datenbankserver • XML • Speichern • Abfragen • Ändern • Text Retrieval • XML Schema • Security • Indexierung • Internationalisierung • Datenbanksystem Harald Schöning

  4. Datenbank Collection  Collection  Schema Schema  Doctype Doctype Der XML-Datenbankserver:XML speichern • Dokumente mit und ohne Schemaassoziation • ggf. Validierung • einzeln oder als Menge von Dokumenten zu speichern • eindeutige ID pro Dokument • optional Dokumentname Harald Schöning

  5. Der XML-Datenbankserver:XML abfragen • X-Query (Tamino query language) • basiert auf XPath • erweitert auf Mengensemantik • erweitert um Text-Retrieval Beispiel: „Die Titel aller Bücher, die nicht mehr als 200 kosten“: /bib/book[price < 200]/title Harald Schöning

  6. Der XML-Datenbankserver:XML abfragen • XQuery • W3C draft • Kernfunktionalität • plus Funktionsbibliothek • Tamino-Namensraum • Text-Retrieval Beispiel: „Autoren mit ihren Büchern“: <Autorenliste> {for $a in input()/alle/Autor return <Eintrag> {$a} {for $b in input()//Buch[Autor=$a] return $b/Titel}</Eintrag>} </Autorenliste> Harald Schöning

  7. Der XML-Datenbankserver:XML ändern • Es gibt keinen W3C Standard für Änderungsoperationen • Software AG hat XQuery entsprechend erweitert • Funktionalität: • insert into • insert following • insert preceding • delete • replace • rename • Relative Änderungen sind möglich • z.B. Erhöhung um 1% • Mehrere Modifikationen in einer Anweisung sind möglich Harald Schöning

  8. Der XML-Datenbankserver:XML ändern - Beispiele • update insert <A/> into input()//A insert <B/> into input()//B • update insert attribute status {“married“} into input()/employee[name=“smith“] • update for $a in input()/employee[name=“smith“] do ( insert <firstname/> preceding $a/name insert <lastname/> following $a/name ) • update delete input()/employee[name=“smith“]/@status • update delete input()/employee[name=“smith“]/.. • update rename input()/employee[name=“smith“]/name as lastname Harald Schöning

  9. Der XML-Datenbankserver:XML ändern - Konzepte • Schnappschuss-Semantik • logische Sicht des Änderungsvorgangs • zunächst werden die zu ändernden Stellen und • die einzusetzenden Daten berechnet • dann wird die Änderung durchgeführt • dann wird das Ergebnis auf Wohlgeformtheit geprüft und ggf. • validiert • Deklarativ • Reihenfolge von Modifikationsanweisungen in einer Änderungsoperation nicht relevant • Konflikte • Änderungsoperationen dürfen sich nicht gegenseitig beeinflussen • Änderungsoperationen müssen eindeutig sein Harald Schöning

  10. Der XML-Datenbankserver:XML ändern - Beispiele • update for $a in input()/employee[name=“smith“]/salary do replace $a/text() with $a*1.029 • Relative Änderung • update for $a in input()/employee[name=“smith“]/name do ( rename $a as lastname delete $a ) •  Konflikt • update for $a in input()/employee[name=“smith“] do ( insert <ext>1</ext> into $a insert <ext>2</ext> into $a ) •  Konflikt Harald Schöning

  11. Der XML-Datenbankserver:Text Retrieval • In X-Query • Operator ~= • Suche nach Worten oder Wortfolgen, Wildcards • In XQuery • eine Familie von Funktionen aus dem Tamino-Namensraum (tf) • tf:containsText() • tf:containsAdjacentText() • tf:containsNearText() • beziehen sich auf einen Knoten und seine Nachkommen • Suche nach einzelnen Worten und Wortfolgen • tf:containsText(Titel, "XML") • tf:containsText(Titel,"XML Datenbanken") • mit Wildcards • tf:containsText(Titel, "Tam* Data*") Harald Schöning

  12. Der XML-Datenbankserver:Text Retrieval • Suche nach benachbarten Wörtern • tf:containsAdjacentText(Titel,3,"Tamino","Datenbanksystem") • Tamino ist ein Datenbanksystem • Suche nach Stammformengleichheit • tf:containsText(Titel,tf:stem("speichern")) • Tamino speichert XML • Suche nach gleichem Klang • tf:containsNearText(Titel,3,tf:phonetic("stark"), tf:stem("speichern") • XML-Speicherung ist Taminos Stärke • Thesaurus • broader term, narrower term, synonym • Mit anderen Bedingungen kombinierbar • declare namespace tf="http://namespaces.softwareag.com/tamino/TaminoFunction"for $b in input()//Buchwhere tf:containsText($b/Titel,"XML") and $b/Preis<100return $b Harald Schöning

  13. Der XML-Datenbankserver:Highlighting • Welche Stelle im Dokument hat zum Treffer geführt? • Erzeugung von Referenzen auf Stellen im XML-Dokument • tf:createTextReference() • tf:createAdjacentTextReference() • tf:createNearTextReference() • Hervorhebung durch Processing Instructions • tf:highlight() Harald Schöning

  14. Der XML-Datenbankserver:Highlighting - Beispiele • declare namespace tf="http://namespaces.softwareag.com/tamino/TaminoFunction"for $x in input()//descriptionlet $hi:=tf:createTextReference($x, "*XML")where $hireturn tf:highlight($x, $hi, "HI") • <description>Software AG's Tamino is an <?HI + 1?>XML<?HI – 1?> server. It can store <?HI + 2?>XML<?HI – 2?> documents and <?HI + 3?>non-XML<?HI – 3?> documents</description> Harald Schöning

  15. Der XML-Datenbankserver: XML Schema • Schemadefinition über W3C XML Schema • Das Tamino Schema ist ein gültiges XML Schema • Annotationen, um Tamino-Spezifika anzugeben • Standard-Mechanismus von XML Schema • eigener Tamino-Namensraum wird benutzt • Benutzt für logische Angaben, die über XML Schema hinausgehen • nationale Sortierordnungen • Zugehörigkeit zu Collections • usw. • Benutzt für physische Angaben • Indexierung • usw. • Schemaänderungen möglich (mit Validierung) • offene Schemata Harald Schöning

  16. XML Schema - Beispiel <xs:element name = "Abstract" type = "xs:string"> <xs:annotation> <xs:appinfo> <tsd:elementInfo> <tsd:physical> <tsd:native> <tsd:index> <tsd:text></tsd:text> </tsd:index> </tsd:native> </tsd:physical> </tsd:elementInfo> </xs:appinfo> </xs:annotation> </xs:element> Harald Schöning

  17. Der XML-Datenbankserver: Security • Autorisierung auf • Collection • Doctype • Knotenebene • Funktionen • Über ACLs • Benutzer • Gruppen • Rechte • Authentisierung • Web Server • Tamino • Betriebssystem Harald Schöning

  18. Der XML-Datenbankserver: Indexierung • Indextypen • Standard • Elemente • Attribute • Text • Elemente • Attribute • Struktur • doctype • compound • multipath • reference Harald Schöning

  19. Der XML-Datenbankserver: Internationalisierung • mehr als 100 encodings für XML-Dokumente unterstützt • <?xml version="1.0" encoding="iso-8859-2"?> • Konvertierung beim Speichern und Abfragen möglich • IRI-Unterstützung • Zeichenrepertoire von Unicode 3.2 • nationale Sortierordnungen • Text Retrieval für nicht auf Buchstaben beruhende Sprachen • Chinesisch • Japanisch • Koreanisch Harald Schöning

  20. Der XML-Datenbankserver: Internationalisierung • Text Retrieval ist sprachspezifisch • tf:containsText(.,"Käse") • Das ist Kaese • tf:containsText(.,"Cafe") • Wir treffen uns im Café • Regeln für die Behandlung von Unicode-Zeichen sind definierbar • Vergleich mit/ohne Groß-Klein-Schreibung • Basis-Zeichen • é  e • Großschreibung • ß  SS • Ersatzzeichen • ä  ae • Zeichenklasse • number, delimiter, character, single, punctuation Harald Schöning

  21. Der XML-Datenbankserver ... ist ein Datenbanksystem • Volle Unterstützung von ACID Transaktionen • verschiedene Isolationsebenen können gewählt werden • verteilte Transaktionen • Cursoring • Backup / Recovery • Einbindung der Backupkonzepte von EMC, Network Applicances usw. • High Availability • Replikation Harald Schöning

  22. Tamino X-Node:XML-Anbindung an RDBMS • Abbildung relationaler Strukuren nach XML • Teile von Dokumenten aus Tamino, andereaus dem RDBMS • Abfragen • Abspeichern • Ändern • Auch für Adabas Harald Schöning

  23. Tamino X-Node:XML-Anbindung an RDBMS Definition der externen Datenquelle:DB-Name und Tabelle Harald Schöning

  24. Tamino X-Node:XML-Anbindung an RDBMS Definition der externen Datenquelle:Spalte Harald Schöning

  25. Tamino X-Tension: Erweiterung der Serverfunktionalität • Durch benutzerdefinierte Server-Extensions • Bibliotheken mit Callback-Möglichkeiten • Mapping • von XML (Sub-) Dokumenten auf externe Datenquellen • Trigger • Binden von Aktionen an Operationen auf Knoten • Anfragefunktionen • Erweiterung von X-Query durch benutzerdefinierte Funktionen • Ergebnistransformation • Reaktion auf Ereignisse • Beendigung einer Transaktion • usw. ð Harald Schöning

  26. Tamino X-Tension: Mapping • XML (sub-) documents können auf eine Datenquelle abgebildet werden • in Tamino • außerhalb • ggf. auch dynamisch • Die Server Extension bildet das ganze (Sub-) Dokument ab • Definition im Schema • On Process (Map-In) • On Compose (Map-Out) • On Delete (onDelete) • On Update (onUpdate) • Round Trip in der Verantwortung der Server Extension Harald Schöning

  27. Tamino X-Tension: Trigger • gebunden an Knoten im Schema • bei entsprechenden Operationen auf entsprechenden Knoten (oder ihren Subknoten) im Dokument gefeuert • On Process • On Delete • On Update • können Abbruch der Operation erzwingen • laufen in derselben Transaktion ab Harald Schöning

  28. Tamino X-Tension: Anfragefunktionen • Erweitern die X-Query-Funktionalität • Explizit in einer Query aufzurufen • Über Security kann die Aufrufberechtigung kontrolliert werden • Laufen in derselben Transaktion ab Harald Schöning

  29. XML-Anbindung anderer Formate • Tamino kann beliebige Dateien speichern • .txt • .gif • .doc • usw. • Bei Text erfolgt automatisch eine Textindizierung • Weitergehende Indizierung möglich durch Server Extension • Erzeugung eines "Schattendokumentes" Harald Schöning

  30. Original XML XML-Anbindung anderer Formate:weitergehende Indizierung Nicht-XML Dokument Datenbank Metadaten + Inhalt Harald Schöning

  31. XML-Anbindung anderer Formate:weitergehende Indizierung StarOffice Writer MS-Word PDF <?xml version=“1.0“ ?> <properties mimetype=“application.....> <content>....some text....</content> <meta> <initial-creator>john glen</initial-creator> </meta> </properties> <?xml version=“1.0“ ?> <properties mimetype=“application.....> <content>....some text....</content> <meta> <initial-creator>john glen</initial-creator> </meta> </properties> <?xml version=“1.0“ ?> <properties mimetype=“application.....> <content>....some text....</content> <meta> <initial-creator>john glen</initial-creator> </meta> </properties> StarOffice Spreadsheet MS-Excel Multimedia (pic,mp3,video) <?xml version=“1.0“ ?> <properties mimetype=“application.....> <content>....some text....</content> <meta> <initial-creator>john glen</initial-creator> </meta> </properties> <?xml version=“1.0“ ?> <properties mimetype=“application.....> <content>....some text....</content> <meta> <initial-creator>john glen</initial-creator> </meta> </properties> <?xml version=“1.0“ ?> <properties mimetype=“application.....> <content>....some text....</content> <meta> <initial-creator>john glen</initial-creator> </meta> </properties> Harald Schöning

  32. XML-Anbindung anderer Formate:weitergehende Indizierung • Dokumentinhalt und Metadaten werden in XML-Form zugänglich • beliebige Anfragen • Extraktion / Konvertierung durch spezielle Server Extension • Besonders in Kombination mit WebDAV mächtig • DASL kann für Anfragen genutzt werden • Dokumentzugriff über Dateisystem • XML und Nicht-XML-Dokument bilden eine Einheit Harald Schöning

  33. XML Non- XML XML-Anbindung anderer Formate:weitergehende Indizierung Beispielszenario Nicht-XML Tamino Non-XML Extraktor Schema StarOffice ServerExtension MS Office Tamino WebDAV Server XML PDF/Text StarOffice WebDAV Client Pictures Others Harald Schöning

  34. X-Tension X-Node Tamino Store SQL Store ADABAS Store Server Extension Server Extension XML non-XML Adabas relational Schnittstellen WebDAV client X-Application Framework Browser SOAP client OCX JScript HTTP SOAP API WebDAV Server Java Tamino Java API HTTP Client API .Net API Harald Schöning

  35. Schnittstellen • Gesamte Serverfunktionalität verfügbar via • Java / EJB / J2EE • JScript • C • ActiveX • .NET • Über den Web Server oder direkt • Zusätzlich • SOAP • UDDI • ... Harald Schöning

  36. Tamino WebDAV Server - Architektur Client http http Web server Tamino WebDAV Store Tomcat Slide http ajp13 Web server xts Tamino WebDAV Server Tamino DB Harald Schöning

  37. WebDAV - Extensions DeltaV VERSION-CONTROL, REPORT, CHECKIN, CHECKOUT, UNCHECKOUT, MKWORKSPACE, LABEL, UPDATE, MERGE, MKACTIVITY, BASELINE-CONTROL DASL (DAV Searching & Locating) SEARCH ACL (Access Control) ACL WebDAV (Distributed Authoring Protocol) PROPFIND, PROPPATCH, LOCK, UNLOCK, MKCOL, COPY, MOVE HTTP (HyperText Transfer Protocol) GET, HEAD, POST, OPTIONS, PUT, DELETE, TRACE Harald Schöning

  38. WebDAV - Clients Microsoft IE 5.0 with Web Folders Microsoft Notepad WebDAV Server Microsoft Office 2000 Microsoft Office <2000 RiverFront Software WebDrive Altova XML Spy Your favorite editor... Macromedia Dreamweaver Sun StarOffice Harald Schöning

  39. Tamino Werkzeuge:Tamino X-Plorer • Browser durch die Datenbank • Anfragen zur Einschränkung der sichtbaren Dokumente Harald Schöning

  40. Tamino Werkzeuge:Query Tool • Syntax highlighting für W3C XQuery • Query history Harald Schöning

  41. Tamino Werkzeuge:Schema Editor Harald Schöning

  42. Tamino Werkzeuge:Adminstration Harald Schöning

  43. Tamino XML Server: Zusammenfassung • XML speichern • mit oder ohne Schema • oder offenes Schema • XML-Security • Datenbanksystem • Werkzeuge • WebDAV • X-Tension zur Erweiterung der Server-Funktionalität • X-Node zur Anbindung externer Datenbanken Harald Schöning

  44. Harald Schöning

More Related