Jak rozwiązywać typowe problemy integracji systemów legacy 

Być może w Twojej firmie funkcjonują systemy legacy i stoisz przed wyzwaniem ich integracji? W tym artykule podzielimy się z Tobą praktycznymi wskazówkami i radami, które pomogą Ci sprostać temu wyzwaniu. 

Co to są systemy legacy?  
 

Pojęcie systemu legacy może być różnie rozumiane, w zależności od osoby posługującej się tym terminem. Najczęściej mówi się, że system legacy to stare oprogramowanie czy technologia, które są trudne i/lub kosztowne do zmiany na nowsze rozwiązanie. Jednak system legacy nie zawsze musi być „stary” w dosłownym znaczeniu.  

O tym, że będzie to system legacy, świadczą pewne jego cechy, widziane przez osoby pracujące z tym systemem. Osoba odpowiedzialna za utrzymanie takiego systemu będzie borykać się z dużą ilością błędów lub nagłymi problemami ze stabilnością. Programiści będą narzekać na stare wersje narzędzi i bibliotek, które bardzo trudno jest aktualizować. Dla analityków i projektantów nie będzie odpowiedniej dokumentacji. 
 
Z perspektywy całej firmy, systemy legacy mogą stwarzać problemy z zaspokojeniem rosnących potrzeb biznesowych oraz kłopot z integracją takich systemów z nowszymi rozwiązaniami.  

Integracja systemów legacy – wyzwania 

Zdarza się, że dobrze działający system, który nie ma jeszcze biznesowego uzasadnienia do zmiany, jest trudnym przypadkiem w kontekście integracji z innymi systemami firmy.  

Dlaczego? Największym problemem jest brak nowoczesnych interfejsów oraz API, bez których nie można łatwo zintegrować kluczowych dla biznesu systemów. Jakie są więc najpowszechniejsze opcje integracji wśród systemów legacy? 

Sposoby integracji systemów legacy 

Systemy legacy mogą mieć różne opcje integracji. Zwykle spotykamy się z poniższymi przypadkami.  

  • System legacy posiada API REST lub SOAP – i jest to zazwyczaj najlepsza sytuacja w kontekście integracji systemów. Integracje za pomocą API umożliwiają łatwą komunikację  między różnymi technologiami, językami programowania i platformami, co jest kluczowe w przypadku integracji systemów legacy oraz tych nowszych.   
  • System legacy nie ma API – w tym przypadku niestety pozostaje nam próba integracji przez dostęp do bazy danych, należy tutaj pamiętać, że jeżeli inny system ma ingerować w bazę danych, to należy zachować szczególną ostrożność (więcej o zagrożeniach poniżej).  
  • System legacy umożliwia tylko wymianę plików – w niektórych systemach legacy można napotkać, mechanizmy do komunikacji przez wymianę plików (XML, CSV, XLS), zarówno uruchamiane ręcznie lub działające automatycznie. 

Która metoda integracji systemów legacy jest najkorzystniejsza? 

Jak widzisz, systemy legacy mogą mieć różne opcje integracji. Z perspektywy dzisiejszego szybko rozwijającego się świata i konieczności budowania biznesów zwinnych i elastycznych, firmy powinny stawiać – w kontekście integracji systemów – na szybką wymianę danych.  

Do minimum powinien być sprowadzony czas pomiędzy wystąpieniem zdarzenia w systemie X a przekazaniem informacji do systemu Y. Taka szybka wymiana danych jest oczekiwana w handlu online, np. przy składaniu zamówienia, zmianie ceny, aktualizacji stanów magazynowych czy w branży produkcyjnej, np. przy zmianie planu produkcji.  

Oczywiście są sytuacje, w których integracja może przebiegać z opóźnieniem, ponieważ nie ma potrzeby, aby dane przepływały natychmiast. Dzieje się tak na przykład przy rekomendacjach i ofertach promocyjnych wysyłanych niezdecydowanym klientom. Wraz z rozwojem systemów opartych o data science i AI, jednak i tutaj ten czas będzie się skracać.  

Aby sprostać wymaganiom związanym z szybkością przesyłania danych, najlepszym rozwiązaniem jest wykorzystanie API REST, ewentualnie API SOAP, tak, aby system, w którym wystąpiło dane zdarzenie, niezwłocznie informował o tym inne systemy. Oba rodzaje API służą do integracji systemów, ale REST jest częściej stosowany ze względu na prostotę i elastyczność. 

Co jednak w sytuacji, gdy API jest starego typu lub wykorzystanie go nie jest w ogóle możliwe?

Za chwilę przekonasz się, jak poradzić sobie z najczęściej występującymi wyzwaniami w kontekście integracji systemów legacy.  

 
Integracja systemów legacy – wyzwanie / rozwiązanie   

Wiedząc już, z czym się mierzymy i jakie efekty chcemy osiągnąć, zobaczmy, jak rozwiązać najpowszechniejsze wyzwania, które generują systemy legacy. Dla każdego z nich mamy też rozwiązanie, aby pokazać Ci, jak możesz sobie z nimi poradzić.  

Wyzwanie 1 / System posiada „legacy” API 

Zdarza się, że system, który należy zintegrować, posiada API, ale niestety używa ono niestandardowych protokołów lub formatów danych. Takie „legacy” API będzie raczej trudne do użycia.  

Rozwiązanie: W takiej sytuacji dobrym wyjściem będzie przygotowanie współczesnego API np. REST, które będzie udostępnione w organizacji, ale oparte będzie o „legacy” API. Dobrym narzędziem do realizacji tego pomysłu będą rozwiązania integracyjne klasy ESB lub biblioteki integracyjne np. Apache Camel. 

Wyzwanie 2 / API zawsze zwraca wszystkie dane 

Innym spotykanym problemem są API, które umożliwiają pobranie tylko wszystkich danych konkretnego typu, bez możliwości wybrania tylko danych zmienionych. Na przykład, zamiast tylko najnowszych zamówień, można pobrać wszystkie zamówienia w ogóle lub wszystkie zamówienia konkretnego typu.  

Taki sposób działania jest bardzo nieefektywny, zwłaszcza jeśli masz dużo danych historycznych. Pozostałe systemy w firmie potrzebowałyby dużo zasobów, aby za każdym razem przetworzyć taką ilość danych i wybrać tylko to, co się zmieniło.   

Rozwiązanie: Aby zniwelować powyższy problem, można przygotować komponent, który będzie odczytywał dane z API, a następnie wykrywał zmiany i tylko zmienione obiekty wysyłał do docelowych systemów. Wykrywanie zmian można zrealizować przez high watermark, jeżeli dane, które przetwarzamy, są tylko dodawane. Jeżeli dane są zarówno dodawane. jak i zmieniane, wówczas można wyznaczyć sumę kontrolną np. za pomocą algorytmu MD5 i zapisać ją, aby na tej podstawie przy kolejnym przetwarzaniu danych wykryć, czy dane są zmieniły czy nie. Liczenie sumy kontrolnej jest też użyteczne, jeżeli zależy Ci na wykryciu zmian tylko na wybranych atrybutach, a nie dowolnych zmianach obiektu.   
 
Takie rozwiązanie zmieni schemat komunikacji systemu legacy, jednak będzie o wiele efektywniej informować docelowy system o zmianach.

Co więcej, jeżeli w przyszłości zdecydujesz się zmodernizować system legacy lub wymienić go na nowy, w którym API będzie pozwalało na bardziej efektywne integrowanie zmian, to nie musi to wiązać się z dużymi zmianami w Twoim podejściu do integracji.  

Wyzwanie 3 / System legacy wysyła plik ze wszystkimi danymi 

Częstym przypadkiem, zwłaszcza w starszych systemach, są mechanizmy integracji oparte o generowanie plików zawierających kompletne dane wszystkich obiektów np. Produkty z systemu PIM. Tak jak wcześniej wspomniałem, pożądaną sytuacją jest przesyłanie danych, które uległy zmianie. Ten przypadek jest podobny do sytuacji z API, które zwraca wszystkie dane.  

Rozwiązanie: Sposób rozwiązania jest podobny jak wcześniej – należy dodać komponent, który wykryje zmiany w danych. Różnicą będzie sposób pozyskania danych, czyli czytanie plików zamiast pobieranie ich z API.  

Co prawda, nie będziesz w stanie skrócić czasu, po jakim zmiany dotrą do systemu docelowego, ale z perspektywy organizacji uda Ci się wymienić dane między systemami przez łatwo konsumowalne API. Systemy docelowe dostaną tylko zmienione dane, dzięki czemu Twoje procesy integracyjne zostaną przestawione na bardziej nowoczesne tory.  

Wyzwanie 4 / System legacy nie ma żadnego API 

Jak już wiesz, dużo lepszą sytuacją będzie, gdy system legacy posiada jakiekolwiek API. Niestety, czasami nie jest możliwe dodanie API w rozsądnym czasie. Co zrobić w takiej sytuacji? 

Rozwiązanie: Możesz pokusić się o bezpośrednią integrację z bazą danych systemu legacy. O ile sam odczyt z takiej bazy nie stanowi raczej zagrożenia dla systemu, ponieważ nic się nie zmienia, to z modyfikacją danych należy szczególnie uważać. Zapisując dane do tabel innego systemu, musisz mieć pewność, że reguły biznesowe są odwzorowane, ponieważ jeżeli się pomylisz, spowodujesz błędy w tym systemie. Trzeba mieć na uwadze to ryzyko, decydując się na powyższe rozwiązanie. 

System legacy nie taki straszny!  

Jak widać nawet systemy, które z perspektywy integracji wydają się legacy, będziesz w stanie zintegrować z innymi systemami w Twojej firmie. Nie wyeliminujesz niektórych bolączek, ale zrobisz już duży krok w kierunku efektywnych i nowoczesnych integracji systemów w organizacji. Takie przyszłościowe podejście zaowocuje, kiedy zaczniesz w końcu modernizować lub wymieniać systemy legacy. 

Masz więcej pytań na temat integracji systemów legacy?

Nasi eksperci
/ Dzielą się wiedzą

23.05.2023

Zaawansowana analiza klienta z zastosowaniem metod data science / machine learning 

AI

Wyobraźmy sobie średniej wielkości supermarket w świecie bez analizy klientów. Każdy wchodzący do sklepu klient pozostaje tajemnicą. Nie wiadomo, jakie są jego oczekiwania, zainteresowania, potrzeby oraz co kupował w przeszłości. Właściciel musi polegać na intuicji i wyczuciu, aby określić, jakie produkty umieścić na półkach, jakie...

16.05.2023

Strategia omnichannel – jak ją wdrożyć w praktyce?  

Integracja systemów

Strategia omnichannel staje się coraz bardziej popularna wśród firm, również z sektora B2B. Korzyści z podejścia wielokanałowego są niezaprzeczalne – zadowoleni klienci i większa sprzedaż. Jak jednak praktyce wdrożyć strategię omnichannel? Co jest jej fundamentem? Jakich narzędzi należy użyć? Na co zwrócić uwagę przy implementacji...

09.05.2023

E-commerce B2B / Personalizacja doświadczeń zakupowych

Personalizacja doświadczeń zakupowych jest jednym z kluczowych czynników wpływających na sukces w e-commerce, zarówno w przypadku B2C, jak i B2B. Coraz więcej firm zdaje sobie sprawę z potencjału personalizacji i jej wpływu na zwiększenie konwersji oraz lojalności klientów. W przypadku transakcji B2B ma to szczególne znaczenie, ponieważ...

Ekspercka wiedza
dla Twojego biznesu

Jak widać, przez lata zdobyliśmy ogromną wiedzę - i uwielbiamy się nią dzielić! Porozmawiajmy o tym, jak możemy Ci pomóc.

Napisz do nas

<dialogue.opened>