Datenformat und Datenquellen
Die Konfigurationsdateien werden im JSON-Format bereitgestellt. Diese Daten können entweder in Dateiform oder in der internen Verwaltungsdatenbank gespeichert werden.
Für den Programmstart wird immer eine Datei benötigt (siehe Programmausführung). Diese Datei muss mindestens die Konfigurationseigenschaften für die Datenbankverbindung enthalten, aus der die übrigen Daten geladen werden.
Wenn in den Konfigurationsdaten Referenzen auf weitere Konfigurationen enthalten sind, gelten abhängig von deren Quelle diese Syntaxen (URI-Schemata). Das URI-Schema für Dateien folgt einem allgemeinen Standard. Das URI-Schema für datenbankbasierte Konfigurationen ist eine proprietäre Erweiterung.
Syntax | Beschreibung |
|---|---|
oder
| Die erste Variante ( Beispiele:
Als Basis zur Auflösung eines relativen Pfades wird der Ordnerpfad der übergeordneten Konfiguration genutzt. Auf oberster Ebene ist das der Ordnerpfad der Startkonfigurationsdatei. Die zweite Variante ( Der Dateipfad-Teil setzt sich zusammen aus |
| Konfigurationen, die in der Datenbank gespeichert sind, unterliegen einer Versionierung. Außerdem wird zwischen den Stadien "Entwicklung", "Test" und "Produktion" unterschieden. HinweisWeitere Informationen zur Nutzung der Versionierungslogik finden Sie unter Konfigurator. Bei der Angabe einer Referenz ist der eindeutige technische Name der Konfiguration zwingend erforderlich. Das Stadium und die Version sind optionale Komponenten. Diese beiden Komponenten sind voneinander abhängig, d.h. die Angabe eines Stadiums ohne Version ist möglich, aber die Angabe einer Version ohne Stadium ist nicht zulässig. Die technischen Kennzeichner für die Stadien sind Beispiel:
|
Die Konfigurationsdateien sind wie folgt unterteilt:
Globale Konfiguration: Konfigurationsdatei, die die grundlegenden Einstellungen für die Ausführung des Programms umfasst. Jeder Programminstanz von xSuite Interface wird eine individuelle globale Konfiguration zugeordnet. Die globale Konfiguration darf nicht identisch zu der globalen Konfiguration einer anderen parallelläufigen Instanz auf derselben Maschine sein.
Szenariokonfiguration: Konfigurationsdatei, die ein spezifisches Verarbeitungsszenario beschreibt. Die Anzahl der Szenariokonfigurationen ist abhängig davon, welche Szenarien eine einzelne Instanz verarbeitet.
Die verschiedenen Konfigurationen werden jeweils als separate Ressource bereitgestellt, d.h. für jede globale und jede Szenariokonfiguration existieren eigenständige Dateien oder Datensätze in der Konfigurationstabelle in der Verwaltungsdatenbank. Die globale Konfiguration wird direkt der Programminstanz zugeordnet. Die Zuordnung der Szenariokonfigurationen erfolgt hingegen innerhalb der globalen Konfiguration durch Referenzen auf die zu verarbeitenden Szenarien. Für die parallele Verarbeitung desselben Szenarios durch mehrere Instanzen kann dieselbe Szenariokonfiguration in mehreren globalen Konfigurationen referenziert werden.
Beispiel
Das folgende Beispiel zeigt den grundsätzlichen Aufbau der Konfigurationsdaten:
Hinweis
Im JSON-Format muss auf die korrekte Groß-/Kleinschreibung der Eigenschaftsnamen und der Werte geachtet werden.
{
"General": {
"ExitOnInitError": true
},
"Logging": {
"Database": {
"Type": "MsSqlServer",
"Host": "localhost",
"Port": 1433
}
},
"WebService": {
"Url": [
"http://localhost:8000"
"http://testserver:8000"
]
},
"Worker": [
{
"Type": "Input"
},{
"Type":"Output"
}
]
}Die JSON-Eigenschaften der obersten Ebene (z. B. General) dienen nur der Gliederung und enthalten als Wert immer ein Objekt mit untergeordneten Eigenschaften. Diese Eigenschaften beschreiben entweder direkt einen elementaren Wert (z. B. .ExitOnInitError) oder stellen bei einer mehrstufiger Gliederung wiederum ein Objekt dar (z. B. .Database unterhalb von Logging).
JSON-Syntax
Konfigurationseigenschaften und Eigenschaftswerte werden in der vorliegenden Dokumentation wie folgt dargestellt:
Art der Angabe | Beispiel | Beschreibung |
|---|---|---|
Pfad zu einer Eigenschaft |
| In der vorliegenden Dokumentation wird oftmals der vollständige Pfad zu der untersten Eigenschaft, d.h. dem elementaren Wert, angegeben. Die einzelnen Eigenschaften werden durch einen Punkt separiert. |
Wert einer Eigenschaft |
| Der Wert einer Eigenschaft ist durch einen Doppelpunkt von der Pfadangabe getrennt. Bei dem Pfad werden die Anführungszeichen zur besseren Lesbarkeit weggelassen. Bei dem Wert werden Anführungszeichen verwendet, um den korrekten Datentyp hervorzuheben. String-Werte werden daher mit Anführungszeichen geschrieben. |
Numerische Werte und Wahrheitswerte |
| Numerische Werte und Wahrheitswerte werden ohne Anführungszeichen geschrieben. Gemäß JSON-Syntax muss für numerische Werte mit Nachkommastellen ein Punkt als Dezimaltrennzeichen verwendet werden. |
String-Werte |
| Bei der Angabe von String-Werten müssen eingebettete Anführungszeichen als Ein in seiner Gesamtheit als String zu kennzeichnender Makroausdruck wie Um das Maskierungszeichen |
Arrays |
| Um in der Pfadangabe zu kennzeichnen, dass eine Eigenschaft ein Array ist, werden dieser Eigenschaft eckige Klammern angefügt. |
| Wenn die Array-Werte nicht elementar sind, sondern wiederum Objekte mit Untereigenschaften darstellen, kann nach den eckigen Klammern eine weitere Eigenschaft folgen. |