Pillar stran

Integracija sistemov za podjetja

Povezujemo ERP, CRM, računovodske, kadrovsko-plačne sisteme, KRS, MS Graph, Salesforce, SAP. Integracije prek API, čakalnih vrst, ETL, webhookov — s polnim nadzorom kakovosti, revizijsko sledjo in produkcijskim monitoringom.

Povprečno podjetje uporablja od deset do nekaj deset poslovnih aplikacij. Vsaka hrani drobce istih podatkov — stranke, fakture, zaposlenega, naročila. Brez integracije zaposleni vsakodnevno porabijo ure za ročno prepisovanje, izvažanje in uvažanje podatkov med sistemi.

Integracija sistemov ni razkošje — to je temelj digitalne preobrazbe. Pri dobro zasnovani integraciji: stranka, dodana v CRM, se pojavi v ERP brez posredovanja, faktura, izdana v računovodstvu, posodobi finančno nadzorno ploščo direktorja, status naročila je usklajen v spletni trgovini, skladišču in podpori strankam.

Zakaj so integracije težke?

Vsak sistem ima svoj model podatkov, svoje ime za ista polja, svoje zaporedje operacij, svoje omejitve API (limiti, zakasnitve, prehodne napake). Dva sistema se lahko zdita „združljiva" v teoriji, vendar v praksi zahtevata tedne dela na preslikavah, transformacijah, obravnavi robnih primerov in reševanju konfliktov.

Druga plast težav je produkcijska zanesljivost. Integracija, ki pravilno deluje v razvojnem okolju, je ~30% poti. Preostalih 70% je obravnava izjemnih situacij: zunanji sistem ni dostopen, je spremenil pogodbo API, vrača nepričakovane podatke, v CRM je bila uvedena nova stranka s slovenskimi črkami, ki jih stari ERP ne podpira. Vsak tak primer zahteva premislek, test in alert, ko se zgodi.

Vrste integracij

Šest osnovnih vzorcev. V večini projektov združujemo več njih in izbiramo metodo glede na konkretni primer.

REST API / GraphQL

Sinhrona komunikacija med aplikacijami. JSON kot format izmenjave, OAuth2/JWT za avtorizacijo, OpenAPI/Swagger za dokumentacijo. Najpogostejša izbira za sodobne oblačne sisteme.

Čakalne vrste sporočil

RabbitMQ, Redis Streams, Kafka — asinhrona izmenjava, ko pošiljatelj ne čaka na prejemnika. Idealno za obvestila, poslovne dogodke, dolgotrajne operacije. Garancija dostave + retry.

ETL / ELT

Paketno nalaganje podatkov v podatkovno skladišče (Snowflake, BigQuery, Redshift, lokalni PostgreSQL). Airflow ali dbt kot orchestrator, validacija kakovosti podatkov (Great Expectations), monitoring lineage.

Webhooks

Push obvestila iz izvornega sistema (Stripe, GitHub, Slack, Salesforce) v našo aplikacijo. HMAC signature verification, idempotentnost, dead-letter queue za neuspele dostave.

SOAP / XML

Starejši podjetniški sistemi (SAP, Oracle, bančništvo, zavarovalništvo) — popolna podpora WSDL, XSD validation, WS-Security. Adapter za sodobne protokole za preostanek sistema.

Podatkovne baze — replikacija, CDC

Change Data Capture (Debezium, AWS DMS) za pretočno replikacijo sprememb iz izvorne v ciljno bazo. Logical replication PostgreSQL za high-availability in poročila.

Šest ključnih produkcijskih izzivov

Stvari, na katere pazimo pri vsakem integracijskem projektu. Brez katerega od teh elementov = časovna bomba.

Idempotentnost

Vsaka zahteva, izvedena večkrat, daje enak rezultat. Idempotentni ključi v glavah, deduplikacija na ravni aplikacije, transakcije okrog kritičnih operacij.

Retry in backoff

Začasne mrežne napake so norma. Exponential backoff (1s, 2s, 4s, 8s...), jitter za izognitev thundering herd, circuit breaker po N neuspelih poskusih.

Preslikave in transformacije

Sistem A imenuje polje "client_id", sistem B "customerId", sistem C "id_stranke". Centralni katalog preslikav, transformacije na enem mestu, testi vsake transformacije.

Eventual consistency

Podatki v dveh sistemih nikoli niso 100% skladni v realnem času. Sprejemamo zakasnitve (običajno sekunde), spremljamo drift, alertiramo pri daljših odstopanjih.

Audit in compliance

Vsaka integracijska operacija zapisuje: kdo/kaj/kdaj/od kod/kam, payload (anonimiziran če vsebuje PII), rezultat. Audit log izpolnjuje zahteve GDPR in ISO 27001.

Skaliranje in stroški

Integracije rastejo s poslom. Horizontal scaling (več instanc), rate limiting (zaščita pred prekomernimi zahtevami), monitoring stroškov per integracija.

Kako izvajamo integracijski projekt

  1. Discovery (1-2 tedna): preslikava trenutnih tokov podatkov, identifikacija virov resnice za vsako entiteto, zbiranje pogodb API, ocena tveganj in odvisnosti.
  2. Architecture design (1 teden): izbira vzorcev (sinhrono vs asinhrono, push vs pull, hub-and-spoke vs point-to-point), shema audit loga, načrt monitoringa.
  3. Pilot na eni entiteti (2-3 tedne): integracijo za eno vrsto podatkov (npr. stranke) izvedemo end-to-end. Validacija pogodb, obremenitveni testi, dry-run na testnem okolju.
  4. Razširitev na preostale entitete (4-8 tednov): naslednje sinhronizacije (fakture, naročila, izdelki) z istim vzorcem. Vsaka uvedba pred njo Change Request in regresijski testi.
  5. Zgodovinska migracija (1-3 tedne): prenos obstoječih podatkov. Dry-run, audit, načrt rollback. Migracija inkrementalna ali v servisnem oknu.
  6. Hypercare (4 tedne po produkciji): intenziven monitoring, hitro reagiranje na incidente, prilagajanje alertov. Po hypercare prehod na standardno vzdrževanje.

Primeri izvedenih integracij

KRS + CRBR — RejestrFirm

Mikrostoritev, ki povezuje podatke iz Nacionalnega sodnega registra (740k+ podjetij) z Centralnim registrom dejanskih lastnikov. Smart caching (24h), dual-source z automatic fallback, 15+ REST endpoints. Uporablja se v procesih KYC, preverjanju partnerjev, generiranju compliance poročil.

SSO z več aplikacijami

Centralna platforma Keycloak (realm eskom-ai), integrirana s številnimi odjemalskimi aplikacijami. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), provisioning uporabnikov, obračun na podlagi porabe tokenov LLM. Single sign-on za vse produkte ESKOM AI.

Microsoft Graph — koledarji, e-pošta, OneDrive

Integracija z Microsoft 365 za avtomatizacijo koledarja (dogovarjanje sestankov prek asistenta AI), pošiljanje transakcijskih e-pošt, arhiviranje dokumentov. OAuth2 z delegated permissions, refresh tokens v Vaultu, monitoring rate limitov Graph API.

LLM Proxy — multi-provider routing

Centralna čakalna vrsta, ki povezuje več ponudnikov LLM (Anthropic, OpenAI, lokalni Ollama). Routing po nalogi (drobne — lokalni model, zapletene — Claude Opus), cache odgovorov, monitoring stroškov per projekt, fail-over med ponudniki.

Pogosta vprašanja

Kaj pomeni integracija sistemov?
Integracija sistemov je proces povezovanja dveh ali več aplikacij, tako da lahko izmenjujejo podatke, sprožajo dogodke v drug drugem in ohranjajo skladnost informacij. V praksi: ko se stranka doda v CRM, se samodejno pojavi v ERP; ko je faktura izdana v računovodstvu, podatki gredo v CRM in v analitiko. Brez integracije podjetje žonglira s podatki ročno (CSV izvozi, kopiranje med sistemi), kar generira napake, zakasnitve in stroške.
Katere tehnologije integracije uporabljate?
Izbira tehnologije je odvisna od konteksta: REST API in webhooks za sodobne oblačne sisteme, SOAP/XML za starejše ERP/bančništvo, message queues (RabbitMQ, Redis Streams, Kafka) za asinhrono izmenjavo, ETL/ELT za polnjenje podatkovnih skladišč, GraphQL kadar stranka želi prilagodljivost. Pogosto mešamo pristope — sinhrono tam, kjer uporabnik čaka na rezultat, asinhrono tam, kjer šteje pretočnost.
Ali se integracije pokvarijo pri posodobitvah izvornih sistemov?
To je ena največjih težav integracij — in zato gradimo adapterje z izolacijo (anti-corruption layer). Zunanji sistem spremeni pogodbo → spremeni se le adapter, preostala integracija brez sprememb. Dodatno: pogodbe so verzionirane (v1, v2), integracijski testi se izvajajo dnevno na sandbox API, alerti Sentry/Wazuh pri spremembah formata odgovora. Stranka izve za težavo, preden ta doseže uporabnike.
Kako dolgo traja tipična integracija?
Preproste integracije (en sistem z drugim, ~5 končnih točk, ena smer sinhronizacije) izvedemo v 1-2 tednih. Zapletene (dvosmerna sinhronizacija, številne entitete, preslikave, transformacije, deduplikacija) trajajo 4-8 tednov. Integracije s številnimi sistemi hkrati (hub-and-spoke) načrtujemo fazno, z dostavo poslovne vrednosti v iteracijah 2-3 tedne.
Kaj z zgodovinskimi podatki pri novi integraciji?
Vsak integracijski projekt ima ločeno fazo zgodovinske migracije. Najprej popolna analiza: koliko zapisov, katere vrste podatkov, kje so dvojniki, katera polja so obvezna in katera neobvezna. Nato migracijska skripta z dry-run, revizijsko sledjo (kaj je bilo preneseno, kaj zavrnjeno, zakaj) in načrtom rollback. Migracija izvedena v servisnem oknu ali inkrementalno, odvisno od poslovnega tveganja.
Ali mora integracija delovati 24/7?
Odvisno od poslovne kritičnosti. Spletni procesi (plačila, avtorizacije) zahtevajo visoko razpoložljivost — načrtujemo jih z redundanco (load balancer, multiple instances, health checks, auto-restart). Nočni procesi (poročila, paketne sinhronizacije) lahko delujejo v servisnih oknih. Vsako integracijo klasificiramo v SLA: čas odziva p95, sprejemljivi mesečni downtime, RTO/RPO.
Kako spremljate produkcijske integracije?
Vsaka integracija javlja metrike v Prometheus (request rate, error rate, latency p50/p95/p99), loge v centralni SIEM (Wazuh), napake v Sentry. Alerti pri padcu pretočnosti, naraščanju error rate ali timeoutih. Nadzorna plošča prikazuje stanje vseh integracij na enem mestu — operater vidi, da ima npr. integracija z dobaviteljem X 3% napak, medtem ko preostali delujejo gladko.
Kaj z varnostjo pri zunanjih integracijah?
Vsaka integracija uporablja najmanjše potrebne pravice (least privilege). Ključe in tokene hranimo v HashiCorp Vault (ne v .env datotekah, ne v kodi). Komunikacija vedno prek TLS 1.2+, certifikati preverjeni (nikoli verify=False). Vhodni webhooks imajo HMAC signature verification. Po izteku tokena — takojšnja rotacija, audit log prikazuje kaj in kdaj je bilo narejeno.
Kako se integracija prek ESKOM AI razlikuje od klasičnega ESB (Enterprise Service Bus)?
Klasični ESB (Mule, BizTalk, WebMethods) je monolitna platforma, draga v licencah, zahteva dedicirano ekipo. Naš model: integracijske mikrostoritve, vsaka integracija kot ločena komponenta z lastno uvedbo in monitoringom, infrastruktura na podlagi open source (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Nižji stroški licenc, lažje vzdrževanje, brez vendor lock-in. Za del strank je to finančni argument, za del — strateški.
Ali se integrirate s slovenskimi javnimi sistemi (AJPES, eDavki, eUprava)?
Da. V produkciji imamo mikrostoritev, ki se integrira s KRS in CRBR (rejestrfirm.eskom.ai — podatki 740k+ podjetij z dejanskimi lastniki). Za slovenske registre (AJPES, eDavki) imamo pripravljene integracijske komponente. eUprava, e-vročanja — dostopni prek Microsoft Graph API in neposrednih integracij. Popolna skladnost s slovenskim pravom (GDPR, obveznosti poročanja).

Imate integracijski projekt?

Začnemo z brezplačno revizijo — preslikamo trenutne tokove podatkov, prepoznamo ozka grla in predlagamo načrt v jasnih fazah.