Zum Hauptinhalt springen

Vom Modell zu generierten Artefakten

Etwa 30 Minuten. Sie installieren eine Demo, generieren daraus, ändern dann eine Sache nach der anderen und sehen der Ausgabe beim Mitändern zu. Nichts davon braucht eine Lizenz, und nichts, was Sie tun, betrifft jemand anderen – Pakete und Modelle gelten je Benutzer.

Es geht nicht um die Demo. Es geht darum, dass Sie über die Art zu modellieren entscheiden, was generiert wird – und der schnellste Weg, das zu glauben, ist, ein Modell zu ändern und das Ergebnis anzusehen.

vorsicht

Die Demo-Bundles bringen ihr eigenes Modell mit, und eines zu installieren ersetzt das Modell in Ihrem Arbeitsbereich. Ein ersetztes Modell lässt sich nicht wiederherstellen. Haben Sie dort Arbeit liegen, sichern Sie sie vorher mit Modellaktionen ▸ Download Model in der Kopfleiste.


1 · Die Demo installieren​

  1. Öffnen Sie den Marketplace (Paketsymbol in der linken Seitenleiste, unter dem Logo).
  2. Wechseln Sie auf die Stufe Banian und die Gruppe Bundles.
  3. Klicken Sie bei Demo: Retail Business Objects auf Load.

Ein Dialog listet auf, was das Bundle installieren wird, bevor irgendetwas passiert: ein Template-Paket, ein Capability-Paket und ein Modell mit sechs Entitäten. Lesen Sie ihn, dann bestätigen Sie.

Der Inhalt des Bundles, bevor etwas geschrieben wird

  1. Wenn ITB das Neuladen anbietet, nehmen Sie an.

Das Neuladen ist keine Formalität. Ein Capability-Paket ergänzt Assistenten und Menüeinträge, die die Anwendung beim Start liest; sein Inhalt erscheint also erst danach.

Was Sie jetzt haben​

Öffnen Sie den Entitäten-Drawer (Strg+2). Sechs Entitäten in drei Gruppen:

GruppeEntitätenTyp
SalesCustomer, OrderBusiness Object
SalesAddress, OrderLineValue Object
ProductProductBusiness Object
ProcurementSupplierBusiness Object

Die sechs Entitäten, Gruppe für Gruppe.

Klicken Sie Customer an und sehen Sie in die rechte Leiste. Seine Attribute tragen Typen – Identifier, Required Property, Descriptive Property – und unter Custom Properties hat es einen Eigentümer, eine Klassifikation, ein System of Record. Merken Sie sich die; sie tauchen gleich in der Ausgabe auf.

Beides sind Abschnitte des Reiters Overview: Data trägt die Attribute und ihre Typen, Properties die Governance-Werte. Die einen erreichen den Vertrag, die anderen den Katalog.


2 · Generieren und lesen, was herauskam​

  1. Klicken Sie Generate All (Play-Symbol in der Kopfleiste) und warten Sie auf den grünen Haken.
  2. Wählen Sie im Kopfleistenmenü Download Artifacts.
  3. Entpacken Sie das Archiv.

Die Generierung führt jede Definition jedes installierten Pakets in einem Durchgang über das ganze Modell aus.

Sie bekommen fünf Dateien:

Retail Business Objects/Sales/Customer.schema.json
Retail Business Objects/Sales/Order.schema.json
Retail Business Objects/Product/Product.schema.json
Retail Business Objects/Procurement/Supplier.schema.json
catalog.html

Öffnen Sie catalog.html im Browser. Es ist ein Datenkatalog: Ihre Objekte nach Geschäftsdomäne gruppiert, mit Eigentümer, Steward, Klassifikation und System of Record – und Supplier ganz oben als das Objekt ohne Eigentümer genannt.

Die erzeugte Katalogseite

Öffnen Sie nun Customer.schema.json. Sein Identifier ist required und readOnly; seine beschreibenden Eigenschaften sind optional; die Adresse ist als Objekt eingebettet statt referenziert.

Zwei Dinge, die auffallen sollten​

Address und OrderLine haben keine Datei bekommen. Sie sind Value Objects – sie haben keine eigene Identität und existieren nur innerhalb des Objekts, das sie enthält. Sehen Sie in das Schema von Customer: die Adresse steht dort, inline.

Der Katalog ist eine Datei für das ganze Modell, die Schemata sind je eine Datei pro Objekt. Dasselbe Paket, derselbe Lauf, zwei Arten von Regel.


3 · Ein Objekt hinzufügen und es erscheinen sehen​

Jetzt ändern Sie das Modell.

  1. Rechtsklick auf leere Zeichenfläche, dann New Business Object.
  2. Schritt 1 – Name Invoice, Art Business Object, neben Order platzieren und Ihre Ansicht wählen.
  3. Schritt 2 – Identifier invoice_number, Datentyp Text.
  4. Schritt 3 – Domäne Finance, Eigentümer Accounting, Klassifikation internal.
  5. Fertigstellen.

Der Assistent hat die Entität angelegt, ihr Identifier-Attribut, ihre drei Governance-Werte und ihren Knoten auf der Zeichenfläche – in einer Aktion.

  1. Generate All, dann erneut herunterladen.

Invoice.schema.json ist da, und der Katalog hat einen Abschnitt Finance mit einer Zeile darin.


4 · Den Typ ändern und es verschwinden sehen​

Das ist der Schritt, den man langsam machen sollte.

  1. Wählen Sie Invoice auf der Zeichenfläche.
  2. Ändern Sie in der rechten Leiste den Typ von Business Object auf Value Object.
  3. Generate All, herunterladen.

Invoice.schema.json ist weg, und die Katalogzeile mit ihr.

Sonst hat sich nichts geändert. Die Entität ist noch da, mit demselben Namen und denselben Attributen. Der Entitätstyp entscheidet, ob überhaupt eine Datei entsteht – und ein Value Object erzeugt bewusst keine, weil es in einem anderen Objekt leben soll.

Das Feld Type im Abschnitt Data des Reiters Overview – die eine Änderung, um die dieser Schritt bittet. Die Aufnahme nimmt ein bestehendes Business Object; die Wirkung ist dieselbe, welches Sie auch wählen.

  1. Stellen Sie den Typ zurück auf Business Object.

5 · ITB fragen, welche Regel gegriffen hat – ohne zu generieren​

Sie haben gerade eine Datei erscheinen und verschwinden sehen. Dieser Schritt zeigt, wie Sie vorher herausfinden, warum – ohne Generierung, ohne Download.

  1. Rechtsklick auf die Titelleiste des Objekts Customer auf der Zeichenfläche, dann Show templates. (Ein Rechtsklick weiter unten im Kasten öffnet das Menü für das getroffene Attribut, und das ist ein anderes Menü.)
  2. Der Reiter Templates listet jede passende Definition: das Artefakt, das sie erzeugen würde, und das Paket, aus dem sie stammt.
  3. Klicken Sie in dieser Zeile auf Explain why.

Der Bereich nennt Definition, Artefakt und Paket; Explain why meldet die Bedingung, die gepasst hat.

Die Erklärung nennt die Bedingung – die Definition verlangt type_key: ebo_object, und Customer ist eines. Das ist die ganze Passregel. View code in derselben Zeile zeigt das Artefakt selbst.

  1. Tun Sie nun dasselbe bei Address.

Nichts passt. Keine Definition im Paket nennt ebo_value_object, die Liste bleibt also leer – und das ist die richtige Antwort, kein Fehlschlag. Es ist dieselbe Tatsache, die Sie im vorigen Schritt durch Generieren erzeugt haben, hier in zwei Klicks.

„No template matches this entity — it would not be generated." Ein Value Object, beantwortet ohne etwas zu generieren.

tipp

Das ist der schnellste Weg, ein Paket zu debuggen, das Sie schreiben: fehlt ein erwartetes Artefakt, fragen Sie die Entität nach dem Grund, bevor Sie die Konfiguration lesen.

Ausführlich zum Bereich und zum Passen: Show Templates.


6 · Eine Beziehung ändern und die Form mitändern sehen​

Beziehungen sind ein Reiter des Entitätsbereichs, kein Abschnitt unter den Attributen.

  1. Wählen Sie Order. Öffnen Sie in der rechten Leiste den Reiter Relations und klicken Sie +.
  2. Ziel Invoice, Verbindung has_one, Typ Contains. Auf Create klicken.
  3. Generate All, herunterladen.

Öffnen Sie Order.schema.json: die Rechnung steckt nun als verschachteltes Objekt darin.

  1. Bearbeiten Sie diese Beziehung und ändern Sie ihren Typ auf References.
  2. Generieren Sie erneut.

Jetzt trägt die Bestellung stattdessen invoice_number – eine Referenz über den Identifier, keine Kopie.

Die beiden Objekte haben sich nicht geändert. Der Beziehungstyp hat die Form entschieden.


7 · Einen Eigentümer weglassen und den Katalog sich beschweren sehen​

  1. Wählen Sie Invoice und leeren Sie in der rechten Leiste die Eigenschaft Owner.
  2. Generate All, herunterladen, catalog.html öffnen.

Invoice wird jetzt oben genannt, neben Supplier, als Objekt ohne Eigentümer – und steht trotzdem weiter in seinem Abschnitt. Ein Katalog ist dazu da, eine Lücke sichtbar zu machen, nicht die Zeile zu verstecken.


8 · Dieselbe Geschäftswelt, eine andere Konfiguration​

Der letzte Schritt zeigt, worauf die ersten sieben hinausliefen.

  1. Installieren Sie im Marketplace Demo: Retail Data Vault. Es ersetzt Ihr Modell – davor warnt der Dialog, und hier ist es genau das, was Sie wollen.
  2. Generate All, herunterladen.

Sieben Dateien, und keine einzige davon ein JSON-Schema: drei Staging-Views, zwei Hubs, ein Link und ein Satellit, als dbt-Modelle.

Dieselben Kunden, dieselben Produkte, dieselben Bestellungen. Ein anderes Paket, ein anderer Satz Typen, eine völlig andere Ausgabe – und die Anwendung selbst hat sich nicht geändert.

tipp

Installieren Sie Demo: Retail Business Objects and Data Vault, um beide Welten in einem Modell zu haben, mit Mapping-Kanten, die zeigen, welches Business Object in welchem Hub, Link oder Satellit landet. Eine Generierung darüber führt beide Pakete auf einmal aus und erzeugt alle zwölf Dateien.


Was Sie gerade gelernt haben​

Sie haben geändertDie Ausgabe änderte sich, weil
Den Typ der EntitätDer Typ entscheidet, ob überhaupt eine Datei entsteht
Den Typ des AttributsEr gibt der Spalte ihre Rolle – Identifier, Pflicht, beschreibend
Den Typ der BeziehungEr entscheidet zwischen eingebettet und referenziert
Eine benutzerdefinierte EigenschaftSie ist eine Aussage über das Objekt, erreicht also den Katalog und keinen Vertrag
Das installierte PaketAlles oben wird aus dem Paket gelesen und ist nicht in ITB eingebaut

Paketkonfiguration erklärt jeden dieser Hebel vollständig, und Eigene Assistenten behandelt den Assistenten aus Schritt 3.