OutSystems User Group Frankfurt - Master Detail Data - Sebastian Krempel
1. Master Detail Data
1:N Beziehungen über mehrere OutSystems
Module hinweg sicher im Griff
Sebastian Krempel
Senior Consultant @ Telelink Business Services
2. Was ist mit Master Detail Data gemeint?
Ein Ganzes aus mehreren Teilen
2
Community Person
Aggregation
Bestellung Bestellposition
Komposition
1
N
Detail
Master
MasterId
…
DetailId
MasterId
…
Datenbank
5. Konsistenzanforderungen
● Bestelldatum muss gesetzt sein
● Keine Bestellposition ohne Bestellung
OrderId ist ein Pflichtfeld zur Designzeit
Delete Rule ist stellt Löschung sicher
OrderId kann zur Laufzeit trotzdem auf
NullTextIdentifier() gesetzt werden
5
6. Index stellt Eindeutigkeit in Datenbank sicher
Kann zur Laufzeit zu DatabaseException führen
Konsistenzanforderungen
● Bestelldatum muss gesetzt sein
● Keine Bestellposition ohne Bestellung
● Positionsnr. eindeutig je Bestellung
6
7. Konsistenzanforderungen
● Bestelldatum muss gesetzt sein
● Keine Bestellposition ohne Bestellung
● Positionsnr. eindeutig je Bestellung
● Min. eine Position pro Bestellung
Kann nicht konfiguriert werden
Muss innerhalb einer Datenbank-Transaktion
sichergestellt werden
7
8. Architektur am Beispiel Bestellungen
Architektur
● 4-Layer Canvas
● Core Service verwaltet Bestellungen
und kapselt zugehörige Daten
● Einfaches Demo UI
greift auf Core Service zu
8
Frontend
Core
Foundation
Foundation
Module
UI Module
Core Module
Order Demo
Order Demo CS
9. Core Service Schnittstelle
Bestellung laden
● Get Order
Bestellung speichern
● Create Order
● Update Order
Bestellung löschen
● Remove Order
9
Order Demo
Order Demo CS