SOA Ideologia nie technologia



Podobne dokumenty
Projektowanie Modeli Usług dla rozwiązań typu SOA

Stan zaawansowania prac dotyczących zamówienia na opracowanie i wdrożenie rdzenia systemu e Urząd.

SOA Web Services in Java

Architektura Systemu. Architektura systemu umożliwia kontrolowanie iteracyjnego i przyrostowego procesu tworzenia systemu.

Projekt: Współpraca i Rozwój wzrost potencjału firm klastra INTERIZON

ZARZĄDZANIE WYMAGANIAMI ARCHITEKTONICZNYMI

Dlaczego modele architektoniczne to zamało? Wprowadzeniedo ładu architekturykorporacyjnej

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje w roku akademickim 2011/2012. Architektura zorientowana na usługi

WPROWADZENIE DO UML-a

Dobre praktyki w doborze technologii rozwiązań informatycznych realizujących usługi publiczne

OSGi Agata Hejmej

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

BPM vs. Content Management. Jarosław Żeliński analityk biznesowy, projektant systemów

Aurea BPM Dokumenty pod kontrolą

Szkolenie: Budowa aplikacji SOA/BPM na platformie Oracle SOA Suite 11g

Technologie dla aplikacji klasy enterprise. Wprowadzenie. Marek Wojciechowski

Komunikacja i wymiana danych

IBM Corporation IBM SOA Center of Excellence

Skrócone opisy pryncypiów architektury korporacyjnej podmiotów publicznych

DLA SEKTORA INFORMATYCZNEGO W POLSCE

ZAŁOŻENIA TECHNICZNO-TECHNOLOGICZNE SYSTEMU BUDOWANEGO W RAMACH PROJEKTU

Systemy obiegu informacji i Protokół SWAP "CC"

The Binder Consulting

Prowadzący: Bartosz Górczyński, CTPartners S.A, itsmf Polska. Miedzeszyn, wrzesień 2010

Architektury usług internetowych. Tomasz Boiński Mariusz Matuszek

Procesowa specyfikacja systemów IT

Data Governance jako część ładu korporacyjnego

Spis treści. Dzień 1. I Wprowadzenie (wersja 0906) II Dostęp do danych bieżących specyfikacja OPC Data Access (wersja 0906) Kurs OPC S7

Zarządzanie usługami IT

Oprogramowanie dostosowane do potrzeb użytkownika. Skrócenie czasu wejścia na rynek

W książce omówiono: SAP zostań ekspertem w 24 godziny!

Projekty BPM z perspektywy analityka biznesowego. Wrocław, 20 stycznia 2011

<Insert Picture Here> SOA w oparciu o domeny kompetencyjne oraz architekturę referencyjną

Projekt architektury systemów informatycznych Uniwersytetu Warszawskiego w oparciu o metodykę TOGAF. Tomasz Turski

System Centralny dla banku w 6 miesięcy

Jarosław Żeliński analityk biznesowy, projektant systemów

Sybase Professional Services

Wybrane działy Informatyki Stosowanej

TWÓJ BIZNES. Nasz Obieg Dokumentów

Mateusz Kurleto NEOTERIC. Analiza projektu B2B Kielce, 18 października 2012

Automatyzacja procesów biznesowych Andrzej Sobecki. ESB Enterprise service bus

Kurs OPC S7. Spis treści. Dzień 1. I OPC motywacja, zakres zastosowań, podstawowe pojęcia dostępne specyfikacje (wersja 1501)

Jak opisać wymagania zamawiającego wybrane elementy

Usługi analityczne budowa kostki analitycznej Część pierwsza.

Egzamin ITIL Foundation

Microsoft Operations Manager 2005 Podręcznik wdrażania

Opis metodyki i procesu produkcji oprogramowania

Analityk i współczesna analiza

Informatyzacja przedsiębiorstw WYKŁAD

Wykład Ćwiczenia Laboratorium Projekt Seminarium

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów niestacjonarnych studiów II stopnia)

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Zapewnij sukces swym projektom

Rozproszone systemy internetowe

MVVM Light Toolkit. Julita Borkowska

Monitoring procesów z wykorzystaniem systemu ADONIS

HP Service Anywhere Uproszczenie zarządzania usługami IT

ZARZĄDZANIU. Wykład VI. dr Jan Kazimirski

Modernizacja systemów zarządzania i obsługi klienta w Kasie Rolniczego Ubezpieczenia Społecznego

Architektura korporacyjna jako narzędzie koordynacji wdrażania przetwarzania w chmurze

Programowanie w języku Java. Wykład 13: Java Platform, Enterprise Edition (Java EE)

Zarządzanie firmą Celem specjalności jest

Maciej Oleksy Zenon Matuszyk

Bazy danych 2. Wykład 1

Spis treúci. 1. Wprowadzenie... 13

Programowanie współbieżne i rozproszone

JAK OPTYMALNIE DOBRAĆ ODPOWIEDNIE TECHNOLOGIE INFORMATYCZNE?

JBPM [JUG] Tomasz Gratkowski [GRATKOWSKI SOFTWARE]

udokumentowanych poprzez publikacje naukowe lub raporty, z zakresu baz danych

Korporacyjna Magistrala Usług na przykładzie Mule ESB

DOTACJE NA INNOWACJE

Wspomaganie pracy w terenie za pomocą technologii BlackBerry MDS. (c) 2008 Grupa SPOT SJ

Modelowanie procesów biznesowych, przepływu pracy i wdrażanie aplikacji w oparciu o Jboss jbpm lub Activiti

Elektroniczna Księga Wieczysta

SEO.341-4/06 Gryfino, dnia 27 czerwca 2006r.

SOA: mit, slogan czy konieczność?

CEL PODEJMOWANYCH DZIAŁAŃ Zapewnienie dostępu do danych i usług przestrzennych wszystkim zainteresowanym

CENTRUM PROJEKTÓW INFORMATYCZNYCH MINISTERSTWA SPRAW WEWNĘTRZNYCH I ADMINISTRACJI

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Uniwersytet Łódzki Wydział Matematyki i Informatyki, Katedra Analizy Nieliniowej. Wstęp. Programowanie w Javie 2. mgr inż.

WPROWADZENIE DO MODELOWANIA ARCHITEKTUR KORPORACYJNYCH W USŁUGACH PUBLICZNYCH

Narzędzia Informatyki w biznesie

Biorąc udział w projekcie, możesz wybrać jedną z 8 bezpłatnych ścieżek egzaminacyjnych:

Baza danych to zbiór wzajemnie powiązanych ze sobą i zintegrowanych danych z pewnej dziedziny.

Jarosław Żeliński analityk biznesowy, projektant systemów

Grupy pytań na egzamin magisterski na kierunku Informatyka (dla studentów dziennych studiów II stopnia)

Automatyzacja Procesów Biznesowych. Systemy Informacyjne Przedsiębiorstw

I. Opis przedmiotu zamówienia

Korporacyjna Magistrala Usług na przykładzie Oracle Service Bus

Systemy zorientowane na usługi. mgr inż.tadeusz Węgrzynowski Główny Specjalista ds. Teleinformatyki Politechnika Warszawska Dział Telekomunikacji

Globalne referencje dla idempiere Business Suite

Wykaz osób w postępowaniu o udzielenie zamówienia publicznego nr 32-CPI-WZP-2244/13. Podstawa do dysponowania osobą

Szybkie mierzenie efektywności zoptymalizowania procesów. Korzyści w wariancie idealistycznym

Architektura oprogramowania w praktyce. Wydanie II.

Projektowanie informatycznych systemów zarządzania produkcją

Systemowe rozwiązania Smart Grid ofertą do nowoczesnego zarządzania przedsiębiorstwami sieciowymi

Nazwa przedmiotu: MODELOWANIE I ANALIZA SYSTEMÓW INFORMATYCZNYCH. Modeling and analysis of computer systems Forma studiów: Stacjonarne

Spring Framework - wprowadzenie i zagadnienia zaawansowane

Projekt Fusion nowe oblicze aplikacji Oracle

REKOMENDACJE DOTYCZĄCE PLATFORMY ZARZĄDZANIA KOMPETENCJAMI

Transkrypt:

XV Konferencja PLOUG Kościelisko Październik 2009 SOA Ideologia nie technologia Jarosław Łagowski IBM Polska Jaroslaw.Lagowski@pl.ibm.com Abstrakt. SOA Service Oriented Architecture jest aktualnie powszechnie stosowanym terminem. Terminu tego używa się w szerokim zakresie w kontekście: architektury systemów IT, oprogramowania, technologii wytwarzania itp. W tym referacie, SOA będzie potraktowane przede wszystkim jako podejście do systemów IT. Podejście, które ma na celu dostarczenie odbiorcy końcowemu ( biznesowi ) usługi a nie aplikacji, systemu, czy technologii.

SOA Ideologia nie technologia 181 1. Co to jest SOA? Subiektywna definicja Pomysł na SOA (Service Oriented Architecture) nie jest nowy. Architektura Zorientowana na Usługi dla branży informatycznej oznacza działanie według schematów obowiązujących w innych branżach usługowych takich jak naprawa pojazdów, fryzjerstwo, turystyka, itp. Na przykład, oddając dziurawą oponę do naprawy, interesuje nas efekt końcowy: naprawione koło. Nie zamierzamy w tym celu kupować maszyny do wyważania kół i innych narzędzi. Tak naprawdę to nawet nie interesuje nas przy użyciu jakich narzędzi jest naprawiona nasza opona. Interesują nas parametry wykonania usługi: czas, cena, jakość. Czy można podać definicję SOA? Można i to na wiele sposobów. Trudno powiedzieć natomiast, która jest najwłaściwsza. SOA jest ideą, która trzeba zrozumieć a nie technologią, która można ściśle zdefiniować. Dlatego opis SOA i pojęć związanych, podany w tym artykule jest raczej wypadkową zdobytej wiedzy i doświadczeń autora niż jedyną słuszną definicją. Podstawowym założeniem tego artykułu jest przekazanie pomysłów kryjących się pod hasłem SOA, abstrahując od konkretnych technologii. Zatem, co to jest SOA? SOA to architektura dla aplikacji biznesowych tworzonych jako zestaw samodzielnych komponentów, zorganizowanych tak, aby dostarczyć usługi, działające według określonych kryteriów, wspierające realizację procesów biznesowych. Rys. 1. SOA Można powiedzieć, że to, czym jest SOA zależy od punktu widzenia. I tak, z perspektywy biznesu (Odbiorcy Usług) widzimy zestaw Usług wspierających realizację procesów biznesowych. Z perspektywy IT natomiast, widzimy infrastrukturę potrzebną do dostarczenia tych Usług.

182 Jarosław Łagowski Rys. 2. Różne perspektywy SOA Warto podkreślić, że SOA nie jest uniwersalnym podejściem do Informatyki. Chodzi tutaj o powszechne, ale nie jedyne, zastosowanie IT, gdzie mamy to czynienia z bezpośrednim wsparciem procesów biznesowych (które może być realizowane właśnie w formie usług). Inną sytuację mamy, kiedy produktem jest np. oprogramowanie sprzedawane w pudełku lub sprzęt komputerowy na biurko. Inną sytuację mamy też wtedy, gdy bezpośrednim odbiorcą produktów IT jest również IT, np. systemy backupowe, narzędzia administracyjne, monitorujące itp. W takich przypadkach SOA, niekoniecznie ma zastosowanie. SOA pomaga ustalić i realizować wspólne cele biznesowi i IT poprzez ustanowienie wspólnego języka i dostarczenie elastycznej infrastruktury pozwalającej szybko wprowadzać zmiany wynikające z potrzeb biznesu. Podstawowe cechy SOA: 1. SOA ma zastosowanie dla aplikacji biznesowych Istnieją różne, ugruntowane metodologie czy teorie tworzenia systemów informatycznych. SOA nie jest pomysłem na tworzenie dowolnych systemów. SOA jest podejściem do tworzenia aplikacji biznesowych. 2. SOA jest architekturą komponentów - czarnych skrzynek Istotą jest ukrycie przed Odbiorcą Usługi jej elementów składowych. Czarna skrzynka oczekuje określonego wejścia i produkuje określone wyjście. Dzieje się to niezależnie od budowy wewnętrznej jak również ewentualnych zmian w tej budowie. 3. Komponenty SOA są luźno powiązane (loosely coupled) Termin luźno powiązane określa sposób, w jaki komponenty SOA współpracują ze sobą. Każdy komponent może pracować autonomicznie, wykonując proste czynności. Współpraca komponentów polega na wymianie komunikatów w określonej, standardowej formie. Pracując razem, komponenty mogą realizować to, co zwykle jest realizowane przez duże monolityczne aplikacje. Mogą natomiast łatwo być komponowane i wykorzystywane do innych, mniej lub bardziej złożonych celów. 4. Komponenty SOA są aranżowane i współpracują ze sobą realizując proces biznesowy Celem SOA jest realizacja procesu biznesowego a nie jak w tradycyjnych systemach IT działanie jakiegoś modułu, czy funkcji aplikacji. Cele i parametry procesu biznesowego są wyznacznikiem, do którego muszą być dopasowane komponenty SOA, zapewniając wymagany poziom dostarczanej usługi. Istotnym założeniem SOA jest wykorzystanie istniejących aplikacji i systemów. Od strony technicznej, konieczne jest zaimplementowanie standardowej współpracy pomiędzy istniejącymi i nowymi systemami. Jeżeli potrafimy zapewnić współpracę pomiędzy już istniejącymi elementami infrastruktury, to możemy łatwiej wyeliminować redundancję. To z kolei pociąga za sobą ogra-

SOA Ideologia nie technologia 183 niczenie kosztów administracji i utrzymania. Co więcej, może się okazać, że z komponentów już istniejących, które teraz umiemy połączyć, możemy zbudować nowe rozwiązanie, unikając zakupów. SOA dla Kierownictwa: Technologia jest po to, aby wspierać procesy oceny, kontroli i podejmowania decyzji a nie po to, aby te procesy determinować lub, co gorsza, ograniczać. 2. Usługa niejedno ma imię Usługa jest pojęciem podstawowym dla SOA. Dlatego należy wyjaśnić, co ono oznacza w kontekście SOA. Dla porównania przedstawimy inne definicje Usługi. 2.1. Usługa (SOA/Biznesowa) Usługa w ujęciu SOA, jest pojedynczym komponentem dostarczanym przez IT do biznesu, wspierającym realizację określonego zadania występującego w jednym lub więcej procesów biznesowych. W kontekście SOA, usługa taka nazywana jest usługą biznesową (business service) lub po prostu usługą. Pojedyncza usługa korzysta najczęściej z wielu elementów infrastruktury IT, np.: sieci, aplikacji, baz danych, itp. jak również innych dostępnych usług biznesowych. 2.2. Usługa Sieciowa (WEB Service) Rys. 3. Usługa Biznesowa (SOA) Usługa sieciowa (web service) jest to komponent programowy niezależny od platformy i implementacji, dostarczający określonej funkcjonalności. Usługa sieciowa jest (na ogół): zdefiniowana za pomocą specjalistycznego języka opisu (standaryzowanym językiem, bazującym na XML jest WSDL - Web Services Description Language) opublikowana i wyszukana w rejestrze usług za pomocą standardowego mechanizmu (np. rejestry UDDI) wywołana zdalnie przez zdefiniowany interfejs częścią innych usług sieciowych lub być ich kompozycją. Usługi Sieciowe są bardzo popularnym, ale nie jedynym, elementem realizacji Usługi Biznesowej (SOA).

184 Jarosław Łagowski 2.3. Usługa IT (IT Service) wg ITIL Rys. 4. Usługa Sieciowa (Web Service) Filozofia ITIL IT Infrastructure Library opiera się na dostarczaniu i zarządzaniu usługami IT poprzez procesy. W tym kontekście Usługa jest pojęciem komercyjnym, opisanym w umowie pomiędzy Dostawcą (IT) i Odbiorcą (Biznes). Ścisła definicja Usługi w kontekście ITI jest następująca: Usługa IT (wg ITIL) jest sposobem, którym posługuje się Dostawca, aby Odbiorca uzyskał określoną wartość (korzyść), przy czym to Dostawca ponosi specyficzne koszty i ryzyko związane z zapewnieniem środków do realizacji usługi. Typowym przykładem Usług ITIL'owych jest outsourcing Ośrodka Obliczeniowego, czy administracji określonym systemem.

SOA Ideologia nie technologia 185 2.4. Powiązanie różnych Usług. Przykład Rys. 5. Różne typy Usług. Przykład Proces Biznesowy: Sprzedaż Towaru Zadanie w procesie: Wystawienie Faktury Wystawienie Faktury może być zadaniem również w innych procesach biznesowych (np. w obszarze Wynajem Nieruchomości). Modelowanie biznesowe ma na celu, między innymi, znalezienie tego typu standardowych zadań, które mogą być realizowane podobnie w wielu procesach. Pod-Zadanie w procesie: Przeliczenie Kursu Waluty Przeliczenie Kursu Waluty jest kolejnym elementem układanki modelu procesów biznesowych. Takie zadanie (lub pod-zadanie) może być wykonywane w wielu kontekstach (księgowość, kadry/płace, fakturowanie) i jest przykładem uniwersalnego, elementarnego klocka modelu procesów. Usługa Biznesowa (SOA): Wystawienie Faktury Usługa Biznesowa Wystawienie Faktury musi zapewnić obsługę powiązanego zadania biznesowego. Kompletność wykonania takiego zadania polega np. na rejestracji odpowiednich danych w systemie ERP, wysłaniu mail'a z powiadomieniem dla stron zainteresowanych i w końcu wydruku papierowej wersji faktury. Tym samym, Usługa Biznesowa (SOA) jest realizowana nie tylko przez elementy programowe (być może Usługi Sieciowe), ale również przez inne elementy infrastruktury takie jak serwer poczty, sieć LAN, czy drukarka. Usługa Sieciowa (Web Service): Przeliczenie Kursu Waluty Usługa Sieciowa Przeliczenie Kursu Waluty jest naszym przykładzie programem wywoływanym zgodnie ze standardami WS, przez Usługę Biznesową Wystawienie Faktury. Zadaniem tego elementu programowego jest sprawdzenie na podstawie parametrów otrzymanego komunikatu, kursu waluty (sprzedaży/kupna/średniego, według tabeli określonego Banku) na zadany dzień. W komunikacie odesłanym do wywołującego podany jest gotowy wynik przeliczenia kursu,

186 Jarosław Łagowski z ewentualnymi dodatkowymi parametrami. Taka Usługa Sieciowa może być oczywiście wykorzystywana w wielu innych procesach biznesowych. Usługa IT (IT Service): Outsourcing Administracji Systemem Środowiskiem, w którym osadzony jest powyższy przykład jest System Informatyczny obejmujący aplikację typu ERP i całą infrastrukturę potrzebną do jego działania (serwery, sieć, drukarki, system backupowy, itp.) Utrzymanie i Administrację tego Systemu realizuje jako Usługę IT firma zewnętrzna na podstawie umowy outsourcingowej. 3. Podstawowe składniki SOA SOA, mając w nazwie architektura ma swoje elementy konstrukcyjne. Poniżej, przedstawione będą podstawowe składniki Architektury Zorientowanej na Usługi. Rys. 6. Podstawowe składniki SOA Enterprise Service Bus Warstwa integracyjna SOA Business Process Orchestration Manager Zarządzanie przepływem procesów SOA Registry Meta dane opisujące dostępne usługi, ich powiązania i infrastrukturę wspierająca SOA Repository Repozytorium kodu, dokumentacji, materiałów referencyjnych, opisu infrastruktury dla usług działających, planowanych i zmienianych. 3.1. Enterpise Service Bus Warstwa integracyjna SOA, nazywana również Szyną Integracyjną, jest zwykle zestawem oprogramowania umożliwiającym sprawą i standardową komunikację pomiędzy komponentami SOA. ESB jest tak ważnym elementem SOA, że powszechne jest przekonanie, iż: ESB = SOA nie ma SOA bez ESB

SOA Ideologia nie technologia 187 Oba z powyższych zdań nie są prawdziwe. ESB jest natomiast efektywnym środkiem do realizacji SOA. Pozwala uwolnić się od sieci powiązań każdy z każdym pomiędzy aplikacjami. Uniezależnia odbiorcę usługi od jej faktycznego dostawcy. To ESB przyjmuje żądanie usługi i kieruje do odpowiedniego (na daną chwilę) dostawcy. Integracja istniejących i nowych aplikacji w ramach SOA polega na podłączeniu do ESB zamiast mozolnego łączenia par dostawca - odbiorca. 3.2. Business Process Orchestration Manager Business Process Modelling jest coraz powszechniej stosowaną (a przynajmniej znaną) techniką definicji i zarządzania procesami biznesowymi. Model procesów biznesowych jest podstawa do implementacji SOA. Business Process Orchestration Manager jest składnikiem SOA, który pozwala wykorzystać w praktyce efekty modelowania procesów biznesowych. Jego zadaniem jest powiązanie procesów i zadań biznesowych z odpowiednimi usługami SOA, użytkownikami, operacjami ręcznymi itp. W założeniu, BPOM posiada mechanizmy pozwalające definiować, a następnie monitorować przebieg procesu biznesowego, mierzyć wydajność według zadanych wskaźników, uruchamiać funkcje automatyczne na podstawie wykrytych zdarzeń, powiadamiać, rejestrować itp. 3.3. SOA Registry SOA Registry to centralny punkt informacyjny na temat definicji, reguł, sposobu dostępu, bezpieczeństwa i innych danych potrzebnych do wykorzystania Usług udostępnionych w danym środowisku SOA. Na tej podstawie, analitycy, projektanci i programiści mogą tworzyć złożone aplikacje korzystające z Usług już dostępnych. Na tej podstawie aplikacje i Usługi korzystające z Usług składowych potrafią skonstruować prawidłowe wywołanie Usługi. Na tej podstawie ESB potrafi prawidłowo przekierować żądanie Usługi i ewentualną odpowiedź. 3.4. SOA Repository SO Repository to centralny magazyn elementów składowych usług takich jak kod źródłowy, zestawy instalacyjne, specyfikacja, dokumentacja etc. SOA Repository jest magazynem tworzonym i wykorzystywanym głównie na etapie projektowania i przygotowania usług. Dotyczy to zarówno usług nowych jak i zmienianych. Porządek w tym magazynie i przestrzeganie reguł jest bardzo ważne dla zapewnienia szybkiego i bezpiecznego wprowadzania nowych usług i zmian w usługach istniejących. 4. Metodologia SOA Po zapoznaniu się z podstawowymi pojęciami i elementami konstrukcyjnym SOA powstaje pytanie: Jak to zrobić?. Podobnie jak z definicją SOA, czy Usługi nie ma jednej gotowej recepty. Jednym ze sposobów, które wydają się odpowiednie jest organizacja działań w trzech obszarach: SOA Governance SOA Design SOA Management

188 Jarosław Łagowski 4.1. SOA Governance Rys. 7. Obszary realizacyjne SOA SOA Governance jest rozszerzeniem (lub: działa w ramach) IT Governance, koncentrując się na cyklu życia usług w ramach implementacji SOA. Zadaniem SOA Governance jest przygotowanie reguł, podziału odpowiedzialności, itp., lub mówiąc inaczej: modelu procesów, według którego usługi będą przygotowywane (SOA Design) i zarządzane (SOA Management) a następnie monitorowanie wykonania i udoskonalenie tychże procesów. 4.2. SOA Design SOA Design jest zespołem działań i środków (w ramach procesów wytyczonych przez SOA Governance) mającym na celu przygotowanie nowej usługi lub zmianę (łącznie z wycofaniem) istniejącej usługi. 4.3. SOA Management SOA Management jest zespołem działań i środków (w ramach procesów wytyczonych przez SOA Governance) mającym na celu utrzymanie implementacji SOA w produkcji. Obejmuje to administrację infrastrukturą IT, monitorowanie, strojenie jak również wsparcie przy wdrożeniu nowych i zmienionych usług. 4.4. 4xP W tytule punktu mieściłem słowo metodologia, dlatego, że wymienione są obszary realizacyjne SOA bez wskazania konkretnej technologii. Trzeba natomiast powiedzieć, że praktycznie niemożliwa jest realizacja któregokolwiek z nich bez wyboru odpowiedniej technologii wspierającej. Mówiąc ogólnie, podobnie jak w ITILu, obowiązuje zasada 4xP. Aby zapewnić sukces implementacji SOA, musimy wziąć pod uwagę aspekty: People Zasoby ludzkie, wiedza, umiejętności, świadomość, komunikacja Processes Organizacja zarządzania i pracy poprzez odpowiedni model procesów Products Technologie, oprogramowanie, sprzęt Partners Współpraca z poddostawcami wewnętrznymi i zewnętrznymi, współpraca pomiędzy wszystkimi stronami zainteresowanymi.

SOA Ideologia nie technologia 189 4.5. Przykłady szablonów implementacyjnych IBM SOA Governance and Management Method Szablon zaproponowany przez IBM (udostępniony częściowo dla Open Group) dla implementacji SOA Governance w oparciu o cykl życia usługi. Rys. 8. SGMM IBM RUP for SOMA (Service Oriented Modelling and Architecture) Szablon procesów wytwórczych dla rozwiązań SOA zbudowany na bazie klasycznego RUP (Rational Unified Process) dostępny w formie plug-in do narzędzia RUP Method Composer lub w formie darmowej publikacji HTML.

190 Jarosław Łagowski SOA Center of Excellence Rys. 9. RUP for SOMA Zespół ludzi z róŝnych działów, mający na celu promowanie i sterowanie implementacją SOA. Istotne jest wsparcie takiego zespołu przez kierownictwo najwyŝszego szczebla, łącznie z wyznaczeniem stałego pełnomocnika Socialize Architecture Communicate framework, best practices, assets, patterns, templates, recipes, methods and other blueprints Provide Architecture Vitality & Thought Leadership Continuously assess, refine and architecture framework and supporting assets based on internal & external influences Conduct Architecture Reviews Perform independent design and architecture reviews for key applications Production Support Enable infrastructure teams to execute on build/deploy, tuning, and metrics reporting Center of Excellence Rys. 10. SOA CoE Provide Project Support Provide direct project assistance to drive architecture and gain feedback on vitality & viability and harvest assets Provides Skills Transfer & Early Proof of Concepts Identify skills gaps and create development roadmaps Drive use of new technologies Promotes Asset Adoption Manage service, service component, pattern, data re-use processes to reduce project risk and accelerate delivery Provides Best Practice Policy & Procedures Provide expert resources to accelerate delivery of critical architecture practices 5. Wskazówki i ostrzeŝenia W tym punkcie zebrane są wskazówki i ostrzeŝenia konsultantów IBM podsumowujących doświadczenia zebrane z kilkunastu wdroŝeń SOA.

SOA Ideologia nie technologia 191 Jak implementować SOA? Zacząć od definicji procesów biznesowych Skorzystać z gotowych szablonów właściwych dla naszego biznesu Zapewnić wsparcie wysokiego kierownictwa Edukować, szkolić, uświadamiać Powołać SOA Center of Excellence Jakie są główne przeszkody w implementacji SOA? Brak strategicznego porozumienia pomiędzy Biznesem i IT Problemy w obszarze SOA Governance (ustalenie i przestrzeganie reguł) Zła organizacja pracy i podział obowiązków Konflikty w zakresie finansowania współdzielonych usług Zmiany kulturowe - odejście od modelu izolowanych wysp Brak umiejętności i narzędzi Rys. 11. Zagrożenia dla implementacji SOA 6. Podsumowanie SOA jest kolejną ideą, która ustawia IT na właściwym miejscu względem biznesu. Implementacja SOA wiąże się ze zmianą sposobu myślenia, przede wszystkim ludzi z IT. Z drugiej strony, ludzie z biznesu mogą odnieść wrażenie, że wystarczy zakupić i wdrożyć odpowiedni produkt, aby być SOA compliant. Tymczasem, potrzeba zadbać o wszystkie 4 P (people, processes, products, partnters), gdyż wdrożenie oparte o tylko technologię, bez uwzględnienia istoty podejścia zorientowanego na usługi, kończy się najczęściej tym, że zamiast SOA mamy tylko SOW: SO What?

192 Jarosław Łagowski Bibliografia źródła 1. ww.ibm.com/soa : SOA for Dummies. 2nd IBM Limited Edition 2. www.redbooks.ibm : Implementing Technology to Support SOA Governance and Management 3. www.ibm.com/developerworks/soa 4. Materiały wewnętrzne IBM