Rozplątać nierozplątywalne. Jak z pomocą ESB przeciąć węzeł gordyjski komunikacji systemowej?
Prowadzenie firmy produkcyjnej, to spore wyzwanie, na które składa się ogrom różnorodnych i zazwyczaj bardzo złożonych procesów. Pod pojęciem zarządzania przedsiębiorstwem kryje się np. zarządzanie jego zasobami, łańcuchem dostaw, kadrami, finansami, obiegiem dokumentów, produkcją, rolami i odpowiedzialnością poszczególnych pracowników, ryzykiem, zmianą, technologią itp. Pod uwagę trzeba też brać przygotowanie strategii, planów i harmonogramów, prognozowanie popytu i wiele innych obszarów. Taka mnogość zadań sprawia, że nie sposób poradzić sobie z nimi bez pomocy specjalistycznych narzędzi w postaci dedykowanych systemów informatycznych. I tych systemów też potrafi być sporo. Jak nad nimi zapanować i połączyć je w jeden, sprawnie działający organizm?
Integracja systemów – podstawa sprawnego działania
Jeden system pozwalający radzić sobie z zarządzaniem wszystkimi obszarami w firmie produkcyjnej to marzenie wielu przedsiębiorców. I zapewne w sferze marzeń pozostanie, bo dobrze wiemy, że „jak coś jest do wszystkiego, to jest do niczego”. Czasy, kiedy jedno oprogramowanie wspierało całość procesów biznesowych minęły bezpowrotnie. I choć zdarza się, że producenci ERP próbują nas przekonać, że ich oprogramowanie zapewni nam wszystko, co niezbędne, doświadczenie pokazuje, że niestety jest to tylko chwyt reklamowy, a nie rzeczywistość.
Dziś te procesy, zadania, obszary są już za bardzo złożone i zbyt wiele aspektów trzeba w nich uwzględniać. Dlatego też, aby odpowiednio zareagować na potrzeby, konieczne są profesjonalne, dedykowane systemy, z których każdy jest wyspecjalizowany w innym obszarze – np. MES pozwala kontrolować w czasie rzeczywistym procesy produkcyjne, WMS wspiera pracę magazynów, APS umożliwia najlepsze zaplanowanie zasobów itp.
Jednak poszczególne obszary w przedsiębiorstwie nie działają w oderwaniu od siebie. Wręcz przeciwnie, na wielu płaszczyznach łączą się one i przenikają ze sobą. Dlatego tak ważnym aspektem jest integracja wszystkich działających w firmie systemów. Powinny one być w stanie sprawnie wymieniać się informacjami i nawzajem uzupełniać.
Integracja to klucz do sprawnego działania całego przedsiębiorstwa – do jego efektywności i spójności wszystkich procesów. Zarazem jest to spore wyzwanie. Często jedynym możliwym rozwiązaniem wydaje się stworzenie sieci połączeń pomiędzy bazami danych poszczególnych systemów. Brzmi prosto? Niestety w praktyce wcale takie nie jest.
Każda nowa baza danych, która ma być dołączona do takiej sieci, wymusza tworzenie kolejnych powiązań. Oprócz tego przesyłane dane muszą być odpowiednio przetwarzane, aby były zgodne z wymaganiami systemów, które je odbierają. A jeszcze trzeba mieć świadomość, że często jednokierunkowe wysyłanie danych, bez informacji zwrotnej, to za mało.
Efekt? Ogromna liczba skomplikowanych, złożonych powiązań, z których każde musi być kontrolowane i aktualizowane, kiedy tylko pojawiają się zmiany w jednym z systemów lub dołącza nowy. Jest to nie tylko niepraktyczne, ale także drogie i czasochłonne w obsłudze.
Czym jest ESB, czyli szyna danych?
Odpowiedzią na opisane powyżej problemy z integracją może być ESB (Enterprise Service Bus), czyli inaczej szyna danych. Jest to oprogramowanie, które działa jako platforma pośrednicząca, tzw. „middleware”, i pełni rolę pośrednika pomiędzy różnymi systemami działającymi w przedsiębiorstwie, umożliwiając im łatwą i płynną wymianę danych. Pozwala aplikacjom na korzystanie z usług innych aplikacji, bez potrzeby tworzenia pomiędzy nimi bezpośrednich połączeń.
ESB potrafi przetwarzać ogromne ilości danych, niezależnie od ich formatów i różnorodnych protokołów komunikacyjnych. Jej głównym zadaniem jest przekształcanie komunikatów, tak aby były zrozumiałe dla odbiorcy (czyli innego systemu) i kierowanie nimi w taki sposób, aby trafiły tam, gdzie są niezbędne.
ESB działa na zasadzie pośredniczenia i zarządzania komunikacją między aplikacjami w modelu hub-and-spoke. Oznacza to, że każda aplikacja jest podłączona do centralnej magistrali. Tym sposobem tworzy się punkt wymiany danych, który umożliwia systemom wymianę informacji w czasie rzeczywistym i zapewnia wszystkim aplikacjom dostęp do tych samych danych, bez konieczności bezpośredniego łączenia ich ze sobą.
Szyny danych to rozwiązania skalowalne, które rosną razem z firmą. Pomagają ograniczyć chaos związany z dużą ilością połączeń pomiędzy różnymi systemami. Wszystkie dane generowane w informatycznej strukturze przedsiębiorstwa przechodzą przez ESB, co umożliwia centralne zarzadzanie nimi. Można też łatwo dodawać nowe aplikacje do funkcjonującej infrastruktury informatycznej, bez potrzeby przekształcania już działających połączeń. Upraszczając można wręcz powiedzieć, że dodanie nowego systemu sprowadza się jedynie do jego skomunikowania z szyną danych.
Translacja i transformacja – najważniejsze funkcjonalności ESB
Dwie kluczowe funkcjonalności ESB to translacja i transformacja. To właśnie dzięki nim szyna danych może spełniać swoje główne zadanie, czyli integrować rozproszone systemy w przedsiębiorstwie.
Translacja to dosłownie „tłumaczenie” formatu wiadomości na wejściu na format oczekiwany na wyjściu. Przykładowo, maszyna zapisuje swój dziennik zdarzeń w postaci pliku .csv. Kiedy ten sam dziennik chcemy zapisać w bazie danych na potrzeby AuditTrail przeprowadzamy konwersję na SQL i wykonujemy wpisy do bazy danych.
Transformacja to przekształcenie komunikatu wejściowego i jego dystrybucja do różnych odbiorców, którzy potrzebują go w danym kontekście lub wykorzystują jedynie jego wybrane, konkretne elementy. Przykładowo, pochodzące z systemu MES dane o przychodach z produkcji są rozsyłane do kilku systemów, z których każdy wykorzystuje je do innych celów: ERP na potrzeby księgowania, WMS dla przyjęcia na magazyn, a APS dla określenia postępu realizacji zlecenia i estymacji czasu jego zakończenia.
Transformacja może służyć też rozbiciu jednego, dużego komunikatu na kilka mniejszych, które zostaną wykorzystane w konkretnych celach przez jednego odbiorcę. Przykładowo zlecenie produkcyjne pobrane z systemu ERP może zostać rozbite na BOM, BOR, marszrutę, operacje produkcyjne itp., a następnie zapisane w odpowiednich miejscach w systemie MES.
W praktyce najczęściej zarówno translacja, jak i transformacja używane są jednocześnie.
ESB a ETL – podobieństwa i różnice
Często ESB utożsamiane jest z ETL, czyli Extract, Transform and Load. Choć oba rozwiązania związane są z przetwarzaniem i integracją danych, a w niektórych przypadkach mogą być stosowane wymiennie, warto mieć świadomość dzielących je różnic.
ETL to samodzielny system, który pracuje niezależnie od innych rozwiązań. Powstał jako narzędzie do pobierania danych na żądanie lub cyklicznie w dużych paczkach. Jest narzędziem typowym dla magazynów danych (data warehouse). Służy do pobierania, przekształcania i ładowania zebranych danych do hurtowni danych. Informacje te najczęściej wykorzystywane są później do analiz i raportów. Przykładowe zastosowania ETL obejmują operacje masowej migracji danych np. pobieranie master data czy przygotowanie danych dla baz stagingowych.
ESB działa w trybie ciągłym, przeznaczony jest do obsługi procesów w czasie rzeczywistym. Najlepiej sprawdza się w środowiskach SOA (Service-Oriented Architecture), w których poszczególne elementy ekosystemu rozwiązań komunikują się ze sobą za pomocą zdefiniowanych interfejsów poprzez sieć. Chociaż ESB uruchamiane jest jako osobna aplikacja, to jednak jest warstwą pośredniczącą, która łączy różne systemy i aplikacje, a tym samym jest od nich zależna.
ETL działa w trybie „pull”, co oznacza, że na żądanie użytkownika lub zgodnie z ustalonym harmonogramem łączy się do źródła danych, pobiera je, transformuje i ładuje do wyznaczonego miejsca. Domyślnym trybem działania dla ESB jest „push”, czyli system źródłowy podaje dane na szynę np. z wykorzystaniem API, osiągając przez to integrację w czasie rzeczywistym. W większości rozwiązań klasy ESB tryb „pull” również jest dostępny.
Oba systemy są rozwiązaniami skalowalnymi i są w stanie przetwarzać duże ilości danych. Co więcej większość szyn danych posiada wbudowaną funkcjonalność ETL, więc może z powodzeniem je zastępować. Trzeba jednak mieć świadomość, że zbyt duże paczki danych mogą obniżyć przepustowość szyny. Staje się ona wtedy mniej wydajna i przestaje spełniać swoje zadanie, czyli integrację w czasie rzeczywistym.
ESB to rozwiązanie do integracji systemów w czasie rzeczywistym, natomiast ETL jest wykorzystywane do przetwarzania danych na potrzeby analizy historycznej.
Jakie korzyści daje szyna danych?
Implementacja ESB może przynieść organizacjom szereg korzyści, takich jak:
Uproszczenie architektury IT – dzięki scentralizowanej komunikacji pomiędzy działającymi w firmie aplikacjami znacząco ogranicza się ilość połączeń punkt-punkt.
Adaptacja do zmieniających się potrzeb – ESB jest systemem skalowalnym, który dostosowuje się do rosnących potrzeb przedsiębiorstwa. Co więcej ułatwia wymianę funkcjonujących w firmie systemów, bez potrzeby naruszania całej infrastruktury informatycznej.
Elastyczność – szyna danych pozwala zintegrować najróżniejsze systemy, od systemów ERP czy MES, po systemy sprzedażowe, magazynowe, a także systemy zewnętrzne np. systemy firm kurierskich czy spedycyjnych.
Oszczędność czasu i kosztów – korzystanie z ESB redukuje potrzebę budowania i późniejszego utrzymania pojedynczych połączeń pomiędzy poszczególnymi systemami, co pozwala oszczędzić czas i zmniejszyć koszty.
Bezpieczeństwo – ESB zapewnia w pełni bezpieczne przechowywanie danych dzięki mechanizmom szyfrowania oraz autoryzacji. Dodatkowym plusem jest automatyczne wykrywanie i naprawa błędów.
Rzetelne dane – integracja systemów eliminuje potrzebę ręcznego wprowadzania danych, a co za tym idzie redukuje ryzyko błędów oraz pozwala na lepsze wykorzystanie dostępnych zasobów.
Sprawniejsze zarządzanie – scentralizowane dane dają większe możliwości zarządzania ich przepływem i kompleksowych analiz. Dzięki temu zarządzający mogą lepiej kontrolować procesy, szybciej reagować na bieżące potrzeby i podejmować korzystniejsze decyzje.
ESB – czy warto?
Podsumowując, korzyści z wdrożenia szyny danych jest naprawdę sporo. ESB to niewątpliwie ważny element nowoczesnej struktury informatycznej w firmach produkcyjnych. Przyniesie tym więcej korzyści, im więcej w danej organizacji funkcjonuje systemów, działających w oparciu o różne protokoły i zasady konwersji danych. To rozwiązanie, które sprawia, że nawet bardzo rozbudowane struktury są proste i przejrzyste, przy zachowaniu wszystkich korzyści z podłączonych aplikacji.
Trzeba jednak pamiętać, że choć szyna danych pomaga upraszczać, sama bynajmniej nie jest prosta – nie wystarczy po prostu ją uruchomić i podłączyć do niej systemy, aby integracja od razu działała. Trzeba odpowiednio przemyśleć takie kwestie jak format komunikacji, jej częstotliwość, wyzwalacze i wiele innych kwestii. Podstawą jest tutaj na pewno dobra znajomość specyfiki integrowanych poprzez ESB ze sobą systemów. Plusem natomiast jest to, że konstrukcja ESB pozwala na etapowe wdrażanie integracji, co znacznie ułatwia sam proces i ogranicza ryzyko.
Poprzez ujednolicenie wzorców integracyjnych, systemy klasy ESB znacząco usprawniają codzienną pracę, upraszczają zarządzanie danymi, a także pozwalają na szybką adaptację do zmieniających się potrzeb. To niezwykle ważne w konkurencyjnym świecie przemysłu. A co również istotne, zainwestowane we wdrożenie szyny danych zasoby, zarówno czasowe, jak i finansowe, bardzo szybko się zwracają.
Interesujesz się wdrożeniem ESB w swojej firmie? Umów się na bezpłatną konsultację i porozmawiaj z naszymi ekspertami.
Autorzy
Jak przebiega proces bezpłatnej Konsultacji?
Dziękujemy za przesłanie formularza.
Nasz opiekun skontaktuje się z Tobą w ciągu 1 dnia roboczego, aby dowiedzieć się więcej o Twoich wyzwaniach i umówić termin spotkania z konsultantem najlepiej dopasowanym do Twoich potrzeb.
W czasie oczekiwania zachęcamy do wejścia na Baza Wiedzy ImFactory, na której znajdziesz wiele ciekawych webinarów, artykułów oraz case studie, które wprowadzą w świat Cyfrowej Transformacji
ZamknijJak przebiega proces bezpłatnej Konsultacji?