Integracja systemów informatycznych

Integracja systemów informatycznych bywa niezbędna zarówno do wymiany danych między systemami w jednej firmie jak i do komunikacji między systemami obsługującymi różne firmy. Potrzeby integracyjne istnieją na równi w małych, średnich i dużych organizacjach. Jeśli potrzebujesz wymiany danych między różnymi systemami, to dobrze trafiłeś, ponieważ w ImpiCode pomożemy ci w rozwiązaniu nawet najbardziej skomplikowanych problemów integracyjnych.

Czym jest integracja systemów informatycznych?

Mówiąc ogólnie, integracja systemów informatycznych to proces umożliwiający wymianę danych miedzy różnymi systemami IT. Pozwala im to na funkcjonalną współpracę, poprawiając komunikację pomiędzy poszczególnymi oddziałami czy procesami firmy. Integracja systemów IT umożliwia różnym systemom na korzystanie nawzajem ze swoich zasobów takich jak pliki, dane czy informacje.

Duża część przedsiębiorców bywa zaskoczona, jak czasochłonny i skomplikowany bywa proces integracji systemów IT. Powód jest prosty – niektóre systemy operują danymi w bardzo odmienny sposób i nie zawsze łatwe jest przetłumaczenie informacji z języka jednej aplikacji na język innej. Oczywiście wszystko zależy od tego, jakie oprogramowania posiada dana firma i jaki jest planowany zakres wymiany danych. Czasem może się okazać, że niektóre integracja z niektórymi systemami będą wymagać niewiele pracy, ale bywa także, że trudność może stanowić już samo wydobycie danych z jednego systemu (a zdarza się, że i z obu). Nierzadko przy integracji systemów informatycznych programiści muszą poświęcić sporo czasu na zrozumienie, w jaki sposób dane są zorganizowane i jakie jest ich znaczenie dla użytkowników systemów.

Co rozważyć przed rozpoczęciem integracji?

W swojej praktyce spotkaliśmy się z wieloma różnymi sytuacjami i do każdego projektu podchodzimy indywidualnie. W integracjach jest kilka kluczowych zagadnień, które należy dokładnie omówić z klientem przed przystąpieniem do prac. Oto list najważniejszych z nich:

To tylko kilka najważniejszych kwestii, które pomogą określić pracochłonność projektu integracyjnego.

Kiedy integracja dwóch systemów IT jest zawsze możliwa?

Jeśli oba systemy udostępniają API lub inny mechanizm wymiany danych, wtedy integracja jest możliwa praktycznie zawsze.

Kłopoty zaczynają się wówczas, gdy któryś z systemów nie tylko nie udostępnia API, lecz również (mniej lub bardziej celowo) utrudnia inne formy wymiany danych. Niemniej jednak również w takich przypadkach wymiana danych w tej czy innej formie jest prawie zawsze możliwa, choć trzeba przyznać, że czasem realizacja konektora z takim systemem może być bardzo czasochonna.

Należy również pamiętać, że jeśli autorzy jakiegoś systemu bronią go przed integracją, to może się okazać, że po aktualizacji wymiana danych może przestać działać. Ale na szczęście z takimi sytuacjami mamy do czynienia niezwykle rzadko.

Kiedy powinno się integrować systemy informatyczne?

Przedsiębiorstwa integrują systemy informatyczne głównie dla poprawy wydajności i jakość działań w firmie, bowiem jej zastosowanie zmniejsza koszty utrzymania wielu systemów. Jest to świetne rozwiązanie dla firm, które pracują na wielu niezintegrowanych systemach i tracą dużo czasu na ręczne wprowadzanie danych, informacji czy plików do każdego z systemów. Dzięki automatycznej integracji można uniknąć przepisywania danych oraz niechcianych błędów, które pojawiają się przy wielokrotnym wprowadzaniu tych samych danych np. literówka w danych kontaktowych klienta. Jeśli pracownicy Twojej firmy dużo czasu poświęcają na pracę w trybie „kopiuj-wklej”, prawdopodobnie warto rozważyć integrację.

Na czym polega integracja systemów informatycznych?

Proces integracji systemów informatycznych bywa zadaniem dość prostym, ale w niektórych sytuacjach może być także poważnym przedsięwzięciem. Czasem wymaga tylko wykonania integracji z poziomu jednego z systemów (np. utworzenia funkcji obsługujących API drugiego systemu). Zdarza się także, że różne systemy z powodów technicznych lub licencyjnych mogą się nie nadawać do integracji z innymi. Konieczne jest wówczas przygotowanie kolektora, czyli dodatkowej aplikacji, która łączy się z każdym z integrowanych systemów i pośredniczy w wymianie danych.

Wyróżnia się dwa podstawowe rodzaje integracji systemów IT – jednokierunkową i dwukierunkową. W pierwszej z nich jeden z systemów tylko wysyła, a drugi odbiera dane. Natomiast integracja dwukierunkowa zakłada, że systemy wzajemnie uzupełniają swoje zasoby danych.

Integracja systemów informatycznych zachodzi w pierwszej kolejności poprzez różnego rodzaju API, czyli moduły oprogramowania stworzone specjalnie w celu umożliwienia wymiany danych i tę wymianę kontrolujące. Zapewnia to, że każdy nowy rekord dodany lub pobrany przez API będzie miał prawidłowy format i zostanie właściwie przetworzony. To rozwiązanie jest najprostszym z możliwych ponieważ API dba o zachowanie standardu komunikacji i nie pozwoli na przesłanie danych niespełniających wyznaczonych standardów. Zwykle API obsługują szeroko stosowane standardy i protokoły wymiany danych (najczęściej XML, JSON, webservice, http/https, SOAP, REST), dzięki czemu integracja staje się jeszcze łatwiejsza.

W przypadku braku API w systemie integracja nadal jest możliwa, choćby przez bezpośredni dostęp do bazy danych. To rozwiązanie jest jednak bardziej skomplikowane. Wymaga zdecydowanie większej wiedzy na temat systemu i jego działania, przez co na ogół wymaga więcej pracy. Bywa tak, że dodanie czegoś, co w systemie źródłowym jest jednym rekordem, wymusza utworzenie kilku rekordów w różnych tabelach w systemie docelowym. Czyli programista musi zadbać o coś, co normalnie byłoby realizowane przez moduł obsługujący API. Co więcej, API zapewnia, że wymiana danych będzie działać, niezależnie od tego, jak zmieni się system (np. wskutek aktualizacji). Bezpośrednie połączenie z bazą danych nie daje tego bezpieczeństwa i może okazać się, że aktualizacja systemu wymusi aktualizację modułu oprogramowania integrującego.

Są przypadki w których nie ma możliwości komunikacji przez API ani przez bazy danych. W takiej sytuacji jakimś rozwiązaniem może być wymiana przez pliki. Może to być wymiana „ręczna” (na zasadzie pobrania pliku z jednego systemu i wysłania do drugiego), ale bywa też tak, że może być zautomatyzowana, jeśli jeden z systemów może odczytywać pliki z dysku sieciowego lub innego serwera.

W skrajnych przypadkach w kontekście integracji, kiedy nie da się problemu rozwiązać inaczej, można próbować korzystać z technik reverse engineering (inżynierii odwrotnej).

Koszt integracji systemów informatycznych

W zależności od sposobu integracji i zakresu wymiany danych koszty integracji systemów informatycznych mogą się bardzo różnić. Integracja poprzez API zazwyczaj jest prosta i mało problematyczna. Natomiast w przypadku bezpośrednich połączeń z bazą danych może być bardziej kosztowna, czy też skomplikowana. Koszt integracji w największym stopniu zależy od:

Wyzwania związane z integracją systemów

Duża część problemów związanych z integracją systemów IT nie wynika z technicznych kwestii, ale z kwestii zarządzania takim systemem i jego ewentualnymi zmianami. Np. jeden z objętych integracją systemów może po jakimś czasie użytkowania zostać zaktualizowany, co może mieć wpływ na jego działania. Aktualizacji może ulec także API. W przypadku takiej zmiany może się okazać konieczna zmiana również rozwiązania integrującego.

Decydując się na integrację, należy pamiętać, że aktualizacja każdego z objętych nią systemów musi uwzględnić działanie integratora. Gdy mowa o własnych wewnętrznych systemach, zwykle nie jest to duży problem. Niestety bywa, że zewnętrzny dostawca lub operator zewnętrznego systemu decyduje się na aktualizację (a praktyka pokazuje, że czasem dzieje się to bez ostrzeżenia). W takiej sytuacji należy liczyć się z tym, że wymiana danych między systemami przestanie działać do czasu aktualizacji rozwiązania integrującego. Wiąże się to z dodatkowymi kosztami czy przestojami w pracy. Dlatego w niektórych sytuacjach warto objąć integrację stałą opieką techniczną.

Inną kwestią jest, że przeprowadzeni integracji własnymi zasobami IT (jeśli je mamy) nie zawsze jest możliwe. Wiele firm ma trudności ze znalezieniem pracowników o umiejętnościach niezbędnych do konkretnej integracji. Zresztą angażowanie pracownika pod tylko ten jeden projekt nie zawsze jest opłacalne. Dlatego dobrym rozwiązaniem w takiej sytuacji jest skorzystanie z zewnętrznego dostawcy, który przejmie na siebie ten obowiązek.


Jeśli rozważasz realizację integracji systemów informatycznych lub chcesz się więcej dowiedzieć o samym procesie – skontaktuj się z nami.


Klienci ImpiCode