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

Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Embed Size (px)

Citation preview

Page 1: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Universität Stuttgart

aaAnwendungssoftware

ss

Xiaolong Wan

Abschlußpräsentation:

Page 2: Universität Stuttgart 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

Page 3: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 4: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 5: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss Datenintegration

17. Juni 2008 5

Page 6: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

June 17, 2008 6

Service Data Objects

Page 7: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 8: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

17.06.08 8

Agenda

• ECA-Regeln für Datenintegrationssystem

Page 9: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 10: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 11: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 12: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss ALDSP Update

17. Juni 2008 12

Page 13: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss Logische Data Services

17. Juni 2008 13

Page 14: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 15: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

June 17, 2008 15

Globale Architektur

Page 16: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 17: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

June 17, 2008 17

Rule Engine

Page 18: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

• Ausführung von ECA-Regeln Ereigniserkennung Bedingungsauswertung Aktionsausführung

Page 19: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 20: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

June 17, 2008 20

Constraint-Trigger-Manager

Page 21: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 22: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 23: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

June 17, 2008 23

Arbeitsoberfläche

• Anlegen neuer Integritätsbedingungen und Triggers

Page 24: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 25: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 26: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

Un

iver

sitä

t S

tutt

gar

t

aaAnwendungssoftware

ss

17.06.08 26

Diskussion und Fragen

Page 27: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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

Page 28: Universität Stuttgart Xiaolong Wan Abschlußpräsentation:

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.