Architektura SOA to koncepcja, według której systemy informatyczne buduje się pod użytkownika i usługi, które są mu potrzebne. W obrębie tego zagadnienia mieszczą się wytyczne określające związek biznesowy i informatyczny przedsiębiorstwa. Wszystko, co uznane może być za element oprogramowania stworzony w celu użytkowym, może być włączony do architektury SOA.

 

Czym jest szyna danych?

Szyna danych, inaczej określana jako magistrala komunikacyjna, zajmuje się transmisją danych i ogólnie pojętą komunikacją wewnątrz określonego systemu. W firmie zajmującej się obsługą danych, zachodzić będzie dużo komunikacji wewnętrznej i zewnętrznej. Dobrze funkcjonująca szyna danych wspomoże przechowywanie i przemieszczanie danych wewnątrz firmy. To z kolei wpłynie na lepszy workflow i większą efektywność wykorzystywania i przetwarzania posiadanych informacji.

 

Szyna danych, w oparciu o założenia architektury SOA, to pożądany produkt wśród firm przetwarzających duże ilości informacji. Niestety wiele przedsiębiorstw rezygnuje z wprowadzania takiego rozwiązania ze względu na obowiązek dużej inwestycji finansowej oraz z obawy przed wadliwym funkcjonowaniem. W przeszłości istniały przykłady nieudanych integracji systemów w architekturze SOA na szynach danych, stąd strach przed akceptacją wdrożenia. Mimo uznawania tego typu rozwiązań za elastyczne i nowoczesne firmy wahają się przed ostateczną decyzją.

 

Jakie są założenia SOA?

Najważniejszym założeniem SOA jest budowanie z perspektywy usługowej. Zamiast tworzyć całe aplikacje, uwaga deweloperów spoczywa na komponentach i fragmentach oprogramowania, które będą możliwie najbardziej użyteczne. Oprócz tego ważna jest możliwość integracji z resztą systemu lub innymi aplikacjami. Aplikacje powstające w tej filozofii od podstaw projektowane z myślą o reużywalności i łączeniu z resztą oprogramowania. Każdy z fragmentów software’u odpowiedzialny jest za inną funkcję, ale służyć będzie jednej firmie lub nawet jednej usłudze.

 

Zalety architektury SOA

Rozbicie środowiska IT na poszczególne elementy służy głównie prędkości działania. Po tym, jak system zostanie rozdzielony na zestawy logiki i zestawy biznesowe zamiast funkcjonowania w postaci jednego dużego tworu, jego waga się zmniejszy. Umożliwia to przechowywanie powstałych fragmentów w chmurze czy w aplikacjach SaaS. Ważne jest jednak, aby między tymi elementami pozostała pełna współpraca i integracja. Jeśli system zostanie skonstruowany według tych wytycznych, automatyzacja procesów biznesowych będzie łatwiejsza i szybsza. Organizacja korzystająca z szybkiego i elastycznego systemu może równie szybko reagować na zapytania klienta. Wydajność wzrasta, nie spowalniając przy tym obsługi klienta, co jest „być, a nie być” dla firm świadczących usługi w oparciu o systemy IT.

 

Kolejną zaletą posiadania systemu rozbitego na poszczególne elementy jest większa plastyczność. Ponieważ od podstaw budowany on był z myślą o elastyczności, rozbudowa o kolejne produkty zintegrowane z resztą usług to przewaga rynkowa nad firmami korzystającymi z systemów-molochów.

 

Mimo że samo wprowadzenie architektury SOA może być kosztowne, to z pewnością pozwoli ono w przyszłości obciąć koszty utrzymania systemu. Redukcja nadmiarowości i złożoności starszych systemów to duża zaleta dla zespołów IT pracujących przy integracjach. Wpłynie to na wydajność ich pracy i uczyni oprogramowanie bardziej wydajnym w serwisowaniu i używaniu.

 

Rozwiązanie dla sprawnego wprowadzenia architektury SOA

Firmy opierające swoją działalność na technologii IT niechętne są do wprowadzania architektury SOA. Większość takich projektów odbywała się w sposób odgórny, czyli jako pojedyncza inicjatywa, która w jednej integracji zmieniała oprogramowanie całej organizacji. Sposób wprowadzania zmian narzucany był przez firmy produkujące te rozwiązania. Ich wdrożenie oparte były na wielu etapach, trwały wieczność i wymagały pracy wysoko wykwalifikowanego personelu przed długi okres. Stąd koszty integracji były ogromne. 

 

A to wciąż nie gwarantowało finalnego sukcesu. Po wdrożeniu personel firmy z nowym systemem musiał nauczyć się jego obsługi, co również łączyło się z kosztami podniesienia kwalifikacji. Nowopowstały system wymagał tworzenia specjalnych aplikacji wewnętrznych, zgodnych z zasadami SOA. Problematyczność tego rozwiązania sięga deweloperów, odbiorców oprogramowania, jak również klienta końcowego.

 

Konkretne produkty ESB

Rozwiązaniem, które usprawni wprowadzanie architektury SOA będzie lekka, open source’owa szyna usług. Na rynku istnieją różne tego typu produkty jak np. Mule ESB lub WSO2. Szyna wspierać będzie nadzorowanie i zarządzanie świadczonymi usługami bez stosowania rozbudowanych pakietów oprogramowania integracyjnego, które łączą się z wysokimi kosztami.

 

Wprowadzenie ESB (Enterprise Service Bus) jest szybkie i niemal od razu gotowe do użytku. Wokół takiego systemu deweloperzy mogą budować stopniowo usługi i aplikacje z interfejsami API, wciąż mając na uwadze założenia architektury SOA. Oznacza to, że firma może adaptować SOA bez reorganizacji całego środowiska IT. Przez korzystanie z rozwiązań open source wdrożenie posiadać będzie jeszcze większą elastyczność w integracji wielu aplikacji w jeden system. Wprowadzić można wtedy również metodę przechowywania danych w chmurze. Ani Mule ESB, ani WSO2 nie wprowadza vender locka, czyli nie uzależnia klienta od swojej marki przez tworzenie szablonu lub wzorca integracji. 

 

Zalety korzystania z szyny usług

W projektach integracyjnych łączenie systemów musi być szybkie, ponieważ wymagają one wielu komponentów składających się na nowoczesną architekturę. Firmy chcące korzystać z API muszą je zaprojektować, zbudować, zarządzać i zabezpieczyć, a to wszystko w trakcie wdrażania do systemu na bieżąco.

 

Korzystanie z Mule ESB lub WSO2 ESB oznacza niezawodną łączność między systemami i pełne zarządzanie cyklem życia API w obrębie jednej platformy. Z korzystania z szyny usług wynika ciągłość biznesowa dzięki narzędziom monitorowania. W tym celu korzystać można z przyrządów wbudowanych lub zewnętrznych. Do drugiej grupy należą narzędzia ELK Stack, cieszące się popularnością wśród użytkowników szyn usług.

 
 

Dobrze wykonany system oparty na pryncypiach architektury SOA i z wykorzystaniem szyny danych to duża pozytywna zmiana dla firmy. Łączyć się z tym będą pewne wydatki i proces wdrażania w charakterystykę środowiska, ale w ogólnym rozrachunku gra jest warta świeczki. Aby ułatwić cały proces integracji i przyspieszyć moment, w którym system zaczyna funkcjonować, warto rozważyć rozwiązania typu Mule ESB. Daje on pełną elastyczność w dalszej rozbudowie, a możliwości integracji są ogromne. Wybór odpowiedniego partnera deweloperskiego jest równie ważny, ale efekt z pewnością przyniesie duże korzyści finansowe oraz płynność i efektywność działania systemu. Architektura SOA zbudowana na szynie danych to z pewnością opcja warta rozważenia.