Technologia w praktyce

Integracje systemów i API

Dane powinny docierać do właściwego miejsca bez zbędnego przepisywania — ale zawsze według jasnych zasad.

Integracja to więcej niż samo połączenie

Integracja umożliwia wymianę informacji między narzędziami. API jest jednym ze sposobów jej realizacji: określa, jakie operacje system udostępnia i jak można z nich korzystać. Sam fakt istnienia API nie oznacza jeszcze zgodności danych, pełnego dostępu ani gotowego połączenia.

Najpierw trzeba ustalić, jaki proces integracja wspiera. Dopiero potem wybiera się zakres danych, kierunek wymiany, częstotliwość aktualizacji i sposób rozstrzygania konfliktów.

Ustal jedno źródło prawdy dla każdej informacji

Gdy dwa systemy przechowują te same dane, należy określić, który z nich jest nadrzędny w danym obszarze. Bez tego zmiana dokonana przez jednego użytkownika może zostać nadpisana przez drugi system.

Osobno trzeba przemyśleć identyfikatory, słowniki, jednostki i formaty. Przykładowo identyczna nazwa statusu nie zawsze oznacza ten sam etap procesu. Mapowanie pojęć jest często ważniejsze niż sama techniczna wysyłka danych.

Błąd połączenia nie może oznaczać utraty sprawy

System zewnętrzny może chwilowo nie odpowiadać. Projekt integracji powinien obejmować limit oczekiwania, kontrolowane ponowienia, informację o błędzie i możliwość sprawdzenia wyniku.

Szczególną uwagę warto poświęcić powtórzeniom: ponowne wysłanie tego samego żądania nie powinno nieświadomie tworzyć drugiej sprawy lub podwójnego zamówienia. Wymaga to ustalonych identyfikatorów operacji i właściwej obsługi po obu stronach.

Udostępniaj tylko potrzebne dane

Klucz integracyjny powinien mieć zakres uprawnień odpowiadający konkretnemu zadaniu. Nie ma potrzeby udostępniania całej bazy, gdy proces wymaga tylko wybranego zestawu informacji. Ważne są również zasady przechowywania kluczy i możliwość ich unieważnienia.

Dokumentacja powinna określać odpowiedzialność za utrzymanie połączenia, limity dostawców i reakcję na zmianę API. Integracja, która działa dziś, wymaga również planu obsługi kolejnych wersji.

Podejście LUGAVELLI

W rozwoju własnego oprogramowania uwzględniamy możliwość współpracy z otoczeniem technologicznym firmy. Nie deklarujemy gotowej integracji z konkretnym dostawcą, dopóki jej zakres i działanie nie zostaną zweryfikowane.

Do pierwszej rozmowy przygotuj nazwy używanych narzędzi, opis danych do wymiany i oczekiwany efekt. Nie przesyłaj kluczy API ani haseł w formularzu. Na tym etapie potrzebujemy informacji o procesie, nie dostępu do systemów.