Zum Hauptinhalt springen

Überblick

Die Construction Kit Engine ist für das Kompilieren und Auswerten von Construction Kits zuständig. Die Construction Kit Engine besteht aus einer Sammlung von Bibliotheken, die die notwendigen Werkzeuge für die Interaktion mit den Construction Kits bereitstellen. Die Construction Kit Engine ist für .NET und .NET Core verfügbar. Alle Bibliotheken sind als NuGet-Pakete verfügbar.

Überblick über die Bibliotheken​

  • ConstructionKit.Contracts - Enthält die Schnittstellen und Verträge zur Definition von Construction Kits und ihren zugehörigen Modellen.
  • ConstructionKit.Engine - Die Auswertungs-Engine für Construction Kits. Diese Bibliothek enthält den Compiler und den Evaluator, die für das Kompilieren bzw. das Auswerten von Construction Kits verantwortlich sind.
  • ConstructionKit.Compiler - Der Compiler für Construction Kits, der zu ausführbarem octo-ckc kompiliert. Er ist für das Kompilieren von Construction Kits in ausführbare Modelle zuständig.
  • ConstructionKit.SourceGeneration - Der Source Generator für Construction Kits. Er ist dafür zuständig, C#-Quellcode aus Construction Kits zu generieren, um die Interaktion mit den Modellen zu erleichtern.
  • ConstructionKit.Templates - Die Projektvorlage für Construction Kits. Sie ist für das Erzeugen eines neuen Construction-Kit-Projekts zuständig.
  • Runtime.Contracts - Enthält die Schnittstellen und Verträge zur Definition der Runtime Engine.
  • Runtime.Engine - Die Runtime Engine für Construction Kits. Sie ist dafür zuständig, mithilfe verschiedener Repositories Instanzen der durch die Construction Kits definierten Datenmodelle zu verwalten. Die Runtime Engine hostet außerdem die Blueprint Engine (IBlueprintService, IBlueprintCatalogManager, ITenantBlueprintInstallations, ITenantBlueprintHistory), die versionierte Bündel aus CK-Modellen + Seed-Daten auf Tenants anwendet. Zum YAML-Schema, zur Abhängigkeitsauflösung, zu den Update-Modi und zu Migrationsskripten siehe den Technology Guide Blueprints; programmatische Konsumenten binden sie über services.AddRuntimeEngine() und einen backend-spezifischen Provider (z. B. services.AddMongoBlueprintSupport()) an.
  • SystemCkModel - Das Basismodell (System) für Construction Kits. Es ist dafür zuständig, das Basismodell für Construction Kits bereitzustellen. Das Modell trägt die Systemattribute, die die Blueprint Engine zur Nachverfolgung der Ownership nutzt (rtBlueprintSource, rtBlueprintLocked, rtBlueprintAppliedAt), sowie die CK-Typen, die die tenantspezifische Blueprint-Registry persistieren (System/BlueprintInstallation, System/BlueprintHistory, System/BlueprintBackup).