Systemy informatyczne warto ze sobą integrować, należy to jednak robić z głową - pamiętając o wzbogaceniu mechanizmów synchronizacyjnych o obsługę błędów. Jej brak może skutkować wieloma problemami, jak np. niespójność danych w zintegrowanych systemach - a wystąpienie duplikatów bądź luk w przechowywanych zasobach to zawsze bardzo nieprzyjemny scenariusz. Dziś parę słów o tym, jak rozpoznać dobry projekt integracji systemów, właściwie traktujący o obsłudze błędów.

Na czym polega błąd integracji?

Niezależnie od tego, jak dobrze nie zostałaby zaprojektowana i wykonana integracja systemów informatycznych, podczas jej eksploatacji mogą pojawić się pewne problemy - błędy synchronizacji danych. Najczęściej wynikają one z braku możliwości nawiązania połączenia między systemami, będącego skutkiem np. czasowej niedostępności jednego z nich (np. awaria) bądź braku dostępu do sieci.

Przykładowo: w sklepie internetowym firmy Super-Sell przyjęto zamówienie. W wyniku działającej integracji sklepu internetowego z systemem kurierskim, przyjęcie zamówienia skutkuje automatycznym wezwaniem kuriera po odbiór zapakowanego towaru. W związku z powyższym, sklep internetowy wysyła informację do systemu kurierskiego o oczekującej przesyłce - jednak system kurierski jest chwilowo przeciążony i komunikat sklepu internetowego nie może do niego dotrzeć. Towar, mimo że zakupiony przez klienta, nie zostanie wysłany na skutek usterki technicznej. Sytuacja, na którą żaden profesjonalny sklep internetowy nie może sobie pozwolić. Co teraz?

Opisany przypadek, a także szereg podobnych, ale wynikających z innej przyczyny, należy obsłużyć - czyli wykonać rozwiązanie integracyjne w taki sposób, aby pojawiające się problemy (a tych nie możemy wykluczyć) były rozwiązywane automatycznie, bez ludzkiej ingerencji.

Dobra obsługa błędów integracji systemów, czyli jaka?

  • System, który jest stroną aktywną integracji (a więc tą, która inicjuje synchronizację komunikatów - tj. pobiera i wysyła informacje na własne żądanie) powinien być wyposażony w rejestr synchronizowanych komunikatów, czyli miejsce, w którym jego administrator mógłby zweryfikować jakie dane powinny zostać zsynchronizowane, a jakie faktycznie zostały. Poszczególne wpisy rejestru muszą posiadać szczegółowe informacje o źródle powstania komunikatu, dacie jego powstania oraz dacie i statusie jego synchronizacji.
  • W przypadku braku możliwości synchronizacji (a więc wysyłki bądź pobrania) komunikatu, system automatycznie powinien ponowić próbę jej wykonania (np. po określonym czasie bądź w ramach kolejnego cyklu synchronizacji) - do skutku. Przy czym ponowienie próby wysyłki komunikatu powinno nastąpić jedynie wówczas, gdy komunikat w dalszym ciągu ma zastosowanie. Przykładowo: w systemie A zmieniamy adres klienta, system A podejmuje nieudaną próbę wysyłki informacji o tej zmianie do systemu B, w międzyczasie w systemie A adres klienta zostaje ponownie zmieniony - w takim przypadku wznowienie synchronizacji przez system A nie powinno mieć miejsca (konieczna więc weryfikacja źródła komunikatu przed ponowną próbą jego wysłania).

  • Przyczyna nieudanej synchronizacji komunikatu (tj. kod błędu - np. 404 - not found, 500 - internal server error itp.),  powinna zostać odnotowania w systemie w ramach logu integracji systemów.
  • Administrator systemu powinien mieć możliwość manualnego wpływania na przesyłane komunikaty - poprzez np. ich modyfikację, usuwanie, ponawianie wysyłki na żądanie.
  • Dobrą praktyką jest automatyczne powiadamianie przez system jego administratora (np. w formie maila bądź okresowego raportu) o komunikatach, które w określonym okresie nie zostały skutecznie zsynchronizowane.

Integracja systemów informatycznych bez obsługi błędów?

Oczywiście, istnieją przykłady integracji, w których obsługa błędów nie jest konieczna - np. wyświetlanie w danym systemie (na żądanie) informacji o kliencie, pozyskanych z Facebooka. Takie informacje nie muszą fizycznie trafiać do bazy danych systemu, trudno więc tutaj mówić o jakiejkolwiek synchronizacji, a zwłaszcza obsłudze jej niepowodzeń.

Natomiast w przypadku każdej integracji, w ramach której dwa systemy informatyczne wymieniają się jakimikolwiek danymi, wymagane jest stworzenie przemyślanego projektu, solidne wykonanie i rzetelne testy. Tego typu prace oznaczają niemały koszt i wysiłek organizacyjny dla beneficjenta integracji. Warto je jednak ponieść - w przeciwnym wypadku bowiem, integracja wykonana niepoprawnie, np. bez obsługi błędów synchronizacji może przynieść firmie więcej szkód niż korzyści.

Przeczytaj również:


  • Pytanie w jaki sposób integrujemy systemy, czy jest to intefrejs pobierający dane przez np http, czy integracja między dwoma API różnych systemów, czy może bezpośrednio miedzy bazami. Jak integracja odbywa się po http czy po plikach xml , csv to obsługę błędów trzeba kodować tworząc interfejs,ale przy integracji po API dużo pracy odpada

Dodaj komentarz

Jak nowocześnie informatyzować przedsiębiorstwo? Digitalizacja firmy z systemem ERP
Technologie informatyczne od początku swojego istnienia wspierają biznes - dzięki czemu same od kilku dziesięcioleci mają okazję dynamicznie... Czytaj więcej...
Systemy ERP - korzyści dla małych i średnich firm
Coroczne badania GUS pokazują, że większość przedsiębiorców w naszym kraju w dalszym ciągu nie spieszy się z cyfrową transformacją swoich... Czytaj więcej...
Jak najłatwiej zarządzać zadaniami w firmie?
Większość polskich firm korzysta z pakietu Microsoft Office - w tym coraz częściej z jego najnowszej odsłony Office 365. Mało kto jednak zdaje... Czytaj więcej...
Co to jest system CRM? Rodzaje i przykłady rozwiązań do zarządzania relacjami z klientami
O systemach CRM wiele się mówi i pisze, jednak nie zawsze tylko i wyłącznie prawdę. Zastosowanie oprogramowania tej klasy w biznesie jest bowiem... Czytaj więcej...
Jakim systemem wspierać Zarządzanie przez Cele (MBO)?
Proces Zarządzania przez Cele (MbO – Management by Objectives) mimo, że de facto kończy się oceną realizacji celów, różni się od Oceny... Czytaj więcej...


Piotr Rawski
Analityk Biznesowy, Project Manager. Entuzjasta rozwiązań IT dla biznesu.

Doradzam, optymalizuję procesy biznesowe i dobieram oprogramowanie do indywidualnych potrzeb. Wszystko po to, aby zwiększyć efektywność Twojej firmy.
-> kontakt i współpraca

Jak NIE kupować systemów informatycznych?
Wybór systemu informatycznego dla firmy zdecydowanie nie jest prostą sprawą. Dostępnych rozwiązań na rynku jest całe multum, podobnie jak i... Czytaj więcej...
10 sposobów na zwiększenie ROI systemu informatycznego
W Europie aż 70-80% wdrożeń biznesowych systemów informatycznych (ERP oraz CRM) kończy się niepowodzeniem. Niepowodzenie niejedno ma imię, dla... Czytaj więcej...
Do czego służą systemy klasy ERP?
Systemy ERP cieszą się obecnie największą popularnością spośród wszystkich rodzajów oprogramowania dla firm. Chętnie sięgają po nie... Czytaj więcej...
Ile kosztują systemy informatyczne dla firm?
Ile trzeba zapłacić za wdrożenie dobrego systemu informatycznego (np. klasy ERP czy CRM) w firmie? Trudno o jednoznaczną odpowiedź - koszt... Czytaj więcej...
Na czym polega integracja systemów informatycznych?
Zarówno w małych, średnich, jak i dużych przedsiębiorstwach zazwyczaj działa nie jeden, a kilka różnych systemów informatycznych - np. do... Czytaj więcej...