Projektowanie Modeli Usług dla rozwiązań typu SOA Service Oriented Modeling and Architecture (SOMA ) IBM Global Business Services, zdefiniował zestaw usług konsultingowych oraz narzędzi pomagających organizacjom na wdrożenie rozwiązań typu SOA. Jednym z kluczowych etapów wdrożenia SOA jest zbudowanie efektywnego modelu usług, czyli zestawu dostępnych operacji, z których w elastyczny sposób można komponować funkcje i procesy biznesowe. Z doświadczeń IBM wynika, że budowa efektywnego modelu usługowego i informacyjnego sprawia klientom najwięcej problemu. Z tego względu IBM opracował metodologię SOMA (Service Oriented Modeling and Architecture) ułatwiająca zbudowanie modelu usług odzwierciedlającego potrzeby i cele biznesu i jednoczenie optymalnie wykorzystującego istniejące zasoby IT. Tak samo jak dobrze pojęta inżynieria oprogramowania wymaga stosowania metodologii takiej jak OOAD (Object Oriented Analisys and Design), tak samo budowa rozwiązań SOA wymaga zastosowania odpowiednich technik modelowania. * Obiekty Komponenty Usługi Rosnący poziom abstrakcji modelowania rozwiązań IT SOMA bazuje na doświadczeniach OOAD, ale jednocześnie opiera się na technikach dotyczących modelowania procesów biznesowych oraz Architektury Korporacyjnej (EA Enterprise Architecture).
W czym tkwi siła i efektywność metodologii SOMA Aktualnie wielu klientów decyduje się na wdrożenie architektury zorientowanej na usługi (SOA). Większość z nich, traktuje SOA jako pole do wdrożenia nowej platformy integracyjnej w konsekwencji czego koncentruje się na aspektach technicznych związanych z produktami oraz projektowaniem konkretnych rozwiązań opartych o Web Services. Z naszych doświadczeń wynika, że zbudowanie rozwiązań SOA skutecznie realizujących cele biznesowe wymaga podejścia całościowego i głębokiej analizy biznesowej oraz ekspertyzy i sporego zaangażowania zarówno IT jak i Biznesu. W przypadku większości organizacji jest to bardzo trudne do zrealizowania przy wykorzystaniu jedynie zasobów wewnętrznych. Organizacje decydujące się na wdrożenie SOA stają przed wyzwaniem zbudowania silnych podstaw organizacyjnych umożliwiających realizację celów stawianych SOA oraz zdobyciem odpowiedniej wiedzy i narzędzi. Jednocześnie nie posiadają odpowiedniego potencjału, a w szczególności wcześniejszych doświadczeń, co powoduje, że często budowanie SOA jest jedynie implementacją wybranych serwisów technicznych lub produktów. Jest oczywiste, że tego typu podejście w żadnym wypadku nie może prowadzić do uzyskania oczekiwanych rezultatów jakie mogłyby zostać osiągnięte przy podejściu całościowym. Uważamy, że dla organizacji, które zdecydowały się na wdrożenie SOA oraz zidentyfikowały korzyści wynikające z wdrożenia tego typu rozwiązania, kluczowym elementem jest wprowadzenie solidnych podstaw organizacyjnych i operacyjnych wspierających proces realizacji SOA. Do takich podstaw należy zbudowanie wewnętrznej komórki kompetencyjnej (SOA Centem of Excellence) oraz ustanowienie procesów zarządczych (SOA Governance). Jednocześnie fundamentem wdrożenia jest poprawnie zdefiniowany Model Usług oraz Model Informacyjny. Budowa Modelu Usług jest jednym z najbardziej złożonych i kompleksowych etapów wdrożenia SOA, ze względu na to że wymaga znajomości technik analizy biznesowej, dekompozycji procesów i obszarów biznesowych, jak i głębokiego zrozumienia koncepcji architektury zorientowanej na usługi oraz technologii umożliwiających jej realizację. Jednocześnie budowa Modelu Usług jest procesem cyklicznym, który wymaga dobrego włączenia struktury organizacyjne i zarządcze (SOA Governance). IBM stworzył metodologię, która w uporządkowany sposób ułatwiająca Klientom przejście etapu budowy Modelu Usług i Modelu Informacyjnego. Główna siła i efektywność metodologii SOMA polega na tym, że zbiera ona w jednym miejscu wieloletnie doświadczenia i sprawdzone techniki IBM odnośnie modelowania biznesowego, inżynierii oprogramowania, zarządzania projektami
wdrożeniowym oraz doświadczenia z wdrożeń SOA w wielu różnych sektorach rynku. Dla klientów wiedza ta dostępna jest poprzez uporządkowane procedury, narzędzia (np. możliwość wykorzystania Rational Method Composer, patrz poniżej) oraz gotowe do wykorzystania wzorce projektowe, wzorce dokumentów analiz przykładowe struktury modeli itd. Przykład narzędzi wspierających SOMA Rational Method Composer Jednym z głównych atutów metodologii SOMA jest zastosowanie analizy celów biznesowych oraz wskaźników efektywności ( KPI), do identyfikacji usług (tzw. Modelowanie cel-usługa). Dzięki temu uzyskuje się model usług efektywnie odzwierciedlający wymagania biznesu. Dzięki tej analizie jest możliwe wyznaczenie optymalnego rozwiązania pomiędzy wymaganiami wydajnościowymi, kosztami wdrożenia lub adaptacji zasobów technicznych oraz elastycznością i możliwością wielokrotnego użycia zbudowanych usług. Istotne jest również to, że SOMA nie istnieje w oderwaniu od całościowego podejścia IBM do budowy SOA. Stanowi ona integralną część łańcucha technik pozwalających na adaptację organizacji i jej ewolucji w stronę zorientowania na usługi. Dla przykładu, IBM proponuje wykorzystanie metody Component Business Modeling (CBM) jako metody określenia strategicznych obszarów biznesowych. Rezultaty CBM mogą stanowić produkty wejściowe i punk rozpoczęcia dla SOMA.
Zastosowanie metodyki SOMA pozwala znacząco skrócić czas oraz zredukować koszty wdrożenia SOA dzięki wykorzystaniu gotowych i sprawdzonych wzorców. Jednocześnie znacząco minimalizuje się ryzyko popełnienia błędów w tworzeniu efektywnego modelu usługowego i nie zrealizowania celów biznesowych. Podsumowanie zalet metodologii proponowanej przez IBM Opracowana na podstawie doświadczenia IBM jako lidera w rozwoju SOA, Web Services, inżynierii oprogramowania (UML) oraz modelowania komponentów biznesowych (Component Business Modeling) Niezależna od produktów i narzędzi (ale ustalające kontekst dla podejmowania decyzji dot. konkretnych produktów i technologii w późniejszych fazach cyklu życia produktu) Jest metodologią zawierającą powtarzalne i jasno zdefiniowane fazy, etapy i wzorce produktów końcowych Jest metodologią sprawdzoną na różnych etapach projektów, przez wielu klientów na całym świecie Posiada wsparcie w postaci gotowych modeli biznesowych opracowanych przez IBM dla wybranych sektorów rynku Jest metodologią żywa, stale uaktualnianą i dopasowywaną do zmiennych trendów biznesu i na podstawie najlepszych praktyk i lessons learned Na jakie pytania odpowiada SOMA Jak zidentyfikować usługi i jakie stosować kryteria przy ich identyfikacji? Jak przetłumaczyć cele biznesowe na usługi? Jaki poziom szczegółowości dla poszczególnych usług? Tworzyć usługi od zera czy adaptować istniejące systemy? Jak znaleźć optymalne rozwiązanie pod względem wydajności i elastyczności? Tworzyć usługi jako Web Services czy wykorzystać inne technologie? Jak usystematyzować tworzenie i adaptację usług? Jakie stosować kryteria?
Na czym polega metodologia SOMA Projektowanie rozwiązań SOA oparte jest na modelu opisującym architekturę na wielu poziomach abstrakcji wykorzystując specyficzne techniki modelowania pozwalające na efektywne uchwycenie celów biznesowych. W ramach SOMA wykonywana jest Dekompozycja (Domain decomposition) dekompozycja procesów biznesowych (Business Componentisation/Analysis), identyfikacja usług i komponentów, specyfikacja usług i komponentów, wreszcie realizacja usług. SOMA jest metodologią, która pomoże Państwu zbudować model usługowy i informacyjny, który jest podstawą do zaprojektowania rozwiązania typu SOA. Model usługowy specyfikuje poszczególne usługi oraz ich parametry wymagane do realizacji procesów i celów biznesowych. Metodologia SOMA jest zestawem narzędzi, procedur, wzorców oraz technik dzięki którym możliwe jest sprawne i efektywne zdefiniowanie modelu usług. SOMA pozwala w ustrukturyzowany i uporządkowany sposób przejść od modelu biznesowego (np. modelu procesów biznesowych, obszarów procesów komponentów biznesowych) do konkretnej realizacji usług (serwisów) na poziomie technicznym. Przejście to wykorzystuje analizę biznesową oraz elementy koncepcji modelowania obiektowego oraz dekompozycji procesów biznesowych. W celu identyfikacji usług metodologia SOMA wykorzystuje trzy komplementarne podejścia: Identyfikacja usług na podstawie dekompozycji obszarów i procesów oraz celów biznesowych Specyfikacja usług i budowa zależności oraz hierarchii usług oraz test ekspozycji Decyzje realizacyjne pozwalające określić sposób technicznej implementacji poszczególnych usług
Analiza Biznesowa Identyfikacja obszarów biznesowych Identyfikacja celów i wymagań biznesowych (KPI) Dekompozycja procesów biznesowych Dekompozycja obszarów biznesowych Identyfikacja usług Model usług Specyfikacja usług Realizacja usług Podejście SOMA Identyfikacja Identyfikacja ustala kandydatów - usługi i procesy (przepływy) wymagane dla SOA. W czasie identyfikacji wykonywane są trzy czynności: dekompozycja obszarów domen (top-down), modelowanie cel-usługa (przekrojowo) i analiza istniejących zasobów (bottom-up). Wyniki kroku identyfikacji są następnie wykorzystywane w kroku specyfikacji SOMA dekompozycja obszarów biznesowych (Domain Decomposition) modelowanie usług w kontekście celów biznesowych (Goal-Service Modeling) analizę istniejących zasobów IT (Exisiting Assets Analysis) Specyfikacja Specyfikacja usług definiuje zależności, kompozycję, decyzje dotyczące ekspozycji usług, komunikaty, ograniczenia związane z poziomem i jakością usług oraz kwestie zarządzania stanem dla usług.
Specyfikacja obejmuje: Test Papierka Lakmusowego w podejmowaniu decyzji dot. Ekspozycji Identyfikację zależności między usługami. Szczegółowy przegląd danej usługi może odkryć jej zależności z innymi usługami lub aplikacjami, które będą niezbędne do dostarczenia jej funkcjonalności. Identyfikację kompozycji usług i przepływów. Przegląd obszarów funkcjonalnych i procesów biznesowych pozwoli ustalić kompozycję usług z innych usług i ich przepływ, dostarczający żądaną funkcjonalność biznesową. Specyfikacja przepływu (usług) opisuje choreografię usług. Identyfikację wymagań niefunkcjonalnych. Wymagania niefunkcjonalne definiują oczekiwany poziom usługi (jakość). Definicję specyfikacji komunikatów usług. Identyfikacja i specyfikacja formatu i zawartości komunikatów wejściowych i wyjściowych dla usługi. Udokumentowanie decyzji dot. zarządzania stanem. W przypadkach, gdy kompozycja usług wymaga zarządzania stanem, dokumentowane są decyzje w kwestiach takich jak Jakiego rodzaju persystencja powinna być używana? Decyzje Realizacyjne Decyzje realizacyjne pozwalają określić sposób implementacji w kwestiach architektury i projektu technicznego, który gwarantowałby spełnienie wymagań funkcjonalnych oraz odpowiedni poziom jakości usługi. Decyzje realizacyjne obejmują: Alokacja usług. Iteracyjna alokacja usług do komponentów Alokacja komponentów do warstw w architekturze aplikacji Badanie możliwości technicznych, zidentyfikowanie i oszacowanie ograniczeń technologicznych wpływających na możliwość realizacji usług (zwłaszcza w przypadku usług realizowanych w oparciu o już istniejące zasoby)
Na jakim etapie wdrożenia SOA należy stosować modelowanie SOMA Metodologia SOMA stosowana jest w początkowej fazie projektu adaptacji SOA. SOMA obejmuje fazy projektowania wysokiego poziomu (Solution Outline, Makro Design) SOMA obejmuje aspekty funkcjonalne i biznesowe projektowania rozwiązań SOA Produktem SOMA jest projekt wysokiego poziomu wykorzystywany w dalszych fazach projektowania i implementacji rozwiązań SOA Jakie są rezultaty Głównym rezultatem SOMA jest Model Usług Model Usług jest zbiorem istotnych informacji dotyczące wszystkich aktualnie zidentyfikowanych usług, które będą wykorzystane do realizacji procesów i celów biznesowych. Informacji zawarte w Modelu Usług opisują kwestie biznesowe, funkcjonalne, niefunkcjonalne oraz dotyczące technicznej realizacji. Model Usług zawiera też szczegóły dotyczące hierarchii, ekspozycji, złożoności oraz zależności pomiędzy usługami jak również szczegóły dotyczące zapewnienia wymaganego poziom jakości. Model usług
Model Usług jest budowany przyrostowo i powstaje w wynik iteracyjnej analizy identyfikacji usług. Oprócz Modelu Usług, drugim kluczowym rezultatem prac jest stworzenie Modelu Informacji odpowiadającego za kontekst biznesowy. Model Informacji zawieraj takie elementy jak: Encje biznesowe, Relacje między encjami, Model koncepcyjny, Ekspozycję encji, Decyzje dotyczące realizacji. Poza powyższymi modelami, rezultatami SOMA są również: Kontekst Biznesowy, Identyfikacja Procesów, Definicja Procesów, Katalog Reguł Biznesowych, Lista Zdarzeń Biznesowych, Model Celów i Usług (Goal Service Model), Wymagania Niefunkcjonalne, Model Przypadków Użycia Korzyści zastosowania SOMA SOMA pomaga Klientom wyspecyfikować usługi biznesowe oraz optymalnie wykorzystać zasoby IT w celu ich realizacji technicznej. SOMA pomaga Klientom zdefiniować i zaprojektować poszczególne serwisy techniczne jako realizację usług na poziomie biznesowym aby zwiększyć elastyczność organizacji do zmiennych wymagań biznesowych oraz zredukować koszty wdrażania nowych usług IBM pomaga zaprojektować rozwiązanie typu SOA, które zapewni osiągniecie celów biznesowych organizacji Model Usług jako rezultat końcowy etapu modelowania SOMA pozwoli projektantom technicznym i programistom na łatwe opracowanie szczegółowego projektu technicznego i implementację nowych usług oraz na udostępnienie usług na podstawie istniejących systemów (legacy).
Dalsze kroki Na podstawie konkretnych wymagań Klientów, IBM może przygotować ofertę projektu SOMA, odpowiednio skrojoną do specyfiki, stopnia zaawansowania technologicznego organizacji i dostępności kontekstu biznesowego (opisy procesów, itd.). W ramach prac proponujemy Opracowanie struktur organizacyjnych i zarządczych (Governance) dla SOA Przeprowadzenia warsztatów adaptacji metodologii SOMA (Method Adoption Workshop) Wykonanie pilotażowego projektu wykorzystującego SOMA Informacje kontaktowe : IBM Global Business Services Marcin Roszczyk tel. +48505055803 email: marcin.roszczyk@pl.ibm.com Michał Suda tel. +48502184740 email: michal.suda@pl.ibm.com