26
Universität Stuttgart a Anw endungssoftw are s Xiaolong Wan Abschlußpräsentation:

Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Embed Size (px)

Citation preview

Page 1: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Universität Stuttgart

aaAnwendungssoftware

ss

Xiaolong Wan

Abschlußpräsentation:

Page 2: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services 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

Page 3: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 4: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss Aktive DatenbanksystemeAktive Datenbanksysteme

• d

Page 5: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss DatenintegrationDatenintegration

11. April 2023 5

Page 6: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

April 11, 2023 6

Service Data ObjectsService Data Objects

Page 7: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 8: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

11.04.23 8

AgendaAgenda

• ECA-Regeln für Datenintegrationssystem

Page 9: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 10: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 11: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 12: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss ALDSP UpdateALDSP Update

11. April 2023 12

Page 13: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss Logische Data ServicesLogische Data Services

11. April 2023 13

Page 14: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 15: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

April 11, 2023 15

Globale ArchitekturGlobale Architektur

Page 16: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 17: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

April 11, 2023 17

Rule EngineRule Engine

Page 18: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 19: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

April 11, 2023 19

Constraint-Trigger-ManagerConstraint-Trigger-Manager

Page 20: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 21: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 22: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

April 11, 2023 22

ArbeitsoberflächeArbeitsoberfläche

• Anlegen neuer Integritätsbedingungen und Triggers

Page 23: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 24: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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

Page 25: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

11.04.23 25

Diskussion und Fragen Diskussion und Fragen

Page 26: Universität Stuttgart Enforcing Constraints and Triggers for Active Data Services Xiaolong Wan Abschlußpräsentation:

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