Pillar page

Integrare sisteme pentru companii

Conectăm ERP, CRM, sisteme contabile, HR/salarizare, registre de companii, Microsoft Graph, Salesforce, SAP. Integrări prin API-uri, cozi, ETL și webhook-uri — cu control complet al calității, audit trail și monitorizare în producție.

O companie de dimensiune medie folosește între o duzină și câteva zeci de aplicații de business. Fiecare stochează fragmente din aceleași date — client, factură, angajat, comandă. Fără integrare, angajații petrec ore în fiecare zi reintroducând manual, exportând și importând date între sisteme.

Integrarea sistemelor nu este un lux — este fundamentul transformării digitale. Cu un strat de integrare bine proiectat: un client adăugat în CRM apare în ERP fără intervenție, o factură emisă în contabilitate actualizează dashboard-ul financiar al CEO-ului, statusul unei comenzi este consistent în magazinul online, depozit și serviciul clienți.

De ce este dificilă integrarea?

Fiecare sistem are propriul model de date, propriul nume pentru același câmp, propria secvență de operații, propriile constrângeri API (rate limits, latență, erori tranzitorii). Două sisteme pot părea „compatibile" în teorie, dar în practică au nevoie de săptămâni de muncă pe mapări, transformări, gestionarea cazurilor limită și rezolvarea conflictelor.

Al doilea strat de dificultate este fiabilitatea în producție. O integrare care funcționează corect în mediul dev reprezintă aproximativ 30% din drum. Restul de 70% înseamnă gestionarea situațiilor excepționale: sistemul extern este indisponibil, și-a schimbat contractul API, returnează date neașteptate, apare un client nou în CRM cu caractere pe care ERP-ul legacy nu le poate gestiona. Fiecare astfel de caz necesită gândire, un test și o alertă când apare.

Tipuri de integrare

Șase pattern-uri fundamentale. În majoritatea proiectelor combinăm mai multe, alegând metoda potrivită pentru fiecare caz.

REST API / GraphQL

Comunicare sincronă între aplicații. JSON ca format de schimb, OAuth2/JWT pentru autorizare, OpenAPI/Swagger pentru documentație. Cea mai comună alegere pentru sisteme cloud moderne.

Cozi de mesaje

RabbitMQ, Redis Streams, Kafka — schimb asincron când expeditorul nu așteaptă destinatarul. Perfecte pentru notificări, evenimente de business, operații de durată. Garanție de livrare + retry.

ETL / ELT

Încărcare batch a datelor într-un depozit (Snowflake, BigQuery, Redshift, PostgreSQL on-premise). Airflow sau dbt ca orchestrator, validare a calității datelor (Great Expectations), monitorizare lineage.

Webhooks

Notificări push de la un sistem sursă (Stripe, GitHub, Slack, Salesforce) către aplicația noastră. Verificare semnătură HMAC, idempotență, dead-letter queue pentru livrările eșuate.

SOAP / XML

Sisteme enterprise legacy (SAP, Oracle, bancare, asigurări) — suport complet WSDL, validare XSD, WS-Security. Adaptor către protocoale moderne pentru restul sistemului.

Baze de date — replicare, CDC

Change Data Capture (Debezium, AWS DMS) pentru replicarea în flux a modificărilor dintr-o bază sursă către una țintă. Replicare logică PostgreSQL pentru high availability și raportare.

Șase provocări cheie în producție

Aspecte la care suntem atenți în fiecare proiect de integrare. Lipsa oricăruia dintre acestea = bombă cu ceas.

Idempotență

Fiecare cerere executată de mai multe ori produce același rezultat. Chei de idempotență în headere, deduplicare la nivel de aplicație, tranzacții în jurul operațiilor critice.

Retry și backoff

Erorile tranzitorii de rețea sunt norma. Exponential backoff (1s, 2s, 4s, 8s…), jitter pentru a evita thundering herd, circuit breaker după N încercări eșuate.

Mapare și transformări

Sistemul A denumește un câmp "client_id", sistemul B "customerId", sistemul C "id_klienta". Un catalog central de mapări, transformări într-un singur loc, teste pentru fiecare transformare.

Consistență eventuală

Datele în două sisteme nu sunt niciodată 100% consistente în timp real. Acceptăm latența (tipic secunde), monitorizăm drift-ul și alertăm la divergențe prelungite.

Audit și conformitate

Fiecare operație de integrare logează: cine/ce/când/de unde/încotro, payload (anonimizat dacă conține PII), rezultatul. Audit log-ul îndeplinește cerințele GDPR și ISO 27001.

Scalare și cost

Integrările cresc odată cu business-ul. Scalare orizontală (mai multe instanțe), rate limiting (protecție împotriva cererilor excesive), monitorizare cost per integrare.

Cum livrăm un proiect de integrare

  1. Discovery (1-2 săptămâni): maparea fluxurilor de date curente, identificarea sursei de adevăr pentru fiecare entitate, colectarea contractelor API, evaluarea riscurilor și dependențelor.
  2. Proiectare arhitectură (1 săptămână): alegerea pattern-urilor (sync vs. async, push vs. pull, hub-and-spoke vs. point-to-point), schema audit log-ului, plan de monitorizare.
  3. Pilot pe o singură entitate (2-3 săptămâni): livrăm integrarea pentru un tip de date (de exemplu clienți) end-to-end. Validare contracte, teste de încărcare, dry-run în mediul de test.
  4. Extindere la celelalte entități (4-8 săptămâni): sincronizări ulterioare (facturi, comenzi, produse) folosind același pattern. Fiecare lansare precedată de un Change Request și teste de regresie.
  5. Migrare date istorice (1-3 săptămâni): mutarea datelor existente. Dry-run, audit, plan de rollback. Migrare incrementală sau într-o fereastră de service.
  6. Hypercare (4 săptămâni în producție): monitorizare intensivă, răspuns rapid la incidente, ajustarea alertelor. După hypercare, tranziție către mentenanța standard.

Exemple de integrări livrate

KRS + CRBR — RejestrFirm

Microserviciu care conectează date din Registrul Național Polonez al Companiilor (740k+ firme) cu Registrul Central al Beneficiarilor Reali. Smart caching (24h), dual-source cu fallback automat, 15+ endpoint-uri REST. Folosit în procese KYC, verificarea contrapartidelor și raportare de conformitate.

SSO cu mai multe aplicații

Platformă centrală Keycloak (realm eskom-ai) integrată cu o duzină de aplicații client. OAuth2/OIDC + PKCE, social login (Google, Microsoft, Apple, Facebook), provisioning utilizatori, billing bazat pe utilizarea de tokeni LLM. Single sign-on pentru toate produsele ESKOM AI.

Microsoft Graph — calendare, e-mail, OneDrive

Integrare cu Microsoft 365 pentru automatizarea calendarului (asistent AI care programează întâlniri), livrare de e-mailuri tranzacționale, arhivare documente. OAuth2 cu permisiuni delegate, refresh tokens în Vault, monitorizare rate limits Graph API.

LLM Proxy — rutare multi-provider

Coadă centrală care conectează mai mulți furnizori LLM (Anthropic, OpenAI, Ollama local). Rutare per sarcină (mici — model local, complexe — Claude Opus), cache răspunsuri, monitorizare cost per proiect, fail-over între furnizori.

Întrebări frecvente

Ce înseamnă integrarea sistemelor?
Integrarea sistemelor este procesul de conectare a două sau mai multe aplicații astfel încât să poată schimba date, declanșa evenimente unele în altele și să rămână consistente. În practică: când un client este adăugat în CRM, apare automat în ERP; când o factură este emisă în contabilitate, datele ajung în CRM și analytics. Fără integrare, compania jonglează manual cu datele (exporturi CSV, copiere între sisteme), ceea ce generează erori, întârzieri și costuri.
Ce tehnologii de integrare folosiți?
Alegerea tehnologiei depinde de context: REST API și webhooks pentru sisteme cloud moderne, SOAP/XML pentru ERP/bancare legacy, cozi de mesaje (RabbitMQ, Redis Streams, Kafka) pentru schimb asincron, ETL/ELT pentru alimentarea depozitelor, GraphQL când clientul vrea flexibilitate. Adesea combinăm abordările — sincron acolo unde utilizatorul așteaptă un rezultat, asincron acolo unde contează throughput-ul.
Se strică integrările când sunt actualizate sistemele sursă?
Este una dintre cele mai mari probleme în integrare — și de aceea construim adaptoare cu izolare (anti-corruption layer). Un sistem extern își schimbă contractul → doar adaptorul se schimbă, restul integrării rămâne neafectat. În plus: contractele sunt versionate (v1, v2), testele de integrare rulează zilnic pe API-uri sandbox, alerte Sentry/Wazuh se declanșează la schimbări de format de răspuns. Clientul află despre o problemă înainte să ajungă la utilizatorii finali.
Cât durează o integrare tipică?
Integrările simple (un sistem cu altul, ~5 endpoint-uri, sincronizare unidirecțională) sunt livrate în 1-2 săptămâni. Integrările complexe (sincronizare bidirecțională, o duzină de entități, mapări, transformări, deduplicare) durează 4-8 săptămâni. Integrările multi-sistem (hub-and-spoke) sunt planificate în faze, livrând valoare de business în iterații de 2-3 săptămâni.
Ce se întâmplă cu datele istorice într-o integrare nouă?
Fiecare proiect de integrare include o etapă separată de migrare istorică. Mai întâi o analiză completă: câte înregistrări, ce tipuri de date, unde sunt duplicate, ce câmpuri sunt obligatorii vs. opționale. Apoi un script de migrare cu dry-run, audit trail (ce s-a mutat, ce a fost respins, de ce) și plan de rollback. Migrarea are loc într-o fereastră de service sau incremental, în funcție de riscul de business.
Trebuie integrarea să ruleze 24/7?
Depinde de criticitatea pentru business. Procesele online (plăți, autorizări) necesită disponibilitate ridicată — le proiectăm cu redundanță (load balancer, instanțe multiple, health checks, auto-restart). Procesele de noapte (rapoarte, sincronizări batch) pot rula în ferestre de service. Clasificăm fiecare integrare cu un SLA: timp de răspuns p95, downtime lunar acceptabil, RTO/RPO.
Cum monitorizați integrările în producție?
Fiecare integrare emite metrici către Prometheus (request rate, error rate, latență p50/p95/p99), loguri către un SIEM central (Wazuh), erori către Sentry. Alertele se declanșează la căderi de throughput, vârfuri de error rate sau timeout-uri. Un dashboard arată starea tuturor integrărilor într-un singur loc — operatorul poate vedea, de exemplu, că integrarea cu furnizorul X are 3% rată de erori în timp ce restul rulează lin.
Cum stă treaba cu securitatea integrărilor externe?
Fiecare integrare folosește acces cu privilegii minime (least privilege). Cheile și tokenii trăiesc în HashiCorp Vault (nu în fișiere .env, nu în cod). Comunicarea se face întotdeauna prin TLS 1.2+, certificatele sunt verificate (niciodată verify=False). Webhook-urile de intrare au verificare de semnătură HMAC. La scurgerea unui token — rotație imediată, audit log-ul arată ce s-a întâmplat și când.
Cu ce diferă abordarea de integrare a ESKOM AI față de un ESB clasic (Enterprise Service Bus)?
ESB-urile clasice (Mule, BizTalk, WebMethods) sunt platforme monolitice — costisitoare ca licență și solicitând o echipă dedicată. Modelul nostru: microservicii de integrare, fiecare integrare ca o componentă separată cu propriul deployment și monitorizare, infrastructură construită pe open source (FastAPI, RabbitMQ, Redis, PostgreSQL, Vault). Cost de licență mai mic, mentenanță mai ușoară, fără vendor lock-in. Pentru unii clienți este un argument financiar, pentru alții — strategic.
Vă integrați cu sistemele publice poloneze (KRS, CRBR, KSeF, ePUAP)?
Da. În producție rulăm un microserviciu integrat cu KRS și CRBR (rejestrfirm.eskom.ai — date pentru 740k+ companii cu beneficiari reali). KSeF (e-facturare poloneză) — avem componente de integrare gata în proiectul Kontroling. ePUAP, e-livrări — disponibile prin Microsoft Graph API și integrări directe. Conformitate completă cu legea poloneză (GDPR, obligații de raportare).

Aveți un proiect de integrare?

Începem cu un audit gratuit — mapăm fluxurile de date curente, identificăm blocajele și propunem un plan în faze clare.