Zum Hauptinhalt springen

WhereScape 3D: Tipps im Umgang mit Model Conversion Rules

Model Conversion Rules sind das zentrale Werkzeug in WhereScape 3D, um auf automatisierte Art und Weise Datenmodelle zu generieren und an individuelle Anforderungen anzupassen. Aufgrund ihrer hohen Standardisier- und Automatisierbarkeit sind hiermit vor allem Data-Vault-Datenmodelle gemeint.

Mit steigenden Anforderungen kann die Anpassung und Entwicklung der eigenen Model Conversion Rules jedoch schnell komplex und unübersichtlich werden. Um einen erfolgreichen Umgang mit Model Conversion Rules zu gewährleisten und Einsteigern die Nutzung zu erleichtern, stellen wir Dir im Folgenden exemplarische Best Practices, Tipps und Tricks vor.

 

Tipp 1: Suche nach sich wiederholenden Mustern (Prüfung der Notwendigkeit)

Eine wesentliche Voraussetzung für die Automatisierung mithilfe von Model Conversion Rules ist das Vorhandensein wiederholbarer Muster. Dies meint, dass eine Prozessdurchführung mithilfe von Model Conversion Rules ausschließlich dann sinnvoll ist, wenn gewisse Muster und Regelmäßigkeiten in den einzelnen Prozessschritten vorliegen. Erst in der Folge können die Vorteile der Automatisierung erzielt werden.

Liegen jedoch keine Muster und Regelmäßigkeiten vor und lässt sich ein Prozess kaum standardisieren, handelt es sich um einen sehr individuellen Prozess. Das heißt, er wird entweder nur einmalig durchgeführt oder unterscheidet sich bei jeder erneuten Prozessausführung wesentlich von der vorherigen Ausführung. Der zur Prozessabbildung mithilfe von Model Conversion Rules benötigte Implementierungsaufwand übersteigt den entstehenden Nutzen der späteren Automatisierung dann womöglich. In diesem Zusammenhang empfehlen wir demnach eher eine manuelle Umsetzung.

Tipp 2: Setze die Model Conversion zunächst manuell um, bevor du sie mit Model Conversion Rules automatisierst

Vor allem bei komplexeren Model Conversion Sets gilt: Bevor Du mit der Entwicklung eines neuen Model Conversion Sets – das heißt der Automatisierung eines Prozesses – beginnst, empfehlen wir Dir eine manuelle Umsetzung. Erst nach einer manuellen Ausführung der benötigten Prozessschritte sowie einer zugehörigen Dokumentation Deines Vorgehens solltest Du mit der Implementierung der Model Conversion Rules beginnen. Das hat drei zentrale Vorteile:

  1. Feststellung der Durchführbarkeit: Nur wenn sie manuell durchführbar ist, kann die gewünschte Anforderung automatisiert werden. Die vorherige manuelle Ausführung führt demnach ggf. zu einer Zeiteinsparung, da nicht zuerst an einer automatisierten und in vielen Fällen aufwendigeren Lösung gearbeitet wird.
  2. Vereinfachung der Regelauswahl: Aufgrund der zuvor dokumentierten Prozessausführung verschaffst Du Dir einen Überblick über die Prozessschritte, die Du mithilfe von Model Conversion Rules abbilden musst. Wenngleich nicht immer jeder Prozessschritt einem bestimmten Regeltyp gleicht, wird die Auswahl der benötigten Regeltypen hinsichtlich Art und Umfang deutlich erleichtert. Beachte in diesem Zusammenhang außerdem, dass für einen Prozessschritt mehrere Regeltypen benötigt sowie mehrere Prozessschritte durch einen Regeltyp abgedeckt werden können.
  3. Optimierung der Regelentwicklung: Durch das erlangte Wissen über die einzelnen Prozessschritte, ihre Zusammenhänge und gegenseitigen Wechselwirkungen wird letztendlich auch die generelle Entwicklung (Templates, Matching-Kriterien, …) vereinfacht.
     

Tipp 3: Simpel, aber sinnvoll: Nutze die Hilfe-Funktion

Die beste Unterstützung während der Regelentwicklung bietet die von WhereScape bereitgestellte Hilfe, die über den Navigationspfad Help > Help zu erreichen ist. Vor allem die Abschnitte „Model Conversions“ und „Pebble Templates“ bieten detaillierte Beschreibungen einzelner Regeltypen und der Syntax der Template-Sprache Pebble.

Tipp 4: Nutze die Vorschaufunktion

Im Gegensatz zu WhereScape RED kannst Du in 3D bereits während der Entwicklung das Ergebnis der Anwendung Deines Template-Codes einsehen und so die Entwicklungszeit und die Fehleranfälligkeit der implementierten Template-Snippets reduzieren.

Die Vorschaufunktion findest Du rechts vom Code-Editor. Um sie zu nutzen, musst Duu nter „Choose entity to preview template" auf den „..."-Button klicken und eine Entität auswählen. Im Anschluss wird der links des Vorschaufensters stehende Pebble-Code auf die gewählte Entität angewandt und das Ergebnis auf der rechten Seite angezeigt.

Extra-Tipp:

Durch das Aktivieren von Auto-Refresh führt jede Änderung der linken Seite automatisch zu einer Aktualisierung des Vorschaufensters. Ohne Auto-Refresh muss das Aktualisierungssymbol neu angeklickt werden, um das Vorschaufenster zu aktualisieren.

Tipp 5: Debugge Deine Model Conversions mithilfe der Snapshot-Funktionalität

Schlägt die Ausführung eines Model Conversion Sets fehl, wird eine entsprechende Fehlermeldung angezeigt. Hierüber lassen sich Informationen über die fehlgeschlagene Regel, das Objekt, auf das die Regel im Fehlerfall angewandt wurde, sowie eine Fehlerbeschreibung beziehen.

Reichen diese Informationen zur Fehlerbehebung nicht aus oder wird zwar ein erfolgreiches, jedoch inkorrektes Modell erzeugt, so ist eine Art Debugging mithilfe der Snapshot-Funktionalität zu empfehlen: Ein Snapshot während der Regelausführung entspricht einer Momentaufnahme eines Modells, nachdem eine bestimmte Regel auf diesem Modell ausgeführt worden ist. Insbesondere vor einer fehlerhaften Regel („Wie sieht das Modell aus, bevor etwas schieflief?“) sowie für die fehlerhafte Regel selbst („Wie sieht das Modell aus, nachdem etwas schiefgelaufen ist?“) ist der Einsatz von Snapshots demnach sinnvoll.

Einen Snapshot erstellst Du in nur zwei Schritten:

  1. Im ersten Schritt sind die Regeln zu markieren, nach deren erfolgreicher Ausführung ein Snapshot erstellt werden soll. Hierfür navigierst Du zu den Model Conversion Rules, klickst auf die linke Fläche einer oder mehrerer Regeln und wählst „Snapshot“.
  2. Im zweiten Schritt müssen die entsprechenden Regeln ausgeführt werden. Hierbei musst Du darauf achten, dass während der Selektion der auszuführenden Model Conversion Sets das Feld „Create Snapshots“ aktiviert wird.

Nach Durchlauf der Regeln kannst Du die aufgrund der Snapshots erzeugten Modelle dann einsehen und möglicherweise fehlerhaft implementierte Aspekte erkennen.

Tipp 6: Definiere klare Entwicklungsregeln

Um eine einheitliche Entwicklung zu gewährleisten und schlussendlich konsistente, übersichtliche Model Conversion Sets zu erhalten, empfiehlt sich weiterhin die Definition von Entwicklungsrichtlinien. Dabei helfen unter anderem folgende Überlegungen:

  1. Erstellung neuer vs. Erweiterung bestehender Model Conversion Sets: Aus Übersichtlichkeitsgründen sollte nicht für jede neue Regel ein neues Model Conversion Set geschaffen werden. Umgekehrt können aber auch nicht alle Regeln in einem einzigen Model Conversion Set kombiniert werden. Vielmehr solltest Du im Rahmen einer jeden Neuentwicklung zwischen der Erstellung eines neuen und der Erweiterung eines bestehenden Model Conversion Sets abwägen. Exemplarische Fragestellungen sind: Lassen sich die neuen Regeln einem bereits bestehenden Aufgabengebiet zuordnen oder handelt es sich um einen eigenen Themenkomplex? Rechtfertigt die Komplexität der Gesamtheit neuer Regeln ein eigenes Model Conversion Set?
  2. Vermeidung negativer Wechselwirkungen: Oftmals entwickeln mehrere Nutzer parallel. Um negative Wechselwirkungen aufgrund der gleichzeitigen Modifikation bestehender Regeln zu vermeiden, solltet Ihr – neben Absprachen – auf Kopien arbeiten und diese nach erfolgreichem Testing in die originalen Model Conversion Sets überführen.
  3. Einhaltung einer Namenskonvention: Last, but not leasst solltest Du aus Übersichtlichkeitsgründen eine Namenskonvention entwerfen. Mehr dazu erfährst Du im nächsten Abschnitt.


Tipp 7: Entwirf und nutze eine Namenskonvention

Um eine gewisse Konsistenz und Einheitlichkeit sicherzustellen sowie die Auffindbarkeit entwickelter Regeln zu erleichtern, solltest Du eine entsprechende Namenskonvention entwerfen und einhalten. Die Einbeziehung folgender Komponenten in den Namen eines Regelsets, das beim Übergang von Modellkategorie A zu Modellkategorie B angewandt wird, hat sich dabei bewährt:

[IndividuellesKürzel]_[AbkürzungModellkategorieA][AbkürzungModellkategorieB] - [Kurzbeschreibung des Regelsets]

[IndividuellesKürzel] entspricht dabei beispielsweise einem unternehmensinternen Kürzel. Dies dient zur Abgrenzung von den von WhereScape bereitgestellten Default-Regeln. [AbkürzungModellkategorieA] sowie [AbkürzungModellkategorieB] sind die Kategorie des Ausgangsmodells sowie des Modells, das neu generiert wird. Exemplarisch zeigt sich das im Regelset „ws3d_rvls – Create loads“: Hierbei handelt es sich um ein von WhereScape bereitgestelltes Regelset (ws3d), das beim Übergang von der Kategorie Data Vault (RV=RawVault) zur Kategorie Load and Staging (ls) angewandt wird und der Generierung von Load-Tabellen dient (Create loads).

Für die innerhalb eines Regelsets vorliegenden Regeln empfehlen wir Dir an dieser Stelle eine aussagekräftige Formulierung sowie die Pflege des Beschreibungsfeldes. Außerdem kannst Du über den Regeltyp „Separator“ innerhalb eines Model Conversion Sets semantische Abschnitte definieren.

Tipp 8: Exportiere bestehender Model Conversion Sets regelmäßig

Um das Risiko eines versehentlichen Verlusts zu minimieren und alte Entwicklungsstände einspielen zu können, empfiehlt sich der regelmäßige Export bestehender Model Conversion Sets in Form von XML-Dateien.

Hierfür navigierst Du zu den Model Conversion Rules und klickst auf das dort angezeigte Disketten-Symbol. Im Anschluss kannst Du die zu exportierenden Model Conversion Sets des aktuellen Repositorys bestimmen, das heißt, der Export findet immer auf Ebene ganzer Model Conversion Sets und nicht einzelner Regeln statt. Über den Pfeil neben der Diskette kannst Du Model Conversion Sets importieren.

Alternativ kann in diesem Zusammenhang ein Backup des gesamten Repositorys erfolgen –mithilfe von CLI-Aufrufen und dem WhereScape RED Scheduler sogar automatisiert. Das Einspielen individueller Model Conversion Sets ist in der Folge allerdings nicht mehr möglich. Viel mehr muss immer das ganze Repository-Backup eingespielt werden.

Extra-Tipp:

WhereScape stellt keine Funktion bereit, um bestehende Model Conversion Sets zu kombinieren. Um eine manuelle Übertragung der Regeln eines Sets in das andere Set zu vermeiden, kannst Du beide Sets exportieren. Im Anschluss können die Regeln der einen XML-Datei dann in die andere XML-Datei kopiert werden, und das Ergebnis importierst du wiederum in 3D.

Tipp 9: Führe eine externe Model-Conversion-Dokumentation ein

Häufig arbeiten mehrere Personen an den vorliegenden Model Conversion Rules. Neben dem Einfügen neuer oder dem Löschen alter Regeln stellt hierbei vor allem das Modifizieren bestehender Regeln eine kritische Operation dar: Oftmals handelt es sich in diesem Zusammenhang um kleine Änderungen am Template-Code oder den Matching-Kriterien, die ohne vorherige Absprache für andere Teammitglieder unentdeckt bleiben oder schnell vergessen werden.

Um zukünftige Wechselwirkungen zu vermeiden und ein effizientes Testing zu ermöglichen, empfehlen wir Dir daher die Einführung einer externen Model-Conversion-Dokumentation. Nachstehende Tabelle zeigt eine exemplarische Struktur für ein Model Conversion Set mit dem Namen „Generate Data Vault“, das Du auch für die Dokumentation anderer Regelsets heranziehen kannst und ggf. erstellte Backups wunderbar ergänzt. In der Tabelle wird die Regel „Create satellites“ zunächst geändert und später gelöscht, wohingegen die Regel „Create hubs“ neu erstellt wird.

 

Vor allem in großen DWH-Projekten mit individuellen Anforderungen empfehlen wir die Einhaltung gewisser Standards, um eine effiziente und effektive Nutzung von Model Conversion Rules zu gewährleisten. In dem vorliegenden Beitrag haben wir Dir in diesem Zusammenhang exemplarische Tipps und Tricks gezeigt, um Dir den Einstieg zu erleichtern.

Falls auch Du nach einem DWH-Automatisierungstool suchst oder Unterstützung im Umgang mit WhereScape benötigst, komm gerne auf uns zu oder abonniere unseren Newsletter, um keine Blogbeiträge und Webinare zum Thema zu verpassen!

Alexander Belousov
Senior Consultant