Upload
hrodwulf-geise
View
104
Download
0
Embed Size (px)
Citation preview
Universität Stuttgart
aaAnwendungssoftware
ss
Xiaolong Wan
Abschlußpräsentation:
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
11.04.23 2
AgendaAgenda
• 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 Integritätsbedingungen und Trigger in SQLIntegritä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 StandardisiertseitSQL99 ECA-Regeln Festlegung von Folgeaktionen für Änderungsoperationen
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss Aktive DatenbanksystemeAktive Datenbanksysteme
• d
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss DatenintegrationDatenintegration
11. April 2023 5
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
April 11, 2023 6
Service Data ObjectsService Data Objects
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
11.04.23 7
AgendaAgenda
• 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
11.04.23 8
AgendaAgenda
• ECA-Regeln für Datenintegrationssystem
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
April 11, 2023 9
Ein TriggerEin 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
11. April 2023 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
11.04.23 11
AgendaAgenda
• 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 UpdateALDSP Update
11. April 2023 12
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss Logische Data ServicesLogische Data Services
11. April 2023 13
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
11.04.23 14
AgendaAgenda
• 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
April 11, 2023 15
Globale ArchitekturGlobale Architektur
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
11.04.23 16
AgendaAgenda
• 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
April 11, 2023 17
Rule EngineRule Engine
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
11.04.23 18
AgendaAgenda
• 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
April 11, 2023 19
Constraint-Trigger-ManagerConstraint-Trigger-Manager
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
April 11, 2023 20
NavitationsfensterNavitationsfenster
• 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
April 11, 2023 21
ArbeitsoberflächeArbeitsoberfläche
• Darstellung der Integritätsbedingungen und Triggers in einer leicht verständlichen Form
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
April 11, 2023 22
ArbeitsoberflächeArbeitsoberfläche
• Anlegen neuer Integritätsbedingungen und Triggers
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
April 11, 2023 23
Query-EditorQuery-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
11.04.23 24
AgendaAgenda
• 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
11.04.23 25
Diskussion und Fragen Diskussion und Fragen
Un
iver
sitä
t S
tutt
gar
t
aaAnwendungssoftware
ss
11.04.23 26
AgendaAgenda
• Hintergrund und Motivation
• ECA-Regeln für Datenintegrationssystem
• AquaLogic Data Services Platform 2.5
• Architecture des Constraint-Trigger-Service
• Implementierung
• Constraint-Trigger-Manager
• Zusammenfassung