Pillar stranica

Integracija sustava za tvrtke

Povezujemo ERP, CRM, računovodstvene sustave, kadrovsko-platne, registre tvrtki, MS Graph, Salesforce, SAP. Integracije putem API-ja, redova poruka, ETL-a, webhookova — s potpunom kontrolom kvalitete, revizijskim tragom i produkcijskim monitoringom.

Srednja tvrtka koristi desetak do nekoliko desetaka poslovnih aplikacija. Svaka pohranjuje fragmente istih podataka — klijenta, fakture, zaposlenika, narudžbe. Bez integracije zaposlenici provode sate dnevno u ručnom prepisivanju, izvozu i uvozu podataka između sustava.

Integracija sustava nije luksuz — to je temelj digitalne transformacije. Uz dobro projektiranu integraciju: klijent dodan u CRM pojavljuje se u ERP-u bez intervencije, faktura izdana u računovodstvu ažurira financijsku ploču direktora, status narudžbe je dosljedan u internetskoj trgovini, skladištu i korisničkoj službi.

Zašto su integracije teške?

Svaki sustav ima svoj model podataka, vlastiti naziv za ista polja, vlastitu sekvencu operacija, vlastita ograničenja API-ja (limiti, kašnjenja, prolazne greške). Dva sustava mogu se činiti „kompatibilnima" u teoriji, ali u praksi zahtijevaju tjedne rada na mapiranjima, transformacijama, obradi edge-case'ova i rješavanju konflikata.

Druga razina poteškoće je produkcijska pouzdanost. Integracija koja ispravno radi u dev okruženju je ~30% puta. Preostalih 70% je obrada iznimnih situacija: vanjski sustav je nedostupan, promijenio je API ugovor, vraća neočekivane podatke, u CRM je uveden novi klijent s hrvatskim znakovima koje stari ERP ne podržava. Svaki takav slučaj zahtijeva promišljanje, test i upozorenje kada se dogodi.

Vrste integracija

Šest osnovnih obrazaca. U većini projekata kombiniramo nekoliko, birajući metodu za konkretan slučaj.

REST API / GraphQL

Sinkrona komunikacija između aplikacija. JSON kao format razmjene, OAuth2/JWT za autorizaciju, OpenAPI/Swagger za dokumentaciju. Najčešći izbor za moderne cloud sustave.

Redovi poruka

RabbitMQ, Redis Streams, Kafka — asinkrona razmjena kada pošiljatelj ne čeka primatelja. Idealno za obavijesti, poslovne događaje, dugotrajne operacije. Jamstvo isporuke + retry.

ETL / ELT

Skupno učitavanje podataka u skladište (Snowflake, BigQuery, Redshift, lokalni PostgreSQL). Airflow ili dbt kao orkestrator, validacija kvalitete podataka (Great Expectations), monitoring lineage.

Webhooks

Push obavijesti iz izvornog sustava (Stripe, GitHub, Slack, Salesforce) u našu aplikaciju. HMAC signature verifikacija, idempotentnost, dead-letter queue za neuspjele isporuke.

SOAP / XML

Stariji enterprise sustavi (SAP, Oracle, bankarstvo, osiguranje) — potpuna podrška WSDL-a, XSD validacija, WS-Security. Adapter na moderne protokole za ostatak sustava.

Baze podataka — replikacija, CDC

Change Data Capture (Debezium, AWS DMS) za streaming replikaciju promjena iz izvorne baze u ciljnu. Logical replication PostgreSQL za high-availability i izvještaje.

Šest ključnih produkcijskih izazova

Stvari na koje pazimo u svakom integracijskom projektu. Nedostatak bilo kojeg od ovih elemenata = tempirana bomba.

Idempotentnost

Svaki zahtjev izvršen višestruko daje isti rezultat. Idempotentni ključevi u zaglavljima, deduplikacija na razini aplikacije, transakcije oko kritičnih operacija.

Retry i backoff

Privremene mrežne greške su norma. Exponential backoff (1s, 2s, 4s, 8s...), jitter za izbjegavanje thundering herd, circuit breaker nakon N neuspjelih pokušaja.

Mapiranje i transformacije

Sustav A naziva polje "client_id", sustav B "customerId", sustav C "id_klienta". Centralni katalog mapiranja, transformacije na jednom mjestu, testovi svake transformacije.

Eventual consistency

Podaci u dva sustava nikada nisu 100% dosljedni u realnom vremenu. Prihvaćamo kašnjenja (obično sekunde), pratimo drift, upozoravamo kod duljih razlika.

Revizija i compliance

Svaka integracijska operacija bilježi: tko/što/kada/odakle/kamo, payload (anonimiziran ako sadrži PII), rezultat. Audit log zadovoljava zahtjeve GDPR-a i ISO 27001.

Skaliranje i troškovi

Integracije rastu s biznisom. Horizontal scaling (više instanci), rate limiting (zaštita od prekomjernih zahtjeva), monitoring troškova po integraciji.

Kako realiziramo integracijski projekt

  1. Discovery (1-2 tjedna): mapiranje trenutnih tokova podataka, identifikacija izvora istine za svaki entitet, prikupljanje API ugovora, procjena rizika i ovisnosti.
  2. Architecture design (1 tjedan): odabir obrazaca (sinkrono vs asinkrono, push vs pull, hub-and-spoke vs point-to-point), shema audit loga, plan monitoringa.
  3. Pilot na jednom entitetu (2-3 tjedna): realiziramo integraciju za jedan tip podataka (npr. klijenti) end-to-end. Validacija ugovora, load testovi, dry-run na testnom okruženju.
  4. Proširenje na ostale entitete (4-8 tjedana): sljedeće sinkronizacije (fakture, narudžbe, proizvodi) s istim obrascem. Svaka implementacija prethodi Change Request i regresijski testovi.
  5. Povijesna migracija (1-3 tjedna): prijenos postojećih podataka. Dry-run, revizija, plan rollbacka. Migracija inkrementalna ili u servisnom prozoru.
  6. Hypercare (4 tjedna nakon produkcije): intenzivan monitoring, brz odgovor na incidente, prilagodba upozorenja. Nakon hypercarea prijelaz na standardno održavanje.

Primjeri realiziranih integracija

KRS + CRBR — RejestrFirm

Mikroservis koji povezuje podatke iz Poljskog sudskog registra (740k+ tvrtki) s Centralnim registrom stvarnih vlasnika. Smart caching (24h), dual-source s automatic fallbackom, 15+ REST endpointa. Koristi se u KYC procesima, provjeri ugovornih strana, generiranju compliance izvještaja.

SSO s više aplikacija

Centralna platforma Keycloak (realm eskom-ai) integrirana s desetak klijentskih aplikacija. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), provisioning korisnika, naplata temeljena na potrošnji LLM tokena. Single sign-on za sve proizvode ESKOM AI.

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

Integracija s Microsoft 365 za automatizaciju kalendara (ugovaranje sastanaka preko AI asistenta), slanje transakcijskih e-mailova, arhiviranje dokumenata. OAuth2 s delegated permissions, refresh tokeni u Vaultu, monitoring rate limita Graph API-ja.

LLM Proxy — multi-provider routing

Centralni red koji povezuje više pružatelja LLM-a (Anthropic, OpenAI, lokalni Ollama). Routing po zadatku (sitno — lokalni model, složeno — Claude Opus), cache odgovora, monitoring troškova po projektu, fail-over između pružatelja.

Najčešća pitanja

Što znači integracija sustava?
Integracija sustava je proces povezivanja dvije ili više aplikacija tako da mogu razmjenjivati podatke, pokretati događaje jedna u drugoj i održavati dosljednost informacija. U praksi: kada se klijent doda u CRM, automatski se pojavljuje u ERP-u; kada se faktura izda u računovodstvu, podaci idu u CRM i analitiku. Bez integracije tvrtka žonglira podacima ručno (CSV izvozi, kopiranje između sustava), što generira pogreške, kašnjenja i troškove.
Koje integracijske tehnologije koristite?
Izbor tehnologije ovisi o kontekstu: REST API i webhooks za moderne cloud sustave, SOAP/XML za starije ERP/bankarstvo, message queues (RabbitMQ, Redis Streams, Kafka) za asinkronu razmjenu, ETL/ELT za napajanje skladišta podataka, GraphQL kada klijent želi fleksibilnost. Često kombiniramo pristupe — sinkrono tamo gdje korisnik čeka rezultat, asinkrono tamo gdje je važna propusnost.
Kvare li se integracije kod ažuriranja izvornih sustava?
To je jedan od najvećih problema integracije — i zato gradimo adaptere s izolacijom (anti-corruption layer). Vanjski sustav mijenja ugovor → mijenja se samo adapter, ostatak integracije bez promjena. Dodatno: ugovori su verzionirani (v1, v2), integracijski testovi pokreću se dnevno na sandbox API-ju, Sentry/Wazuh upozorenja kod promjene formata odgovora. Klijent saznaje za problem prije nego što dođe do korisnika.
Koliko traje tipična integracija?
Jednostavne integracije (jedan sustav s drugim, ~5 endpointa, jedan smjer sinkronizacije) realiziramo u 1-2 tjedna. Složene (dvosmjerna sinkronizacija, desetak entiteta, mapiranja, transformacije, deduplikacija) traju 4-8 tjedana. Integracije s više sustava istovremeno (hub-and-spoke) projektiramo fazno, isporučujući poslovnu vrijednost u iteracijama od 2-3 tjedna.
Što s povijesnim podacima kod nove integracije?
Svaki integracijski projekt ima zasebnu fazu povijesne migracije. Najprije potpuna analiza: koliko zapisa, koje vrste podataka, gdje su duplikati, koja su polja obavezna, a koja opcionalna. Potom skripta za migraciju s dry-runom, revizijskim tragom (što je preneseno, što odbačeno, zašto) i planom rollbacka. Migracija se izvodi u servisnom prozoru ili inkrementalno, ovisno o poslovnom riziku.
Mora li integracija raditi 24/7?
Ovisi o poslovnoj kritičnosti. Online procesi (plaćanja, autorizacije) zahtijevaju visoku dostupnost — projektiramo ih s redundancijom (load balancer, multiple instances, health checks, auto-restart). Noćni procesi (izvještaji, batch sinkronizacije) mogu raditi u servisnim prozorima. Svaku integraciju klasificiramo u SLA: vrijeme odgovora p95, prihvatljiv mjesečni downtime, RTO/RPO.
Kako pratite produkcijske integracije?
Svaka integracija šalje metrike u Prometheus (request rate, error rate, latency p50/p95/p99), logove u centralni SIEM (Wazuh), greške u Sentry. Upozorenja kod pada propusnosti, porasta error rate-a ili timeouta. Dashboard prikazuje stanje svih integracija na jednom mjestu — operater vidi da npr. integracija s dobavljačem X ima 3% grešaka, dok ostatak radi glatko.
Što sa sigurnošću kod vanjskih integracija?
Svaka integracija koristi najmanje potrebne ovlasti (least privilege). Ključeve i tokene pohranjujemo u HashiCorp Vaultu (ne u .env datotekama, ne u kodu). Komunikacija uvijek preko TLS 1.2+, certifikati se provjeravaju (nikada verify=False). Dolazni webhooks imaju HMAC signature verifikaciju. Nakon curenja tokena — trenutna rotacija, audit log pokazuje što je i kada učinjeno.
Po čemu se integracija putem ESKOM AI razlikuje od klasičnog ESB-a (Enterprise Service Bus)?
Klasični ESB (Mule, BizTalk, WebMethods) je monolitna platforma, skupa za licenciranje, koja zahtijeva dedicirani tim. Naš model: integracijski mikroservisi, svaka integracija kao zasebna komponenta s vlastitom implementacijom i monitoringom, infrastruktura temeljena na open sourceu (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Niži trošak licenci, jednostavnije održavanje, bez vendor lock-ina. Za dio klijenata to je financijski argument, za dio — strateški.
Integrirate li se s poljskim javnim sustavima (KRS, CRBR, KSeF, ePUAP)?
Da. U produkciji imamo mikroservis koji se integrira s KRS-om i CRBR-om (rejestrfirm.eskom.ai — podaci za 740k+ tvrtki s beneficial owners). KSeF (e-fakturiranje) — imamo gotove integracijske komponente u projektu Kontroling. ePUAP, e-dostave — dostupno preko Microsoft Graph API-ja i izravnih integracija. Potpuna usklađenost s poljskim zakonom (GDPR, obveze izvješćivanja).

Imate integracijski projekt?

Započinjemo besplatnom revizijom — mapiramo trenutne tokove podataka, identificiramo uska grla i predlažemo plan u jasnim fazama.