Technická implementace SOA governance

SOA governance znamená v zásadě řízení služby v průběhu jejího celého životního cyklu počínaje návrhem a vývojem přes nasazení a provoz až po vyřazení služby z používání. Mezi typické úkoly, které se v rámci SOA governance řeší patří:
  • Vývoj služby s maximálním důrazem na možnost jejího znovupoužití (reuse)

  • Kontrolované řízení změn vzhledem k tomu, že změna služby může mít zásadní dopady na mnoho klientů a navazujících služeb

  • Zajištění kvality a výkonnosti služby (SLA)

Základním prvkem infrastruktury pro SOA governance je repository, kde je možno ukládat a katalogizovat údaje o všech službách. Na toto úložiště je navázáno jednak workflow pro řízení životního cyklu služby, dále subsystém pro vyhledávání vhodné služby dle taxonomie a v neposlední řadě monitoring SOA infrastruktury.


Příklad SOA infrastruktury pro komplexní SOA governance v pojetí IBM je naznačen na obrázku:

SOA předpokládá, že IT je řízeno byznys procesy společnosti. V rámci podpory těchto aktivit vyplyne potřeba služby – ve zmíněném případě se jedná například o službu, které vrací údaje o zákazníkovi. Nad IBM WebSphere Service Registry and Repository se provede ověření, zda taková služba neexistuje. V případě existence služby se nezahajuje vývoj, ale využije se stávající služba. Pokud služba neexistuje, vývoj ji podle navrženého interface implementuje a otestuje. Po nasazení služeb do provozu na server 1 a server 2 je služba označena jako provozní. Takováto změna se automaticky promítá na security gateway, která zajistí zprovoznění virtuální služby a vynucení bezpečnostní politiky vzhledem ke klientům.

Po uvedení služby do provozu je klient schopen vyhledat službu vracející údaje o zákazníkovi v provozním stavu a je schopen jí začít používat. K vyhledávání je možno použít nejrůznější taxonomie. Jednou z taxonomií je právě stav služby, který v našem případě musí být provozní. Security Gateway vynutí bezpečnostní politiku služby včetně případných parametrů ze Service Level Managementu a předá požadavek na interní Enterprise Service Bus (např. IBM WebSphere ESB). ESB je schopno provést dynamický dotaz (lookup) do registru služeb a vyhledá vhodného poskytovatele (např. v našem případě se jedná o server s nejlepší odezvou). ESB pak předá požadavek na vybraný server.

Celá SOA infrastruktura je monitorována pomocí produktu IBM Tivoli ITCAM for SOA. Tento monitorovací systém sbírá informace a události ze všech komponent infrastruktury. Takto získané informace je následně možno korelovat a statisticky zpracovat. Monitorovací nástroje tak mohou vracet informace do registrů služeb, které se mohou využít např. ke zmíněnému směrování provozu, nebo je možno vyhodnocovat využití služeb (velmi důležité zejména před vyřazením služby z provozu). Díky korelacím je také usnadněna detekce závislosti služeb na sobě a řešení dopadových analýz při změnách služby. Při spojení registru služeb a monitorovacích nástrojů pro SOA je tak snadné sledovat např. pirátské služby (služba neevidovaná v registru služeb, na kterou však chodí provoz – tyto nepodchycené služby často představují nezanedbatelné bezpečnostní, výkonnostní a stabilitní ohrožení), nevyužívané služby, které zbytečně plýtvají prostředky v systému. V neposlední řadě může být monitorovací nástroj ve spojení s registrem služeb použit k monitorování dodržení SLA pro službu (např. dostupnost a odezvy služby z pohledu klienta).

Jak už bylo řečeno, monitorovací nástroj IBM Tivoli ITCAM for SOA je možno použít nejen pro monitorování využití služeb a dodržení SLA (Service Level Agreement), ale také k vynucení zachování podmínek pro dodržení SLA. Např. pokud back-end systém může provést bez ohrožení stability 30 transakcí za sekundu, je vhodné pro tento systém tuto podmínku zajistit a nadlimitní provoz buď směrovat na jiné systémy nebo vrátit klientovi informaci, že kapacita systému je plně využita. Produkt IBM Tivoli ITCAM for SOA provádí řízení pomocí plug-inů do poskytovatelů služeb (např. aplikačních serverů). Plug-iny však mají ne zcela zanedbatelnou režii, která se zvětšuje s rostoucím provozem. Je proto vhodné kombinovat omezení SLA v plug-inech s unikátními možnostmi efektivního Service Level Managementu (SLM), který je obsažen v zařízení IBM WebSphere DataPower. Protože zařízení IBM WebSphere DataPower jsou často používána jako vstupní body ke službám, které jsou poskytovány interními systémy včetně ESB, je možno velmi efektivně chránit poskytovatele služeb před přetížením, nestabilitou a následnými kaskádovými pády.

Jiří Melichna

0 Comments:

ISSN 1802-5675  | Copyright © 2003-2007 BPS Business Process Services