Decyzja

Integracja łączy dwa systemy operacyjne, nie tylko dwa punkty końcowe. Przed wdrożeniem należy określić wymieniane rejestry, organ dla każdego pola, uwierzytelnianie, oczekiwany czas i osobę odpowiedzialną za wstrzymanie transferu. Udane żądanie testu odpowiada tylko na niewielką część tego kontraktu.

Przykład roboczy

Dla ilustrujące połączenie wysyłki, tworzenie zamówienia, korekta adresu, wysłanie i anulowanie. Należy zachować identyfikator wewnętrznego zlecenia powiązany z identyfikatorem przewoźnika. Zdecyduj, co się stanie, jeśli etykieta zostanie utworzona, ale odpowiedź jest utracona; ponowne próby ślepo może utworzyć inną dostawę.

Alternatywy warte ważenia

Interaktywność połączeń bezpośrednich wymaga natychmiastowej odpowiedzi. Trwałe kombinezony kolejki, które mogą być kontynuowane po wyjściu użytkownika. Zaplanowane uzgadnianie danych może wykryć dane pominięte w każdej trasie. Mechanizmy te mogą współistnieć, ale każdy potrzebuje jasnego statusu, jaki rozumie zespół operacyjny.

Gdzie plan się psuje

Nie należy zakopywać konkretnych pól w całej aplikacji. Użyj granicy mapowania i potwierdzaj dane przychodzące, zanim stanie się rekordem biznesowym. Zróżnicowane usterki przejściowe z niepoprawnego na stałe adresu; wielokrotne wysyłanie tego samego złego ładunku nie jest odzyskiwaniem.

Napisz kontrakt rekordowy w języku biznesowym

Dla przykładu wysyłki, proszę opisać każde państwo, które operator może zobaczyć: czekanie na zgłoszenie, przyjęcie przez przewoźnika, wysłanie, anulowanie lub żądanie uwagi. Dokument, który identyfikuje połączenia obu systemów i które zdarzenia mogą przenieść rekord między państwami. Reakcja transportowa może oznaczać jedynie, że wniosek przyszedł; przedsiębiorstwo może nadal potrzebować późniejszego potwierdzenia. Zachować to rozróżnienie widoczne zamiast przekształcania każdej udanej odpowiedzi sieciowej w kompletną przesyłkę.

Zapisz znaczenie brakujących pól, stref czasowych, jednostek i wartości opcjonalnych. Pusta instrukcja dostawy może oznaczać brak instrukcji, podczas gdy pominięte pole w aktualizacji może oznaczać pozostawienie bieżącej wartości bez zmian. Przetestuj te znaczenia z prawdziwym kontraktem. Spytaj właściciela API o rotację uwierzytelniania, limity żądań, obsługiwane wersje i reprezentatywne środowisko testowe. Zapisuj niezweryfikowane odpowiedzi jako otwarte zależności zamiast włączania ich do pewnego terminu dostawy.

Daj przerywany transfer właściciela odzysku

Załóżmy, że przewoźnik tworzy etykietę, ale połączenie zamyka się przed otrzymaniem identyfikatora. Ścieżka odzyskiwania zależy od możliwości dostawcy: obsługiwany klucz idepotencji lub przeszukiwanie przez referencje może rozwiązać go bezpiecznie. Jeżeli nie istnieje, należy zatrzymać przedmiot do zbadania zamiast ślepego tworzenia innej przesyłki. Wykazać tę ścieżkę lokalną fałszywą usługą lub autoryzowaną piaskownicą, a nie prawdziwym zamówieniem klienta.

Podać widok operatora lub polecenie prywatne, które pokazuje jeden nieudany odniesienie, jego kategorię bezpiecznych błędów i ostatni potwierdzony stan działalności. Ponowne odtworzenie elementu powinno zachować jego logiczną tożsamość i przejść taką samą walidację jak pierwsza próba. Przypisz prawo własności, zmiany map i codzienną obsługę wyjątków. Zmodyfikowany przykładowy ładunek użytkowy i mały test umowy mogą ujawnić zmiany dostawcy wcześniej, ale nadal wymagają kogoś do podjęcia decyzji, jak zmienić znaczenie biznesowe powinny być traktowane.

Przed zleceniem pracy

Kto jest właścicielem konta API? Czy istnieje reprezentatywne środowisko testowe? Czy operatorzy mogą znaleźć i bezpiecznie odtworzyć jeden nieudany rekord? Odpowiadać na te pytania z partnerem integracji i zgodzić się na przykłady akceptacji porażki i sukcesu.

Usługi

Integracja systemów

Spraw, aby Twoje narzędzia działały razem.

Porozmawiaj o tej usłudze