Szyna ESB – kiedy się na nią zdecydować?

Szyna ESB - Grupa Unity

Jeżeli szukasz rozwiązania, które pozwoli Ci na integrację systemów IT lub zastanawiasz się nad wdrożeniem rozwiązania szyna ESB, ten tekst jest właśnie dla Ciebie. Dowiesz się z niego:

» na czym polega wdrożenie,

» kiedy warto rozważać integrację,

» co na niej zyskasz.

 


 

Zanim pomyślisz o wdrożeniu rozwiązania szyna ESB

Gruntownie przeanalizuj obecną strukturę, zdefiniuj problemy i wąskie gardła, sprawdź gdzie pojawiają się obecne lub potencjalne przeszkody w utrzymaniu płynnego przepływu informacji. Warunkiem koniecznym do podjęcia decyzji o wdrożeniu szyny jest zrozumienie dotychczasowej architektury i celu, jakiemu ma przyświecać zmiana. Nie traktuj szyny ESB tylko jako rozwiązania do przesyłania danych – oferuje ona zdecydowanie szersze spektrum możliwości, ale tylko wtedy, kiedy jest prawidłowo wykorzystana. Wprowadza porządek i elastyczność, ale z drugiej strony jej nieprzemyślana implementacja może narazić twoją firmę na wysokie koszty i problemy organizacyjne. Nie pomijaj etapu weryfikacji, bo to on da odpowiedź jaki powinien być kierunek zmian i czy faktycznie szyna ESB odpowie na twoje potrzeby.  Jeżeli nie wiesz jak podejść do tematu analizy stanu aktualnego lub projektowania nowej architektury możesz skorzystać z pomocy zewnętrznego konsultanta.

 

Na czym polega wdrożenie szyny ESB

Uproszczony schemat szyny ESB prezentuje system połączeń komponentów do jednego medium przepływu danych. Nie traktuj tego jednak tak dosłownie – samo  zintegrowanie nie jest łatwe i samo z siebie nic nie wnosi. Integracja z użyciem ESB wymaga w pierwszej kolejności stworzenia (lub użycie jeżeli istnieje) adaptera i API dla każdego integrowanegokomponentu. W drugim etapie przygotowywany jest  projekt (scenariusz) komunikacji, który definiuje pożądaną strukturę systemu. Największe wyzwanie pojawia się krok dalej, kiedy to, co zostało zawarte w schemacie zderza się ze stanem faktycznym. Realnym problemem staje się wtedy bałagan architektoniczny, wynikający z niespójnego systemu IT. Jego geneza leży najczęściej w nieprzemyślanym kupowaniu i dołączaniu kolejnych aplikacji. Doraźne uruchomienie nowego rozwiązania przynosi chwilowe korzyści, ale mści się w dalszej perspektywie. Tymczasowość połączeń między komponentami utrudnia jakąkolwiek ingerencję w całą strukturę IT – istnieje duże ryzyko, że system odmówi współpracy. Dlatego niejednokrotnie, pomimo istniejących potrzeb i przesłanek, zapada decyzja o zaniechaniu jakichkolwiek zmian lub dalszego rozwoju systemu IT.

 

Krok wstecz – czyli jak przygotować się do wdrożenia

W projektach wdrażania ESB pierwszą rzeczą jaką należy zrobić, to wykonać analizę i opracować model informacyjny firmy, czyli model tego jakie informacje są tworzone, po co i jak są ze sobą skojarzone, przetwarzane i przekazywane. W drugim kroku należy ustalić, gdzie są ich wersje pierwotne (źródłowe, referencyjne), a gdzie wtórne (np. kopie wykorzystywane). Etap kolejny to uporządkowanie wymiany danych, doprowadzenie  struktury sieci do postaci hierarchicznej (źródło referencyjne i użytkownicy), która bardzo uprości powyższy model. Taka analiza i optymalizacja pozwoli na zdiagnozowanie rzeczywistych problemów i pozwoli na odkrycie  nieużywanych lub dublujących się w funkcjonalnościach aplikacji.  Efektem takiej weryfikacji będzie dokumentacja systemu, którą wystarczy konserwować – koszty jej utrzymania są zdecydowanie mniejsze niż tworzenie takiej analizy od początku w momencie kolejnej integracji.

 

Rozważ wdrożenie szyny ESB jeżeli:

» Chcesz zintegrować wiele różnorodnych komponentów systemu IT.

ESB to kompleksowe rozwiązanie do synchronizacji wielu różnorodnych i złożonych połączeń. Nie bierz jej pod uwagę, gdy w grę wchodzi drobna integracja bez perspektywy na dalszą rozbudowę.  Można powiedzieć, że szyna przynosi tym więcej korzyści, im więcej  integracji obsługuje. Wdrażanie jej w rozbudowanej infrastrukturze do obsługi np. tylko jednego systemu mija się z celem.

» Udostępniasz usługi podmiotom zewnętrznym

Szyna usług doskonale sprawdza się w sytuacji, gdy udostępniasz innym systemom lub podmiotom zewnętrznym różnego rodzaju usługi. Możemy bowiem sprawnie wystawiać na ESB nowe usługi lub udostępniać dotychczasowe. Wpięcie lub usunięcie jakieś integracji jest stosunkowo szybkie, łatwiej je modyfikować, podmieniać, zarządzać nimi czy też kontrolować.

» Korzystasz z dużej liczby aplikacji, protokołów, konwersji danych

ESB ma sens wtedy, gdy mamy np. do czynienia z dużą ilością różnych integracji, różnymi protokołami, skomplikowanymi transformacjami, konwersją danych, wieloma różnymi systemami połączonymi w różnych konfiguracjach itp. Szczególnie przydatna może być możliwość integracji starych (legacy) systemów, które nie posiadają dobrych interfejsów komunikacyjnych z nowoczesnymi aplikacjami dziłającymi np. w modelu SaaS.

» Integrujesz więcej niż 2 aplikacje/systemy

Wykorzystanie ESB staje się sensowne podczas integracji trzech lub więcej aplikacji/serwisów (do dwóch lepiej użyć konektorów point-to-point).

 

WAŻNE: Unikaj integracji  większej liczby aplikacji na raz. Zacznij od 3-4 systemów i sukcesywnie dodawaj kolejne, aby stopniowo rozwiązywać problemy, które napotkasz. Podzielenie  wdrożenia na części ułatwi kolejne synchronizacje i pozwoli bardziej efektywną realizację całego projektu.

 

» Korzystasz z różnych technologii spoza HTTP

Jeśli używany jest jeden protokół komunikacji  (np. HTTP/web serwisy) to wdrożenie ESB nie wniesie dużych korzyści. Do samej obsługi stosunkowo prostej wymiany danych z wykorzystaniem, np.  SOAP na http, zazwyczaj nie jest konieczne wykorzystywanie tak kompleksowego narzędzia, ponieważ  obsługa tego jest stosunkowo prosta i szybka w realizacji. Jeśli natomiast korzystamy z różnorodnych technologii spoza HTTP, np. JMS (Java Message Service) i innych protokołów, a komunikacja jest dość rozbudowana i skomplikowana, wtedy warto rozważyć ESB, ponieważ wnosi dużą wartość w integracji i wiele upraszcza, co przekłada się na koszt i czas realizacji, a w przyszłości większą elastyczność pod kątem zmian.

» Masz problem z utrzymaniem i wdrażaniem nowych integracji

Nie czekaj z decyzją do ostatniej chwili – jeżeli już na obecnym etapie widoczne są problemy utrzymaniem obecnej architektury lub synchronizacją nowych komponentów systemu, zacznij planować kompleksową integrację. Im więcej skomplikowanych i nieusystematyzowanych połączeń punkt-punkt, tym trudniejsze i bardziej czasochłonne będzie wdrożenie szyny usług w infrastrukturę.

 

WAŻNE: Nie wdrażaj szyny ESB, bez zdiagnozowania realnej potrzeby. Decydując się na rozwiązanie „na przyszłość” możesz narazić firmę na niepotrzebne koszty i stworzyć system, z którego finalnie nikt nie skorzysta. Projekt nowej architektury powinien powstawać w oparciu o istniejące i ustabilizowane procesy, które zostały już zweryfikowane w rzeczywistym trybie pracy firmy.

 

» Potrzebujesz routingu wiadomości

ESB to rozwiązanie, które może okazać się bardzo przydatne w momencie zapotrzebowania na routing wiadomości, takich jak rozwidlenia i agregowanie przepływów wiadomość lub routingu oparte na treść.

 

Dlaczego wdrożenie szyny danych jest warte swojej ceny?

Szyna ESB to rozwiązanie, które pozwala na osiągniecie wysokiego poziomu elastyczności, a tym samym efektywne rozwijanie systemu IT twojej firmy. Skalowalność rozwiązania umożliwia wyłączanie/dołączanie/podmianę systemów w infrastrukturze, bez konieczności unieruchamiania pracy pozostałych. Nie musisz tworzyć wszystkich integracji od nowa na zasadzie point-to-point – zmiana systemu na nowy wymaga jedynie wpięcia go w szynę. Ma to duże znaczeniem pod kątem przyszłościowego i strategicznego myślenia o rozwoju infrastruktury systemów. Szyna ESB wprowadza porządek i kontrolę w kwestii integracji. Możemy w ten sposób logicznie i jasno rozłożyć powiązania między systemami, kontrolować je, utrzymywać, modyfikować i zarządzać nimi.

 

WAŻNE: Nie musisz od razu decydować się na rozwiązanie licencjonowane – możesz systematycznie zwiększać wydajność szyny lub bez większych problemów przejść z wersji Community na Enterprise.

 

Dokonaj świadomego wyboru

Decydując się na integrację w oparciu o szynę ESB musisz wiedzieć, że nie jest to oprogramowanie „plug-and-play”. Jej wdrożenie zawsze musi być poprzedzone pogłębioną analizą, która będzie wymagać dużego zaangażowania ze strony twojego zespołu (w największym stopniu działu IT). ESB po wdrożeniu z czasem staje się sercem infrastruktury systemów informatycznych w organizacji, a więc musi być przemyślana i dopasowana do wymagań. Brak twojej współpracy na etapie weryfikacji, niedostarczanie danych lub utrudniony kontakt z osobami za to odpowiedzialnymi utrudnia pracę na tworzeniem nowej architektury i może generować błędy, które będą skutkowały poważnymi uchybieniami w działaniu nowego systemu.

Etap pogłębionej analizy aktualnego systemu IT to także moment, w którym rozpoczynamy dyskusję o wizji stanu docelowego. Cele jakie wyznaczysz to punkt wyjścia do projektu scenariusza integracji. Aktywny udział zespołu po twojej stornie udział pozwoli na stworzenie rozwiązania, który odpowie na realne potrzeby organizacji, ale także poszerzenie wyników analizy systemu o praktyczne spostrzeżenia jego użytkowników i administratorów.

 

WAŻNE: pamiętaj, że  najbardziej rekomendowanym trybem wdrażania szyny usług jest model zwinny.  Integracje ESB są obarczone wysokim ryzykiem, ponieważ dotyczą zawsze minimum dwóch stron. Należy uwzględnić odpowiedni czas na analizę, wielokrotne testowanie i dokonywanie zmian, z uwagi na fakt, że zagadnień i problemów zostanie zdiagnozowanych dopiero na etapie weryfikacji.

 


Analityk systemowy w Grupie Unity, absolwent kierunku Informatyka na Politechnice Wrocławskiej ze specjalnością w systemach informacyjnych. Zwolennik spójności i użyteczności, który zawodowo specjalizuje się w analizie oraz projektowaniu aplikacji i systemów dedykowanych. Prywatnie miłośnik motoryzacji i informatyki.

Napisz do nas

Potrzebujesz więcej informacji lub jesteś zainteresowany współpracą z nami? Chętnie odpowiemy na każde pytanie. Zapraszamy do kontaktu!
Pola oznaczone * są wymagane.