Data utworzenia: 29.10.2024 Numer referencyjny: SXJ130 Publiczny

Jak integrują się systemy informatyczne | Artykuł ERP XL

Felieton o sposobach wymiany danych pomiędzy systemami informatycznymi

Będąc zainspirowany rozmową z naszym handlowcem pragnę w prosty sposób przedstawić zasadę integracji systemów informatycznych. Chodzi mi o to, żeby zwykły użytkownik systemu zrozumiał możliwości i ograniczenia jakie daje współczesna informatyka.

Integracja to połączenie dwóch różnych systemów w zakresie wymiany danych. Na przykład importowanie danych adresowych z Microsoft dynamics CRM do Comarch ERP XL, wysyłka zleceń produkcyjnych z Comarch ERP XL do Golem OEE MES, czy importowanie faktur z SaldeoSmart do Comarch ERP Optima.

Żeby dane przenieść z jednego systemu X do systemu Y muszą być spełnione dwa warunki: dostęp do systemu X i dostęp do systemu Y.

Najprostszym sposobem jest otwarcie programu systemu X, przeczytanie danych, następnie otwarcie programu systemu Y i ręczne wprowadzenie danych. Dane odczytuje się i wprowadza za pośrednictwem interfejsów programu, czyli guziczków, pól, przełączników, itp. W informatyce nazywa się je skrótem UI, czyli User Interfejs. Jest nawet specjalny zawód do projektowania tych interfejsów - UX (User Experience Design)

To jest synchronizacja ręczna. Warto ją stosować, gdy takich danych mamy kilka w miesiącu. Dla większej ilości danych stosuje się zautomatyzowane rozwiązania informatyczne.

Drugą metodą są wbudowane w system dedykowane mechanizmy synchronizacji. Są one stworzone z myślą o wymianie danych o określonym zastosowaniu. Na przykład Comarch ERP XL ma wbudowaną funkcję do wysyłki JPK do zewnętrznego systemu Ministerstwa Finansów, albo wbudowaną funkcję EDI do importu faktur zakupu od dostawców zewnętrznych, a Comarch ERP Optima Biuro rachunkowe wbudowany import danych kontrahentów (Comarch Internetowa Wymiana Dokumentów).  Jednak zakres takich wbudowanych integratorów jest zawsze ograniczony i zamknięty. Pod płaszczykiem interfejsu ukryta jest zwykle technologia Web API, ale o tym później.

Kolejna metoda to zastrzyk danych bezpośrednio do bazy systemu. Odpowiednio stworzony zewnętrzny program otwiera dane źródłowe (na przykład z pliku wyeksportowanego z systemu X) i umieszcza je bezpośrednio w strukturze danych systemu Y. Większość systemów informatycznych nie pozwala na takie działania, a w oprogramowaniu Comarch ERP stanowią one ostateczność. Jest to rozwiązanie proste ale złe, bo złożoność struktury danych systemów leży poza obrębem percepcji przeciętnego programisty i łatwo coś popsuć.

Najlepszą metodą stosowaną niezmiennie od wielu lat jest zastosowanie funkcji API. To też jest interfejs, ale już nie przeznaczony dla użytkownika (jak UI), tylko dla innego programu. Znaczy tyle co Interfejs Programistyczny aplikacji (Application Programing Interface). 

Aplikacje korzystające z API odczytują dane z systemu X (mogą je dostać w pliku, albo otrzymać od innego API), następnie wywołują odpowiedni interfejs systemu Y (co można porównać np. do otwarcia formatki listy kontrahentów) i przekazują do niego dane. Funkcje API to "mikro programy" stworzone przez producenta oprogramowania, które na podstawie przekazanych danych wykonują czynności zgodne z logiką danego systemu, na przykład zakładają nową kartotekę kontrahenta. To jest rozwiązanie bezpieczne i stabilne. 

Aby systemy mogły komunikować się przez API producent musi taką możliwość dostarczyć. W przypadku Comarch ERP w funkcje API zostały zaopatrzone zarówno Comarch ERP XL, jak i Comarch ERP Optima. Dzięki funkcjom API programista może integrować niemal wszystkie rodzaje danych.

Ale żeby funkcje API mogły wykonać robotę to nadal muszą być spełnione dwa pierwotne warunki - systemy muszą się fizycznie widzieć. To zwykle oznacza, że program wywołujący API musi być zainstalowany na tym samym komputerze, co system ERP. Z tego powodu nie jest na przykład możliwe wykonanie dedykowanej integracj dla Comarch ERP Optima w chmurze - bo nie ma dostępów do środowiska chmury, na której taki program synchronizujący musiałby się znajdować. Rozwiązaniem jest chmura Comarch Enterprise, gdzie tak naprawdę dostajemy pełnowartościowe środowisko systemowe z dostępem zdalnym.

Ostatnim znanym mi rozwiązaniem niwelującym bolączkę fizycznej dostępności maszyn jest Web API (pisane też jako WebApi). To też są funkcje API ale udostępniane przez internet za pomocą odpowiedniej technologii. W tym rozwiązaniu programy synchronizujące łączą się z systemami zewnętrznymi za pomocą protokołów internetowych pobierając z nich dane i przekazując dane. Aby to jednak było możliwe to producent musi dostarczać WEB API do swoich systemów, albo trzeba je stworzyć własnymi siłami. Tym między innymi zajmuje się nasz dział programistyczny w Prospeo. 

Podsumowując powyższy wywód to niemal wszystko da się ze sobą zintegrować
ale nie wszystko się opłaca. 
Czasem warto skorzystać z rozwiązań zintegrowanych przez producenta, mimo że niekiedy mogą wydawać się uboższe od oprogramowania specjalistycznego niezintegrowanego. 
Integracje to się są tanie rzeczy, tak że waż siły na zamiary.

Ach, są jeszcze rozwiązania RPA, czyli programowalne roboty wykonujące pracę przy użyciu UI. Nie mam z tym doświadczenia to się nie wypowiadam.

A jaka jest przyszłość integratorów?
W mojej opinii to będzie połączenie AI z RPA. Takie rozwiązanie powinno znacząco ograniczyć koszty integracji i pozwolić na pracę na wielu specjalistycznych systemach różnych dostawców.

Piotr Jesionek

Sample2ść h3 tag

Sample pararaph