Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 1 Transaction.

Ähnliche Präsentationen


Präsentation zum Thema: "Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 1 Transaction."—  Präsentation transkript:

1 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 1 Transaction Synchronization for XML Data in Client Server Web Applications Stefan Böttcher & Adelhard Türling Universität Paderborn

2 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 2 Anwendungsanforderungen und Ziele DB E-Learning, E-Commerce, Marktplatz Client pc1700 hp4000 Datenrepräsentation: unterschiedliche Zielformate Erreichbar auf verschiedenen HW/SW-Plattformen Datenänderung auf dem Client lange Transaktionen mobile Clients / häufige Netzunterbrechungen externe Anwendung Web-Service WWW

3 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 3 Anwendungsanforderungen und Ziele DB E-Learning, E-Commerce, Marktplatz Client pc1700 hp4000 Datenrepräsentation: unterschiedliche Zielformate XML Erreichbar auf unterschiedlichen HW/SW-PlattformenHTTP Datenänderung auf dem Client lange TransaktionenOLLT mobile Clients / häufige Netzunterbrechungen externe Anwendung Web-Service WWW

4 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 4 Architektur und Technologie DB Client externe Anwendung XML- Daten HTTP Web-Service XML-Datenbank- Mapping für Queries & Updates Transaction-System XML Commit XML Map Web-Server & Mapping Listener browse read update this / update any delete this / delete any insert optimiert / normal

5 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 5 Mapping-Alternativen database driven XML-DB-Mapping template driven - Struktur mitliefern model driven + je 1 Map pro Partner + mit / ohne Sortierung table model - komplexe Queries nötig object model + oft nur 1 Pfad für Queries nötig XML-Database XML-DB-Mapping

6 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 6 Unterstützte Mappings database driven XML-DB-Mapping model driven + je 1 Map pro Partner + mit / ohne Sortierung object model + oft nur 1 Pfad für Queries nötig Unser Ansatz: Start-Element (Tabelle+Satz) + Integritätsbedingungen + gewünschter DB-Ausschnitt generiert DTD-Vorschlag + Map XML-DB-Mapping

7 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 7 Mapping-Beispiel Schema zu virtuellem XML-DokumentER-Diagramm zu DB-Schema customer product supplierdetails M N N 1N 1 customer product supplierdetails 1 N N 11 1 start: Map order

8 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 8 Vom Mapping generiertes XML -Dokument customer product supplierdetails 1 N N 11 1 start: Map Schema zu virtuellem XML-Dok. order Server: Virtuelles XML-Dokument

9 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 9 XML-Fragmente zum Client Client: XML-Fragment Update Server: Virtuelles XML-Dokument

10 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 10 Reversibles (=umkehrbares) Mapping customer product supplierdetails 1 N N 11 1 Keys:Map Schema zu virtuellem XML-Dok. order Client: XML-Fragment Enthält Updates und Keys auf dem Pfad zur Wurzel Update

11 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 11 Reversibles (=umkehrbares) Mapping Änderungen auf dem Client : XML1 -> XML2 Delete-Operationen: vollständige DB-Tupel Insert: Nullwerte für fehlende Attributwerte (sofern erlaubt) Alternativen: Key-Management bei Inserts ( API oder DB ) Eindeutige Folge von DB-Operationen : DB1 -> DB2 XML-Fragment Map -1 Map

12 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 12 Optimierung: Unterscheide Client-Operationen mit / ohne Lese-Zugriff auf Daten aus der Datenbank Read: lies einen (aus DB generierten) Attributwert Browse: lies Strukturinformation oder einen aus der Map generierten Wert Update any: ( phone number ) – unabhängig vom alten Wert Update this:( price ) - abhängig vom alten Wert Delete any: ignoriere alten Wert Delete this: lösche gerade diesen alten Wert Insert: füge Teilbaum ein

13 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 13 Differenzmengen zu Client-Operationen mit / ohne Lese-Zugriff auf Daten aus der Datenbank Read ( Node ) : read set = read set U { Node } ; Browse ( Node ) : - Update any ( Node ) : update set = update set U { Node } ; Update this ( Node ) : update set = update set U { Node } ; read set = read set U { Node } ; Delete any ( Node ) : delete set = delete set U { Node } ; Delete this ( Node ) : delete set = delete set U { Node } ; read set = read set U { Node } ; Insert (Fragment) : insert set = insert set U { Fragment } ;

14 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 14 Commit-Phase Client ruft: Server.requestCommit( read set, insert set, update set, delete set ) requestCommit( read set, insert set, update set, delete set ) { tBegin ; if ( hasChanged ( read set ) ) tAbort ; else { use map to update database ( insert set, update set, delete set ) if ( integrity violation or other DB-Error ) tAbort ; else t Commit ; } return Commit-status to Client ; }

15 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 15 Zusammenfassung XML-Datenrepräsentation erlaubt unterschiedliche Zielformate durch HTTP erreichbar auf unterschiedlichen HW/SW-Plattformen vorhandene Alt-Datenbestände/Datenbanken integrierbar (JDBC) Mapping flexibel wählbar Datenänderung auf dem Client möglich kommuniziert minimale XML-Fragmente Synchronisation mehrerer Nutzer verschiedener XML-Sichten Serverentlastung für lange Transaktionen: keine langen Locks mobile Clients: keine Probleme mit häufigen Netzunterbrechungen OLLT hat sehr gute Performanz in Client-Server Web-Umgebungen

16 Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 16 Ausblick XML-Datenrepräsentation erweitern um Code / SOAP Mapping ist nicht beschränkt auf relationale DBMS: mit ID und IDREF erweiterbar auf OODBMS serverseitige XML-Speicherung nicht notwendig aber möglich


Herunterladen ppt "Transaction Synchronization for XML Data in Client Server Web Applications - Stefan Böttcher & Adelhard Türling, Universität Paderborn - Folie 1 Transaction."

Ähnliche Präsentationen


Google-Anzeigen