Transferuri într-un sens
Datele trec dintr-un sistem în altul, după program sau la un eveniment.
Integrare de sisteme
Conectez sistemele pe care le folosești deja, ca datele să circule singure, fără copy-paste, și ca două programe să nu mai fie în dezacord despre care versiune e cea bună.
Face parte din Dezvoltare pentru ce folosește echipa ta
Recunoști situația
Feluri de conexiune
Care e potrivit ține de ce permit sistemele tale și de cine trebuie să poată schimba ce. Asta se decide înainte să se construiască ceva, nu după.
Datele trec dintr-un sistem în altul, după program sau la un eveniment.
Ambele părți pot schimba, iar o regulă decide care câștigă.
O valoare e verificată în celălalt sistem chiar în momentul în care e tastată.
Istoricul mutat o dată, curățat, fără să îl retasteze nimeni.
Celălalt sistem ne spune în clipa în care se întâmplă ceva, în loc să întrebăm noi.
Datele tale ies într-un format pe care alt sistem, sau alt dezvoltator, îl poate citi.
Doar un exemplu. Ce expune o conexiune depinde de sistemele implicate.
O singură sursă de adevăr
Cele mai multe probleme de integrare nu sunt tehnice. Încep atunci când nimeni nu a spus care sistem are dreptate despre o adresă de client, un preț sau un stoc, iar amândouă continuă să îl schimbe.
Verificat la introducere
Un cod, un număr de înregistrare, o referință de client: pot fi verificate în sistemul care le deține chiar în momentul în care cineva le introduce, în loc să fie descoperite greșite când se întoarce o factură.
O valoare, verificată
Când cade cealaltă parte
Sistemele la care te conectezi vor fi uneori indisponibile. E normal. Ce nu e normal e să pierzi munca aflată în tranzit, sau să afli peste săptămâni că o zi de date nu a ajuns niciodată.
La ce te poți uita când ceva merge prost
09:14:02INFO
09:14:02INFO
09:14:03INFO
09:15:11WARN
09:15:11INFO
09:15:41ERR
09:15:41INFO
09:23:07INFO
09:23:07INFO
09:23:08INFO
Același lucru, de două ori
Sistemele se repetă. O notificare pornește din nou, o reluare reușește totuși, cineva apasă de două ori. Dacă nu e tratat, așa ajunge un client cu două facturi pentru o singură livrare.
Evenimentul, prima dată
{
"event_id": "evt_8f21c4",
"type": "order.confirmed",
"order_id": 4417,
"signature": "verified",
"applied": true
}
Același eveniment, din nou
{
"event_id": "evt_8f21c4",
"applied": false,
"reason": "already applied",
"orders_created": 1
}
Se poate pleca
Furnizorii se schimbă: prețurile cresc, un serviciu se închide, găsești unul mai bun. Fiecare conexiune se construiește în spatele graniței ei, așa că înlocuirea ei e o bucată de muncă, nu o rescriere a felului în care merge afacerea ta.
Ce rămâne al tău
Conexiunea
Un furnizor, o graniță
Înlocuibilă singură
Fără reguli de business în ea
Documentată, nu ținută minte
Al tău oricum
Regulile afacerii tale
Datele de pe ambele părți
Conturile și datele de acces
Codul sursă
Cum decurge
Ce expune fiecare sistem, ce refuză și ce acces ai efectiv.
Care parte are dreptate despre ce, și ce se întâmplă când se contrazic.
Întâi pe mediul de test al celeilalte părți, niciodată direct pe date reale. Legătura însăși trece printr-un middleware propriu, cu straturi de securitate, pe un VPS cu tunel VPN.
Merge pe trafic real cât timp încă se uită cineva, înainte să capete încredere.
Cât costă
Întrebări
În principiu, orice sistem care oferă o cale de intrare: ERP, CRM, magazin online, contabilitate și facturare, curieri, procesatori de plăți, email. Dintre cele pe care le-am conectat deja în producție: SmartBill, Netopia și Stripe. Care dintre ale tale se califică e printre primele lucruri pe care le aflăm, pentru că decide și ce e posibil, și cât costă.
Da, și rulează deja în producție la un client: factura pleacă în XML către SPV, iar clientul o primește și în PDF, pe mail. Facturarea e locul unde se vede cel mai repede la ce e bună o conexiune, pentru că documentul se emite o dată, în sistemul care îl deține, și ajunge singur și la stat, și la clientul tău.
Atunci ne uităm la ce altceva oferă: un export programat, o bază de date pe care avem voie să o citim, un fișier pe care îl poate lăsa undeva. Dacă nu există nici asta, îți spun, în loc să construiesc ceva fragil care se rupe prima dată când cealaltă parte schimbă un ecran.
Prețul se stabilește per proiect, după ce am văzut ce permit sistemele tale. Trei lucruri mișcă cifra: câte sisteme sunt implicate, dacă au o cale de intrare utilizabilă și cât istoric trebuie mutat la început.
Acela e punctul normal de plecare, și e mai bine să știi înainte decât după. O parte din muncă e să decidem ce se întâmplă cu înregistrările care se contrazic: care versiune câștigă, ce se corectează și ce se lasă în pace pentru că e istorie.
Ce nu poate fi livrat e ținut în ordine și trimis din nou când revine cealaltă parte. Un om e anunțat dacă indisponibilitatea ține mai mult decât s-a convenit. Poți vedea ce așteaptă și de când, ca să nu ghicească nimeni.
Acordul de confidențialitate se semnează înainte să primesc vreun acces, nu după. Ordinea asta e deliberată: cine lasă pe cineva în sistemele lui își asumă ceva, iar semnătura vine prima tocmai ca să nu fie nevoie să te bazezi pe cuvântul meu. Accesul e cât îmi trebuie ca să văd ce e acolo, ține cât lucrăm împreună, și îl poți revoca oricând.
Tu. Conturile și datele de acces sunt ale tale din prima zi, codul sursă e al tău, iar felul în care e conectat totul e scris undeva, nu ținut în capul cuiva. Fiecare conexiune stă în spatele graniței ei, așa că alt dezvoltator poate înlocui una fără să atingă restul.
Primul pas e să aflăm ce ne lasă ele să facem.