Pillar page

Enterprise systemintegration

Vi forbinder ERP, CRM, regnskabssystemer, HR/løn, virksomhedsregistre, Microsoft Graph, Salesforce, SAP. Integrationer via API, køer, ETL og webhooks — med fuld kvalitetskontrol, audit trail og produktionsmonitoring.

En mellemstor virksomhed bruger fra et dusin til flere dusin forretningsapplikationer. Hver enkelt opbevarer fragmenter af de samme data — kunde, faktura, medarbejder, ordre. Uden integration bruger medarbejderne timer hver dag på manuelt at genindtaste, eksportere og importere data mellem systemer.

Systemintegration er ikke en luksus — det er fundamentet for digital transformation. Med et veldesignet integrationslag: en kunde tilføjet i CRM dukker op i ERP uden indgriben, en faktura udstedt i regnskab opdaterer CEO'ens finansielle dashboard, en ordrestatus er konsistent på tværs af webshop, lager og kundeservice.

Hvorfor er integration svært?

Hvert system har sin egen datamodel, sit eget navn for det samme felt, sin egen rækkefølge af operationer, sine egne API-begrænsninger (rate limits, latens, midlertidige fejl). To systemer kan virke „kompatible" i teorien, men i praksis kræver de uger med arbejde på mapninger, transformationer, håndtering af edge cases og konfliktløsning.

Det andet vanskelighedslag er produktionspålidelighed. En integration, der fungerer korrekt i dev-miljø, er omkring 30% af vejen. De resterende 70% er håndtering af exceptionelle situationer: det eksterne system er ikke tilgængeligt, det har ændret sin API-kontrakt, returnerer uventede data, en ny kunde dukker op i CRM med tegn, som det gamle ERP ikke kan håndtere. Hver sådan sag skal tænkes igennem, testes og udløse en alarm, når den indtræffer.

Integrationstyper

Seks grundlæggende mønstre. I de fleste projekter kombinerer vi flere og vælger den rette metode til hvert tilfælde.

REST API / GraphQL

Synkron kommunikation mellem applikationer. JSON som udvekslingsformat, OAuth2/JWT til autorisation, OpenAPI/Swagger til dokumentation. Det mest almindelige valg til moderne cloud-systemer.

Beskedkøer

RabbitMQ, Redis Streams, Kafka — asynkron udveksling, når afsenderen ikke venter på modtageren. Perfekt til notifikationer, forretningshændelser, langvarige operationer. Leveringsgaranti + retry.

ETL / ELT

Batch-indlæsning af data i et data warehouse (Snowflake, BigQuery, Redshift, on-premise PostgreSQL). Airflow eller dbt som orchestrator, datakvalitetsvalidering (Great Expectations), lineage-monitoring.

Webhooks

Push-notifikationer fra et kildesystem (Stripe, GitHub, Slack, Salesforce) ind i vores applikation. HMAC-signaturverifikation, idempotens, dead-letter queue til fejlede leveringer.

SOAP / XML

Legacy enterprise-systemer (SAP, Oracle, bank, forsikring) — fuld WSDL-understøttelse, XSD-validering, WS-Security. Adapter til moderne protokoller for resten af systemet.

Databaser — replikering, CDC

Change Data Capture (Debezium, AWS DMS) til streaming-replikering af ændringer fra en kildedatabase til en målbase. PostgreSQL logical replication til høj tilgængelighed og rapportering.

Seks centrale produktionsudfordringer

Det, vi holder øje med i hvert integrationsprojekt. Mangler én af dem = tikkende bombe.

Idempotens

Hver request udført flere gange giver samme resultat. Idempotency-nøgler i headers, deduplikering på applikationsniveau, transaktioner omkring kritiske operationer.

Retry og backoff

Midlertidige netværksfejl er normen. Eksponentiel backoff (1s, 2s, 4s, 8s…), jitter for at undgå thundering herd, circuit breaker efter N fejlede forsøg.

Mapning og transformationer

System A kalder feltet "client_id", system B "customerId", system C "id_klienta". Et centralt mapping-katalog, transformationer på ét sted, test for hver transformation.

Eventual consistency

Data i to systemer er aldrig 100% konsistent i realtid. Vi accepterer latens (typisk sekunder), monitorerer drift og alarmerer ved længere divergens.

Audit og compliance

Hver integrationsoperation logger: hvem/hvad/hvornår/fra/til, payload (anonymiseret hvis den indeholder PII), resultat. Audit-loggen opfylder GDPR- og ISO 27001-krav.

Skalering og omkostning

Integrationer vokser med forretningen. Horisontal skalering (flere instanser), rate limiting (beskyttelse mod for mange requests), omkostningsmonitoring per integration.

Sådan leverer vi et integrationsprojekt

  1. Discovery (1-2 uger): kortlægning af nuværende datastrømme, identifikation af kilden til sandhed for hver enhed, indsamling af API-kontrakter, vurdering af risici og afhængigheder.
  2. Arkitekturdesign (1 uge): valg af mønstre (sync vs. async, push vs. pull, hub-and-spoke vs. point-to-point), audit-logskema, monitoringplan.
  3. Pilot på en enkelt enhed (2-3 uger): vi leverer integrationen for én datatype (f.eks. kunder) end-to-end. Kontraktvalidering, load test, dry-run i testmiljø.
  4. Udvidelse til resterende enheder (4-8 uger): efterfølgende synkroniseringer (fakturaer, ordrer, produkter) med samme mønster. Hver udrulning forudgås af en Change Request og regressionstest.
  5. Historisk datamigrering (1-3 uger): flytning af eksisterende data. Dry-run, audit, rollback-plan. Migrering enten inkrementelt eller i et servicevindue.
  6. Hypercare (4 uger i produktion): intensiv monitoring, hurtig hændelseshåndtering, alarmtuning. Efter hypercare skift til standardvedligeholdelse.

Eksempler på leverede integrationer

KRS + CRBR — RejestrFirm

Mikroservice, der forbinder data fra det polske domstolsregister (740k+ virksomheder) med Centralregistret over reelle ejere. Smart caching (24h), dual-source med automatisk fallback, 15+ REST-endpoints. Bruges i KYC-processer, modpartsverifikation og compliance-rapportering.

SSO på tværs af flere applikationer

Central Keycloak-platform (realm eskom-ai) integreret med et dusin klientapplikationer. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), bruger-provisionering, billing baseret på LLM-token-forbrug. Single sign-on på tværs af alle ESKOM AI-produkter.

Microsoft Graph — kalendere, e-mail, OneDrive

Integration med Microsoft 365 til kalenderautomatisering (AI-assistent, der planlægger møder), transaktionel e-mail-levering, dokumentarkivering. OAuth2 med delegerede tilladelser, refresh tokens i Vault, monitoring af Graph API rate limits.

LLM Proxy — multi-provider-routing

Central kø, der forbinder flere LLM-udbydere (Anthropic, OpenAI, lokal Ollama). Per-opgave-routing (små — lokal model, komplekse — Claude Opus), respons-caching, omkostningsmonitoring per projekt, fail-over mellem udbydere.

Ofte stillede spørgsmål

Hvad betyder systemintegration?
Systemintegration er processen med at forbinde to eller flere applikationer, så de kan udveksle data, udløse hændelser i hinanden og forblive konsistente. I praksis: når en kunde tilføjes i CRM, dukker de automatisk op i ERP; når en faktura udstedes i regnskab, flyder data til CRM og analyser. Uden integration jonglerer virksomheden manuelt med data (CSV-eksport, kopiering mellem systemer), hvilket giver fejl, forsinkelser og omkostninger.
Hvilke integrationsteknologier bruger I?
Teknologivalget afhænger af konteksten: REST API og webhooks til moderne cloud-systemer, SOAP/XML til legacy ERP/bank, beskedkøer (RabbitMQ, Redis Streams, Kafka) til asynkron udveksling, ETL/ELT til feeding af data warehouses, GraphQL når kunden ønsker fleksibilitet. Vi blander ofte tilgangene — synkront, hvor brugeren venter på et resultat, asynkront, hvor throughput er vigtigt.
Går integrationer i stykker, når kildesystemer opdateres?
Det er et af de største problemer i integration — og derfor bygger vi adaptere med isolation (anti-corruption layer). Et eksternt system ændrer sin kontrakt → kun adapteren ændres, resten af integrationen er upåvirket. Derudover: kontrakter versioneres (v1, v2), integrationstest kører dagligt mod sandbox-API'er, Sentry/Wazuh-alarmer udløses ved ændringer i responsformat. Kunden får besked om et problem, før det når slutbrugerne.
Hvor lang tid tager en typisk integration?
Simple integrationer (ét system til et andet, ~5 endpoints, envejs-sync) leveres på 1-2 uger. Komplekse integrationer (tovejs-sync, et dusin enheder, mapninger, transformationer, deduplikering) tager 4-8 uger. Multi-system-integrationer (hub-and-spoke) planlægges i faser, hvor forretningsværdi leveres i 2-3 uges iterationer.
Hvad med historiske data i en ny integration?
Hvert integrationsprojekt indeholder et separat trin for historisk migrering. Først en fuld analyse: hvor mange poster, hvilke datatyper, hvor er dubletterne, hvilke felter er obligatoriske vs. valgfri. Derefter et migreringsscript med dry-run, audit trail (hvad blev flyttet, hvad blev afvist, hvorfor) og rollback-plan. Migreringen sker i et servicevindue eller inkrementelt afhængigt af forretningsrisikoen.
Skal integrationen køre 24/7?
Det afhænger af forretningskritisk karakter. Online-processer (betalinger, autorisationer) kræver høj tilgængelighed — vi designer dem med redundans (load balancer, flere instanser, health checks, auto-restart). Natlige processer (rapporter, batch-syncs) kan køre i servicevinduer. Vi klassificerer hver integration med en SLA: p95 responstid, accepteret månedlig nedetid, RTO/RPO.
Hvordan monitorerer I integrationer i produktion?
Hver integration udsender metrikker til Prometheus (request rate, error rate, latens p50/p95/p99), logs til central SIEM (Wazuh), fejl til Sentry. Alarmer udløses ved throughput-fald, fejlrate-spikes eller timeouts. Et dashboard viser tilstanden af alle integrationer ét sted — operatøren kan se, at f.eks. integrationen med leverandør X har en fejlrate på 3%, mens resten kører glat.
Hvad med sikkerhed ved eksterne integrationer?
Hver integration bruger least-privilege-adgang. Nøgler og tokens ligger i HashiCorp Vault (ikke i .env-filer, ikke i kode). Kommunikation foregår altid over TLS 1.2+, certifikater verificeres (aldrig verify=False). Indgående webhooks har HMAC-signaturverifikation. Ved token-lækage — øjeblikkelig rotation, audit-loggen viser, hvad der skete og hvornår.
Hvordan adskiller ESKOM AI's integrationstilgang sig fra en klassisk ESB (Enterprise Service Bus)?
Klassiske ESB'er (Mule, BizTalk, WebMethods) er monolitiske platforme — dyre i licens og kræver et dedikeret team. Vores model: integrations-mikroservices, hver integration som en separat komponent med eget deployment og monitoring, infrastruktur bygget på open source (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Lavere licensomkostninger, lettere vedligeholdelse, ingen vendor lock-in. For nogle kunder er det et finansielt argument, for andre — et strategisk.
Integrerer I med polske offentlige systemer (KRS, CRBR, KSeF, ePUAP)?
Ja. I produktion kører vi en mikroservice integreret med KRS og CRBR (rejestrfirm.eskom.ai — data for 740k+ virksomheder, inklusive reelle ejere). KSeF (polsk e-fakturering) — vi har færdige integrationskomponenter i Kontroling-projektet. ePUAP, e-leveringer — tilgængelige via Microsoft Graph API og direkte integrationer. Fuld overensstemmelse med polsk lovgivning (GDPR, rapporteringsforpligtelser).

Har I et integrationsprojekt?

Vi starter med en gratis audit — kortlægning af nuværende datastrømme, identifikation af flaskehalse og et forslag til en plan i klare faser.