Wat is DragonConnect
Een platform waar je per “connection” een bron-API en doel-API kiest, authenticatie instelt, een vooraf gedefinieerde actie selecteert (bijv. stock-sync of order-update) en een interval bepaalt. Uitvoer draait geautomatiseerd met logging en foutafhandeling.
Kernconcepten
- Config-gedreven uitbreidbaarheid: nieuwe API’s voeg je toe via configuratie (DB/JSON), niet via codewijzigingen.
- Geen drivers per API: één generiek uitvoerpad voor alle koppelingen.
- Actie-definities: per API actie met endpoint(s), methode, headers, body-schema en validatie.
- Veldenmodel:
- Vaste waarden per API (api_settings).
- Connection-specifieke waarden (connection_settings).
- Runtime-velden zoals
since_id
,offset
en tijdvensters, met state in connection_run_states en gedrag in runtime_behavior.
- Dynamische resolver: bouwt requests op uit vaste waarden, connection-settings en runtime-state. Injectie gebeurt tijdens uitvoering.
- Transportlagen: HTTP en XML-RPC selecteerbaar per actie.
- Authenticatie: configureerbaar (bijv. token, basic, API-key); uit te breiden zonder code-wijziging in acties.
- Conditionele URL-overrides per connection wanneer een API geen globale base-URL heeft.
- Normalisatie- en transformatielaag voor consistente payloads over verschillende API’s.
- Validatie voor invoer, configuratie en responses.
- Planning en uitvoer: intervalgestuurd, met logging, foutenrapportage en geplande retry-strategie en pauzes per connection.
- UI: beheer van connections, acties, instellingen en logs via een webinterface.
Waarom dit werkt
- Abstractie: dezelfde pipeline verwerkt uiteenlopende platforms zonder branches per leverancier.
- Configuratie als contract: acties zijn declaratief, waardoor beheer en audits duidelijk blijven.
- Schaalbaar onderhoud: nieuwe koppelingen zijn een config-change, geen release.
- Veilig en controleerbaar: settings per klant, traceerbare run-state, en scheiding tussen configuratie en uitvoering.
Voorbeelden van use-cases
- Voorraad-sync van systeem A naar B.
- Order-updates via XML-RPC met token-auth, genormaliseerd naar een generiek orderschema.
- Connection-specifieke filtering (bijv. op tag of magazijn) ingesteld via connection_settings.
* alle informatie is high-level en geanonimiseerd.