www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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) .
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented 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
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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.
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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?
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
Analiza Biznesowa
Identyfikacja obszarów biznesowych
Identyfikacja celów i wymagań biznesowych (KPI)
Dekompozycja procesów biznesowych
Dekompozycja obszarów biznesowych
Model usług
Identyfikacja 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.
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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)
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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).
www.ibm.com/pl/soa
© Copyright IBM Corporation 2006
Service Oriented Architecture
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