View
118
Download
1
Category
Preview:
Citation preview
Universität Stuttgart
aaAnwendungssoftware
ss
Xiaolong Wan
Abschlußpräsentation:
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 2
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architektur des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss Integritätsbedingungen und Trigger in SQL
• Integritätsbedingungen Primärschlüssel, UNIQUE, NOT-NULL, ... CHECK-Constraints
Wertebereichseinschränkungen Assertions
Inter-relationale Abhängigkeiten referenzielle Integrität
Fremdschlüssel CASCADE, SET NULL, ...
• Trigger standardisiert seit SQL99 ECA-Regeln Festlegung von Folgeaktionen für Änderungsoperationen
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss Aktive Datenbanksysteme
• Erweiterung passiver Datenbanksysteme durch aktive Mechanismen
• Verwendung der ECA-Regeln Reagieren auf eintretende Ereignisse Auswerten der Regelbedingungen Ausführen der spezifizierten Aktionen
ON event
IF condition
THEN action
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss Datenintegration
17. Juni 2008 5
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 6
Service Data Objects
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 7
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 8
Agenda
• ECA-Regeln für Datenintegrationssystem
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 9
Ein Trigger
• E
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerProfileXML/CustomerProfile“
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerOrderDB/CustomerOrder“
CREATE TRIGGER ReferentialConstraint
ON DELETE OF ns1:CustomerProfile()/Profile/Customer
LET $id := OLD_NODE/CustomerID
FOR $co in ns2:CustomerOrder()
WHEN $id = $co/CustID
DO
DELETE NODE $co
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerProfileXML/CustomerProfile“
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerOrderDB/CustomerOrder“
CREATE TRIGGER ReferentialConstraint
ON DELETE OF ns1:CustomerProfile()/Profile/Customer
LET $id := OLD_NODE/CustomerID
FOR $co in ns2:CustomerOrder()
WHEN $id = $co/CustID
DO
DELETE NODE $co
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17. Juni 2008 10
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerProfileXML/CustomerProfile“
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerOrderDB/CustomerOrder“
CREATE TRIGGER ReferentialConstraint
ON DELETE OF ns1:CustomerProfile()/Profile/Customer
LET $id := OLD_NODE/CustomerID
FOR $co in ns2:CustomerOrder()
WHEN $id = $co/CustID
DO
DELETE NODE $co
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerProfileXML/CustomerProfile“
DECLARE NAMESPACE ns1 = “ld:DataServices/CustomerOrderDB/CustomerOrder“
CREATE TRIGGER ReferentialConstraint
ON DELETE OF ns1:CustomerProfile()/Profile/Customer
LET $id := OLD_NODE/CustomerID
FOR $co in ns2:CustomerOrder()
WHEN $id = $co/CustID
DO
DELETE NODE $co
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 11
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss ALDSP Update
17. Juni 2008 12
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss Logische Data Services
17. Juni 2008 13
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 14
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 15
Globale Architektur
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 16
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 17
Rule Engine
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
• Ausführung von ECA-Regeln Ereigniserkennung Bedingungsauswertung Aktionsausführung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 19
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 20
Constraint-Trigger-Manager
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 21
Navitationsfenster
• Visualisierung aller Integritätsbedingungen und Triggers in Baumstruktur
• Zwei Kollektionen: „xqtrigger“ und „xqconstraint“ in der Datenbank „ruleRepository“
• Sucheergebnis
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 22
Arbeitsoberfläche
• Darstellung der Integritätsbedingungen und Triggers in einer leicht verständlichen Form
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 23
Arbeitsoberfläche
• Anlegen neuer Integritätsbedingungen und Triggers
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
June 17, 2008 24
Query-Editor
• Editieren und Ausführen der Tamino-Abfrage• Anzeige der Information, Fehler/Warnung• Laden und Speichern der XQ-Datei (.xq)• Auswahl der Datenbank und Kollektion• Unterstützung der Tamino-XPath-Abfrage und XQuery-
Abfrage
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 25
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 26
Diskussion und Fragen
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
17.06.08 27
Agenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
Der ECA-Mechanismus gewinnt somit an Mächtigkeit undRobustheit.
Bisherige ECA-Regeln (event/condition/action) werden hauptsächlich in zentralenaktiven Datenbanksystemen genutzt
Aktive Datenbanksysteme sind charakterisiert durch die F¨ahigkeit, dass sie selbst¨andig Situationenerkennen und Aktionen ausf¨uhren k¨onnen.
In aktiven Datenbanksystemen wird das spezifische reaktive Verhalten einer Anwendungdurch ECA-Regeln beschrieben. Dazu werden die von besonderem Interesse gekennzeichnetenSituationen durchEre ignisse und Bedingungen repr¨asentiert. Die Reaktionen werdendurchA ktionen spezifiziert.
Recommended