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

Slides:



Advertisements
Ähnliche Präsentationen
Datenaustausch mit XML und ECMA-Script
Advertisements

Object Relational Mapping
Object Relational Mapping (ORM). Objektmodell - Datenbankmodell.
Datenintegrität Einschränkung der möglichen Datenbankzustände und -übergänge auf die in der Realität möglichen Formulierung von Integritätsbedingungen.
Rechnernetze und verteilte Systeme (BSRvS II)
Microsoft Referenzarchitekturen- Infrastruktur für Connected Systems
1 Sascha Michael Competence Manager Integration Umsetzung einer SOA-basierten Retail Plattform.
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Dr. M. Schlottke Common Description of Web Services Source: P. Gerbert, 2002 Web Services allow to establish B2B e-commerce on the fly Web Services allow.
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
1 Prof. Dr. Andreas SchmietendorfWS06/07 – Labor C/S-Programmierung Übung 4 Mehrstufige Client/Server-Systeme mit JSPs, Servlets und JavaBeans (Web-Container)
Datenbankzugriff im WWW (Kommerzielle Systeme)
Zusammenfassung / Ausblick Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Objektrelationales Mapping mit JPA Ausblick Jonas Bandi Simon Martinelli.
XML - Aufbau und Struktur - mit Einsatz im B2B
Binäre Bäume Richard Göbel.
Internet Protokolle und Formate 1.1 HTTP 1.2 HTML 1.3 SGML 2. XML 3. WAP Matthias Thränhardt Sebastian Weber.
XINDICE The Apache XML Project Name: Jacqueline Langhorst
Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme
Oracle interMedia Audio Vortrag für das Seminar Oracle Zusatzoptionen Chris Haußmann.
DVG Verkettete Listen Verkettete Listen. DVG Verkettete Listen 2 Primitive Datentypen Vorteile: –werden direkt vom Prozessor unterstützt.
Zukunft des Webs? Dennis Beer Christian Blinde
Verteilte Transaktionen mit EJBs und JDBC 2.0
Was versteht man unter XML Schema?
FH-Hof Sortieren mit Binären Bäumen Richard Göbel.
Proseminar Web Engineering PS07: Retrieving data from social networks: APIs and protocols.
Host Integration Service 8.6
Microsoft Office Forms Server
Medien zwischen Technologie und Gesellschaft Dozent: Herr Prof. Dr. Manfred Thaller SS 13 Referent: Christian Braun.
Sanjay Patil Standards Architect – SAP AG April 2008
Webservice Grundlagen
SharePoint 2010 for Information Architects
Vergleich der verschiedenen kommerziellen Datenbanksysteme
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
Gameplay Systems I Softwaretechnologie II (Teil 2): Simulation und 3D Programmierung SS 2012 Prof. Dr. phil. Manfred Thaller Referent: Christian Weitz.
Datenintegrität Integitätsbedingungen Schlüssel
Developer Day Webseiten auf Windows Azure hosten Britta Labud bbv Software Services AG Roland Krummenacher bbv Software Services AG.
Jan Hentschel Microsoft Expert Student Partner Windows Azure Windows Azure Windows Azure Mobile Services.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Dariusz Parys Developer Evangelist Microsoft Deutschland GmbH.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
MongoDB on Linux-VM.
PresenterCompanyContact Windows Azure ASP.NET Web-Anwendungen schnell und zuverlässig bereitstellen.
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 13 Kapitel 4 Folie 2 REST Web Services (1)
Kap 4-1OHO Kap. 4.2 Das Orbix CORBA-System Kurzer überblick zu der CORBA-Implementierung Orbix •Unser Fahrplan: •IDL Verwendungsbeispiel •Zoom-In: CORBA.
Web Services Semistrukturierte Daten 1 – Gruppe 6.
XML IV: Cocoon 2.
Client Server Architektur
SIT-MOON ESPRIT Project Nr st Review, Brussels, 27th of April 1998 slide 1 Siemens AG Österreich Robotiker Technische Universität Wien Politecnico.
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Univ.-Lektor Dipl.-Ing. Dr. Markus Schranz staatlich befugter und beeideter Ingenieurkonsulent für Informatik Web Application Engineering & Content Management.
Softwaresponsoren Mediasponsoren. Vorstellung KnowledgeCenter Neue Sprachfeautres in VB 9.0 LINQ to SQL in der Praxis.
Informations-Forum: SAP Interoperabilität
XML und Datenbanken © 2006 Markus Röder
Torque in Turbine Team 3 Alexander Mittermair Michael Wesinger.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Lehrstuhl für Waldbau, Technische Universität MünchenBudapest, 10./11. December 2006 WP 1 Status (TUM) Bernhard Felbermeier.
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #8 SQL (Teil 5)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Peter Brezany Institut für Softwarewissenschaften Universität Wien
JXTA Server Berlin.Adlershof Server Berlin.Mitte Server Paris Server cbit.Halle17 P2P-MagicMap Architektur: Übersicht.
1 StatiX: Making XML Count J.Freire, J.R.Haritsa, M.Ramanath, P.Roy, J.Siméon: StatiX: Making XML Count ACM SIGMOD, June 2002 Ann Früchtl
© 2003, Rudolf Jansen Einsatz der XML-Features der Oracle 9i DB zur Systemintegration Rudolf Jansen Freiberuflicher Entwickler und Autor
1 © Thales IS GmbH 2002 Thales Information Systems GmbH Im Team für Ihren Erfolg DOAG - Regionaltreffen Hannover Donnerstag, Oracle 9i XML Datenbank.
Schnittstellen für Verteilte System mit J2EE Frank Schwichtenberg SourceTalk 2008 Göttingen,
DOAG SID Data Warehouse
 Präsentation transkript:

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

Anwendungsanforderungen und Ziele E-Learning, E-Commerce, Marktplatz Client Web-Service pc1700 WWW externe Anwendung DB hp4000 Datenrepräsentation: unterschiedliche Zielformate Erreichbar auf verschiedenen HW/SW-Plattformen Datenänderung auf dem Client lange Transaktionen mobile Clients / häufige Netzunterbrechungen

Anwendungsanforderungen und Ziele E-Learning, E-Commerce, Marktplatz Client Web-Service pc1700 WWW externe Anwendung DB hp4000 Datenrepräsentation: unterschiedliche Zielformate XML Erreichbar auf unterschiedlichen HW/SW-Plattformen HTTP Datenänderung auf dem Client lange Transaktionen OLLT mobile Clients / häufige Netzunterbrechungen

Architektur und Technologie Web-Service externe Anwendung Client Web-Server & Mapping HTTP XML-Datenbank- Mapping für Queries & Updates Transaction-System XML- Daten XML Listener DB Commit XML browse read update this / update any delete this / delete any insert Map optimiert / normal

Mapping-Alternativen XML-DB-Mapping XML-Database database driven XML-DB-Mapping template driven model driven Struktur mitliefern table model komplexe Queries nötig object model + oft nur 1 Pfad für Queries nötig + je 1 Map pro Partner + mit / ohne Sortierung

Unterstützte Mappings XML-DB-Mapping database driven XML-DB-Mapping model driven 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 + je 1 Map pro Partner + mit / ohne Sortierung

Schema zu virtuellem XML-Dokument Mapping-Beispiel ER-Diagramm zu DB-Schema Schema zu virtuellem XML-Dokument customer start: customer M 1 order order N N product product N 1 1 1 1 N 1 N supplier details supplier details Map

Vom Mapping generiertes XML-Dokument Schema zu virtuellem XML-Dok. Server: Virtuelles XML-Dokument < ?xml version=“1.0“ ... > < XMLServer > < customer a1=“...“ a2=“...“ > < order cid=“...“ pid=“...“ > < product a1=“...“ a3=“...“ > < supplier a2=“...“ a3=“...“ / > < details a1=“...“ / > < /product > < /order > < details a1=“...“ a2=“...“ / > < /customer > < /XMLServer > start: customer 1 order N product 1 1 1 N supplier details Map

XML-Fragmente zum Client Server: Virtuelles XML-Dokument < ?xml version=“1.0“ ... > < XMLServer > < customer a1=“...“ a2=“...“ > < order cid=“...“ pid=“...“ > < product a1=“...“ a3=“...“ > < supplier a2=“...“ a3=“...“ / > < details a1=“...“ / > < /product > < /order > < details a1=“...“ a2=“...“ / > < /customer > < /XMLServer > Client: XML-Fragment < ?xml version=“1.0“ ... > < XMLServer > < customer a1=“...“ > < order cid=“...“ pid=“...“ > < product a1=“...“ > < supplier a2=“...“ a3=“XY“ / > < details a1=“...“ a2=“...“ / > < /product > < /order > < /customer > < /XMLServer > Update

Reversibles (=umkehrbares) Mapping Schema zu virtuellem XML-Dok. Client: XML-Fragment < ?xml version=“1.0“ ... > < XMLServer > < customer a1=“...“ > < order cid=“...“ pid=“...“ > < product a1=“...“ > < supplier a2=“...“ a3=“XY“ / > < details a1=“...“ a2=“...“ / > < /product > < /order > < /customer > < /XMLServer > customer 1 order N product 1 1 Update 1 N Enthält Updates und Keys auf dem Pfad zur Wurzel supplier details Keys: Map

Reversibles (=umkehrbares) Mapping XML-Fragment Änderungen auf dem Client : XML1 -> XML2 Map-1 Map Map Eindeutige Folge von DB-Operationen : DB1 -> DB2 Delete-Operationen: vollständige DB-Tupel Insert: Nullwerte für fehlende Attributwerte (sofern erlaubt) Alternativen: Key-Management bei Inserts ( API oder DB )

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

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 } ; Insert (Fragment) : insert set = insert set U { Fragment } ;

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 ;

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

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