W Polsce o SOA (Service Oriented Architecture – architekturze ukierunkowanej na usługi) jest głośno od jakiegoś czasu. Firma Progress Software w 2006 r. prezentowała działanie tej architektury na przykładzie kolejki, do której można było doczepiać dowolne wagony, zmieniając w ten sposób jej funkcje i cel przeznaczenia.
Na polskim rynku SOA działa firma BEA Systems, która definiuje swoją platformę AquaLogic jako myślącą ciecz, zapełniającą każde wolne miejsce między istniejącymi systemami informatycznymi, usprawniającymi życie przedsiębiorstw (patrz: wywiad z Robem Levy w lutowym numerze MSI Polska). W rynku tym partycypują również firmy: IFS Poland, IDS Scheer. Zaineresowana jest nim także firma Apriso.
Pierwszego sierpnia 2006 r. w Warszawie rozpoczęło działalność SOA Center of Excellence firmy IBM Polska. W ofercie są usługi biznesowe, np. wspomagające wprowadzanie ładu organizacyjnego – IBM SOA Governance, oraz usługi techniczno-projektowe, np. identyfikacja i specyfikacja usług w oparciu o Service-Oriented Modelling and Architecture. Z kolei firma Epicor stworzyła system Vantage od podstaw w architekturze SOA.
Ale czy znaczenie architektury SOA stało się powszechnie znane? W rzeczywistości polski rynek traktuje SOA jako kolejne modne hasło, nie wiedząc tak naprawdę, jakie niesie korzyści.
O wyjaśnienie znaczenia terminu SOA poprosiliśmy kilku ekspertów.
Jaka jest świadomość w Polsce, na czym polega SOA?
– SOA – definiowana jako architektura biznesowa ukierunkowana na usługi – jest wciąż, nie tylko w Polsce, pojęciem nowym, nie do końca rozumianym. Częściowo wiąże się to z ciągle niskim poziomem informatyzacji polskich fi rm w porównaniu z bardziej rozwiniętymi rynkami. A przecież architektura SOA sprawdza się najlepiej w środowisku wielu, często niekompatybilnych, wdrożonych w różnym czasie i opartych na odmiennych technologiach aplikacji. Zastosowanie w tym przypadku SOA znacznie redukuje koszty utrzymania takiego systemu, zapewnia jego sprawną integrację, dostosowuje go do modelu biznesowego firmy i zmieniających się warunków rynkowych, a także znacznie ułatwia zarządzanie nim.
Często firmy nie zdają sobie sprawy, że stosunkowo niskim nakładem kosztów mogą wycisnąć dużo więcej ze swoich inwestycji w zakresie systemów ERP przy zastosowaniu odpowiedniego podejścia. W ubiegłym roku jeden z naszych klientów, u którego wcześniej wdrażaliśmy intranet, zamówił u nas usługę połączenia jego systemu ERP (wdrażanego przez inną firmę) z wiodącymi operatorami EDI. Oczywiście, można by to było zrealizować tradycyjną metodą transformacji plików, ale dzięki użyciu adaptera do tego systemu (mamy takie adaptery do większości systemów ERP) nie dość, że mogliśmy zastosować zaawansowane mechanizmy kontroli spójności danych, to jeszcze udostępniliśmy funkcje i dane z systemu ERP innym procesom. Teraz, gdy klient chce śledzić proces zmian i akceptacji indeksów materiałowych, co można, ale trudno zrealizować w ERP, skorzysta z lekkiego narzędzia do zarządzania workflow zintegrowanego z portalem, z graficzną wizualizacją procesów, które prosto komunikuje się z ERP przez serwis udostępniony przez adapter. W dodatku zmiana systemu ERP po wymianie adaptera nie będzie wymagała przebudowy workflow ani EDI.
Jak wygląda polski rynek SOA? Czy są jakieś dane na ten temat?
– Nie spotkałem się z szczegółowymi badaniami na temat stopnia wykorzystania koncepcji SOA w Polsce, natomiast mogę stwierdzić, że widoczne jest coraz większe zapotrzebowanie na tego rodzaju architekturę. W jednym z ostatnich badań CIO/Computerworld 77% respondentów wyraziło przekonanie, że SOA wpłynie na większą elastyczność biznesu. Biorąc pod uwagę prognozy na bieżący rok, mówiące o największym od 4 lat wzroście wydatków działów IT (m.in. niedawny raport banku inwestycyjnego Merill Lynch), z pewnością wartość zamówień na projekty realizowane w SOA znacznie wzrośnie. Już zacieramy ręce, mając nadzieję na skonsumowanie części tego tortu.
Andrzej Biesiekierski prezes zarządu Fild.NET sp. z o.o.
Co łączy ERP, EDI, workflow i SOA?
– Ważny jest pomysł na podejście. Coraz częściej mamy do czynienia z sytuacją, gdy firma wdrożyła system ERP, którego koszt zamknął się siedmiocyfrową kwotą. Wszelkiego rodzaju rozszerzenia są kosztowne, długotrwałe w implementacji i niekoniecznie przyjazne dla użytkownika. W pewnym momencie nasz kluczowy odbiorca mówi: od tej pory przechodzimy na EDI, oto nasz operator, możecie z nim podpisać umowę. Jeśli chcemy to zintegrować, mamy kilka możliwości: tradycyjny sposób poprzez importy i eksporty plików, lub wykorzystać tę możliwość do wprowadzenia elementu SOA: wykorzystujemy rozwiązanie, które podłącza się adapterem do praktycznie każdego znanego systemu ERP, udostępnia jego funkcje przez odpowiednie usługi, a następnie odzwierciedlamy proces, który chcemy zrealizować. Jedno i drugie podejście zapewni przepływ zamówień, potwierdzeń i faktur, natomiast łatwo sobie wyobrazić, które zapewni większą elastyczność modyfikacji, kontrolę poprawności realizacji procesu i spójność danych.
Podsumowując: dobrze jest zastanowić się, co chcemy realizować bezpośrednio w systemie ERP, a jeśli mamy robić coś poza nim – jak się łączyć. Będzie to miało istotny wpływ na możliwości wspierania biznesu w przyszłości, zarówno pod względem funkcji, jak i czasu oraz pieniędzy. |
Wydaje się, że znaczenie SOA jest szczególnie doceniane w dużych firmach – szczególnie tam, gdzie istniała lub istnieje konieczność komunikacji pomiędzy licznymi, specjalizowanymi programami. Przy tradycyjnych rozwiązaniach taka integracja wymaga dużych nakładów, związanych z koniecznością budowy i utrzymania interfejsów pomiędzy systemami. Wystarczy uświadomić sobie, że każda zmiana w jednej aplikacji może wymagać dostosowania we wszystkich programach, z którymi dana aplikacja się komunikuje, nie wspominając o sytuacji wymiany oprogramowania, gdy jakaś aplikacja zostaje zastąpiona nową. Tymczasem architektura zorientowana na usługi w pewnym sensie uniezależnia poszczególne systemy od siebie – prawidłowo wywołana usługa zadziała zawsze w ten sam, znany sposób. Architektura zorientowana na usługi postrzegana jest więc w dużej mierze jako sposób na otwarcie aplikacji i jej integrację z otoczeniem.
Zasadnicza różnica pomiędzy systemami tradycyjnymi a napisanymi w architekturze SOA polega na podejściu do procesów biznesowych, które dana aplikacja ma obsługiwać. W przypadku systemów tradycyjnych oprogramowanie bardzo często narzuca sposób, w jaki przebiegają procesy biznesowe, wymuszając kolejność czynności lub wręcz wykonanie pewnych operacji, zbędnych z punktu widzenia biznesu i służących jedynie temu, żeby system mógł prawidłowo zadziałać i zapisać dane.
W przypadku systemów, które w pełni wykorzystują architekturę SOA, biznes może określić, jak działa aplikacja – poczynając od wyglądu ekranów a na przebiegu procesów biznesowych kończąc. Z punktu widzenia poprawności oprogramowania istotne jest tylko, aby poszczególne usługi – funkcje systemu – były prawidłowo wywoływane. Co więcej – nie ma znaczenia, czy dana usługa została wywołana za pomocą standardowego interfejsu użytkownika, przez portal internetowy, z urządzenia przenośnego, czy przez inną, zewnętrzną aplikację. Jeżeli wywołanie było prawidłowe, system zawsze zadziała tak samo, zgodnie z logiką biznesową. Jeżeli wywołanie nie było prawidłowe, wygeneruje komunikat błędu.
Paweł Seliga Territory Manager Epicor Software Poland sp. z o.o.
SOA sprawia, że granice – zarówno te geografi czne, jak i pomiędzy systemami, przestają mieć znaczenie, dane mogą być integrowane i prezentowane praktycznie w dowolnej formie na poziomie zarządczym, komunikacja z kontrahentami może odbywać się w czasie rzeczywistym, a przede wszystkim – to biznes określa sposób działania aplikacji a nie aplikacja determinuje, jak powinien działać biznes.
Dzięki upowszechnianiu SOA obecnie również małe i średnie firmy będą mogły czerpać z niej korzyści. Warunkiem jest oczywiście koszt tego typu rozwiązań. I nie chodzi tu wyłącznie o koszty licencji, ale przede wszystkim o koszty związane z praktycznym wykorzystaniem możliwości, jakie daje SOA. Oprócz architektury potrzebne są bowiem narzędzia, które zapewnią, bez udziału programistów, budowanie własnych reguł biznesowych, dostosowywanie interfejsu użytkownika czy integrowanie systemu z innymi aplikacjami. W przeciwnym razie istnieje obawa, że architektura zorientowana na usługi pozostanie jedynie chwytem marketingowym producenta, a nie faktycznym narzędziem umożliwiającym efektywne wykorzystanie informatyki w małym lub średnim przedsiębiorstwie.
Obecnie wszyscy liczący się gracze na rynku rozwiązań dla przedsiębiorstw mają strategię dotyczącą SOA. Większość dostawców ERP przyjęła jednak taktykę polegającą na udostępnianiu co jakiś czas kolejnych nowych funkcji przez Web Services. Niektórzy dostawcy dostarczają też narzędzia, dzięki którym można zbudować własne usługi (Web Services) do obsługi poszczególnych funkcji systemu, nieobjętych jeszcze oficjalną aktualizacją. Epicor poszedł krok dalej, tworząc system w pełni zorientowany na usługi, a dostarczane z systemem narzędzia pozwalają tworzyć własne reguły biznesowe i zarządzać nimi.
System Vantage, jako jedno z nielicznych rozwiązań jest dostępny w architekturze w 100% zorientowanej na usługi. Oznacza to, że każda funkcja systemu może być wywołana przez Web Service, a co więcej: standardowy interfejs użytkownika komunikuje się z systemem także poprzez usługi, co sprawia, że może on być niemal dowolnie dostosowany do potrzeb użytkownika, bez ingerencji programisty. Dzięki wykorzystaniu możliwości, jakie daje taka architektura, w systemie Vantage można doskonale odwzorować procesy biznesowe zachodzące w firmie oraz dostosować go do zmieniających się warunków prowadzenia działalności gospodarczej, bez konieczności dokonywania kosztownych zmian programistycznych. |
Jaka jest świadomość w Polsce, na czym polega SOA?
– W minionym roku świadomość znaczenia SOA oraz możliwości jej zastosowania w systemach IT dynamicznie wzrosła. Coraz więcej dyrektorów i menedżerów IT w Polsce rozumie, że SOA to nie tylko filozofi a, ale konkretny ład organizacyjny, który może mieć zastosowanie również w ich systemach IT. Wzrasta liczba firm i instytucji zainteresowanych wdrożeniem szyny usługowej ESB, dzięki której aplikacje traktowane są jako grupy wzajemnie współpracujących usług. Coraz więcej firm kieruje do nas pytania o szczegóły związane z SOA oraz ogłasza przetargi na wdrożenia ładu organizacyjnego opartego na tej metodologii.
Marcin Roszczyk konsultant w dziale Global Business Services, IBM Polska
Jak wygląda polski rynek SOA? Czy są jakieś dane na ten temat?
– Dotychczas w Polsce mieliśmy jedynie przykłady zastosowań SOA na małą skalę. Ze względu na ich niewielki zakres działania te były często kwestionowane przez niektórych specjalistów. Nie oznacza to, że w Polsce nie są możliwe wdrożenia na większą skalę. Obecnie, w ramach usług świadczonych przez IBM Global Business Services, oferujemy stworzenie i wdrożenie ładu organizacyjnego opartego na SOA w największych przedsiębiorstwach z niemal każdej branży. Usługi te obejmują praktycznie wszystkie etapy wdrożenia: od oszacowania korzyści biznesowych, poprzez tworzenie strategii i planów realizacji aż po projektowanie i wdrożenie rozwiązania na poziomie organizacyjnym i technicznym.
W najbliższym czasie powinniśmy częściej słyszeć o kolejnych kontraktach, których celem jest wdrożenie ładu opartego na SOA na coraz większą skalę. Wiele firm i instytucji już rozpoczęło transfer swoich systemów IT na platformy charakterystyczne dla środowisk SOA, wkrótce możemy się więc spodziewać informacji o pierwszych kompleksowych wdrożeniach zakończonych sukcesem. Przykłady pomyślnie zakończonych zastosowań założeń SOA w praktyce będą kolejnym impulsem dla rozwoju rynku SOA w Polsce. |
Autor: Elżbieta Jaworska, MSI Polska