SDK

Die SDK-Funktionalität in Syncler ermöglicht es, C#-Skripte direkt in der Oberfläche zu hinterlegen.
Diese Skripte werden zur Laufzeit kompiliert und in einer isolierten Sandbox ausgeführt, um Daten zu transformieren, zu prüfen oder Abläufe zu steuern.


Überblick

  • Sprache/Runtime: C# auf .NET-Basis
  • Bereitstellung: Skripttext wird in der Syncler-UI gepflegt
  • Ausführung: JIT-Kompilierung zur Laufzeit, anschließende isolierte Ausführung
  • Timeout: Standardmäßig 300 Sekunden (überschrittene Läufe enden mit Fehler)
  • Kontext: Zugriff auf Quell-/Zieldaten und kontextbezogene Parameter über den SDK-Helper
  • Serialisierung: Newtonsoft.Json steht zur Verfügung (z. B. JObject, JToken, JsonConvert)

Zielsetzung: Skripte sind ideal für punktuelle Logik, die mit Standard-Transformationen nicht (oder nur umständlich) möglich ist.


Sicherheits- & Sandbox-Beschränkungen

Die verfügbaren .NET-Assemblies sind bewusst eingeschränkt. In der Cloud sind insbesondere folgende Bereiche nicht verfügbar:

  • System.Diagnostics (Tracing/Prozess-Inspektion)
  • Dateizugriff: System.IO.File, System.IO.Directory, Streams mit direktem Dateisystemzugriff
  • Prozess-/Systemaufrufe: System.Diagnostics.Process, System.Environment (kritische Teile), Kernel-nahe APIs
  • App- und Hosting-Kontext: AppDomain, AppContext, HttpContext

Weitere Einschränkungen können zwischen Cloud und On-Premises abweichen.
Nutzen Sie keinen direkten Systemzugriff und keine blockierenden Endlosoperationen.

Wichtig: Die Skriptausführung ist zeit- und ressourcenbegrenzt. Rechen- oder I/O-intensive Aufgaben gehören nicht in ein SDK-Skript.


Ausführungsmodell & Lebenszyklus

  1. Eingangsdaten bereitstellen: Der Sync/Schritt liefert den aktuellen Datensatz und Kontextparameter.
  2. Kompilieren & Laden: Das Skript wird on-the-fly kompiliert.
  3. Sandbox-Ausführung: Ausführung innerhalb einer isolierten Domäne; Zugriff auf den SDK-Helper.
  4. Ergebnis übernehmen: Rückgabewerte/Änderungen fließen in die nachfolgenden Schritte (z. B. Feldzuordnung, Filter).
  5. Protokollierung/Fehler: Meldungen erscheinen im Protokoll/Live-Ticker; Ausnahmen führen zur Fehlerbehandlung des Syncs.

Der SDK-Helper (Konzept)

Der SDK-Helper wird dem Skript beim Start bereitgestellt und stellt u. a. bereit:

  • Zugriff auf Daten:
    • Quellwerte lesen/schreiben (z. B. für Zwischenergebnisse)
    • Zielwerte vorbereiten (z. B. für Feldzuordnung)
  • Kontextinformationen:
    • Laufzeitparameter (z. B. Mandant, Sync-ID, Ausführungsart)
    • Zeit/Locale (z. B. Europe/Berlin)
  • Hilfsfunktionen:
    • Protokollieren (Info/Warnung/Fehler)
    • Serialisieren/Deserialisieren (Newtonsoft.Json)
    • (je nach Konfiguration) Zugriff auf interne Utility-Methoden

Hinweis: Die konkreten Methodennamen und Signaturen können je Version variieren. Prüfen Sie die UI-Beschreibung zum Skriptschritt.


Zusammenfassung

Das Syncler-SDK ist ein präzises Werkzeug für Lücken, die Standard-Transformationen nicht schließen oder für die Konnektor-Entwicklung.
Beachten Sie die Sandbox-Beschränkungen, halten Sie Skripte kurz, robust und deterministisch, und nutzen Sie den SDK-Helper sowie Newtonsoft.Json für eine sichere, nachvollziehbare Datenmanipulation.