SOA - architektura zaměřená na služby - znamená ve svém důsledku integraci nejrůznějších systémů. Pro komunikaci s okolím jsou tak nejednou nově otevřeny systémy, které dosud pracovaly zcela odděleně od ostatních. Tak je dnes klidně možné aplikaci realizovanou v Cobolu na mainframe vystavit jako webovou službu použitelnou kdekoliv v internetu.
Je však systém, kde bezpečnost nebyla řešena na prvním místě, na takové otevření připraven? Odpověď bude pravděpodobně záporná. Odpovědnost za bezpečnost celého řešení tak do značné míry musí převzít samotná SOA infrastruktura resp. její ESB řešení. Implementace zabezpečení nebude jednoduchým úkolem a může mít nezanedbatelné nároky na výkon systémů.
I ve světě webových služeb, bez ohledu na to, zda je použit XML protokol SOAP nebo architektura REST, je nutno vyřešit celou řadu otázek:
Jedná o generické (obecné) - stále se opakující úkony, které je však nutno efektivně řešit pro každou službu. Jak tyto úkoly realizovat s minimem úsilí? IBM využívá tzv. SOA appliance podobně, jako dříve společnosti vyrábějící síťové prvky odstanily generické úkony ze serverů a přenesly je na specializovaná zařízení (switche, routery, firewally, VPN). V nabídce jsou specializovaná HW zařízení IBM WebSphere DataPower XS40 pro zabezpečení webových služeb. Na obrázku je naznačeno typické využití SOA appliance:
SOA appliance je využita jako filtr požadavků - správněji jako bod vynucení bezpečnostní politiky (security policy enforcement point). Celá bezpečnostní politika je namodelována a nakofigurována ryche a jednoduše s minimem znalostí metodou drag&drop a pomocí wizardů. Pro rozhodnutí, zda je uživatel oprávněn provést operaci se standardně využívá systémů pro řízení přístupu (Access policy decision point). IBM jako jeden z klíčových dodavatelů systémů pro SOA infrastrukturu nabízí ve svém portfóliu produkt vhodný pro řízení přístupů i v oblasti webových služeb. Jedná se IBM Tivoli Access Manager. Na back-end systém, což může být buď přímo poskytovatel služby nebo interní sběrnice podnikových služeb (ESB), tak přichází jen validní a autorizované požadavky ke zpracování.
Jak bylo řečeno v úvodu, SOA vede k integraci. V dnešním globálním světě se však nejedná jen o integraci interních systémů společnosti, ale často o propojení celých řetězců procesů různých společností. Pak velmi důležitou vlastností služeb je, že mohou správně pracovat pouze v kontextu volajícího - je nutno provádět tzv. propagaci identity. Příklad je naznačen na obrázku:
Na uvedeném příkladu klient služby zasílá objednávku do společnosti A. Ve společnosti A je klient zaveden např. v CRM systému a má tak zřízena oprávnění pro přístup k objednávkové službě. Vyřízení objednávky však pro společnost A může znamenat nutnost oslovit dva partnery – společnosti B a C. Budou mít oba partneři ve svém systému identit zavedeného klienta společnosti A? Pravděpodobně ne. Řešení nabízí sdílení identity - tzv. federace identit. Ve světě webových služeb se pak může jednat o využití standardu WS-Security ve spojení s XML frameworkem SAML pro propagaci identit.
Co však je zásadní otázkou v oblasti federace identit? Důvěra! Společnost B i C musí věřit společnosti A, která o svém klientovi prohlásí, že je to opravdu on a že má tyto konkrétní atributy (např. spadá do kategorie zákazníků Gold).
Další otázkou je, jak zajistit důvěru společnosti A. Odpovědí je bezpečné a kvalitní řešení pro správu identit a řízení přístupů. Zde vstupují do hry řešení pro SOA infrastrukturu jako je SOA appliance XS40 a IBM Tivoli Federated Identity Manager. Na obrázku je naznačeno využití zařízení IBM WebSphere DataPower ve společnosti A, která je odpovědná za prověření skutečné identity klienta. Zřetězené společnosti B a C již využívají výsledku prvotního ověření. V zásadě se jedná o téma velmi blízké SSO (Single-Sign On):
Kromě standardního ověření přidá SOA appliance také informaci o klientovi do vlastní zprávy v podobě tzv. SAML assertion (prohlášení o identitě). Tato SAML asserion je dále použita při propagaci volání směrem k parterské společnosti B tak, jak je naznačeno na obrázku:
V prvním kroku je provedena validace SAML assertion – zde je nutná důvěra vzhledem ke společnosti A. V dalším kroku je provedena autorizace např. na základě atributů nastavených do SAML assertion (v našem případě jde o zákazníka úrovně Gold). Pokud je zákazník úrovně Gold oprávněn provést nákup ve společnosti B, může IBM Tivoli Federated Identity Manager generovat nový token, popisující identitu, který SOA appliance přidá do požadavku tak, aby identita byla správně rozpoznána v interních systémech společnosti B.
Aspekty bezpečnosti v SOA
Téma: SOA
Technická implementace SOA governance
- 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
Téma: SOA
Co to jsou KAI's
KPI's (Key Performance Indicators), čili klíčové ukazatele výkonnosti si budeme muset nyní doplnit podle Velké Modré o KAI's (Key Agility Indicators) - klíčové ukazatele agility. Ta nyní vydala první část čtyřdílné série IBM Benchmark Wizard tool, která má umožnit podnikům měřit a porovnávat svou agilitu - zejména pružnost, s jakou dokážou reagovat na kolísání zákaznické poptávky. Benchmark vznikl ve spolupráci s APOC (American Productivity and Quality Center) a je sestaven z 1200 ukazatelů, pro které jsou k dispozici údaje od 16 tisíc zákazníků.
IBM také připravuje k uvolnění novou verzi WebSphere BAM (Business Activity Monitoring) využívající Ajax, které benchmarking široce podporuje a také umožní definovat a sledovat vlastní KPI's bez nutnosti zasahovat do IS.
Další zajímavé pohledy na toto téma najdete na:
- CNN Money: IBM to Help Businesses Better Compete Against Industry Rivals
- News.com: IBM tailors SOA lineup for specific industries
- Vnunet.com: IBM rings in the second phase of SOA
Téma: Měření
Enabling business flexibility (webcast)
Michael Schram prezentuje společný koncept BPM a SOA na setkání 25/9/2007 v Praze (anglicky). Trvání 14 minut.
Zářijové setkání přátel BPM
Odehrálo se v kongresových prostorách hotelu Jasmín 25/9/2007 a bylo určeno hlavně pro byznys analytiky a CIO finančních a utilitních společností. Zaznělo celkem 6 prezentací.
Enabling business flexibility
Michael Schram v prvním příspěvku uvedl do kontextu cíle, které sleduje koncept SOA s očekáváním manažerů. Požadavky na schopnost rychlého přízpůsobení informačních systémů požadavkům byznysu nebylo možné splnit v heterogenních a jen proprietárně integrovaných prostředích. BPMS přináší potenciál z jedné strany modelovacích a vizualizačních prostředků srozumitelných řídícím pracovníkům, ze strany druhé jednotlivých služeb či komponet, které mohou být průhledně zapojeny do řetězce přidané hodnoty.
Modeling your business
Další prezentace se již zaměřila na metodiky první části řízení změny životního cyklu podnikání - modelování. Michal Dušek tuto část demonstroval na potenciálu nástroje WebSphere Business Modeler, který je schopen mapovat a analyzovat nejen procesní pohled na společnost, ale i vazby na organizaci a kompetence či měření výkonnosti.
Developing and Assembling
Nejen modelováním živ je člověk - nyní přichází na řadu IS. Existující služby je třeba orchestrovat (WebSphere Integration Developer), chybějící zadat do vývoje (Rational Software Architect) nebo přímo vyvinout (Rational Application Developer), jak o tom referoval Zdeněk Borůvka.
Business Services Deployment
Služby je nutné otestovat a nasadit. Michal Dušek předvedl jednotné prostředí pro nasazení SOA služeb (WebSphere ESB) i pokročilé testovací nástroje z rodiny Rational Functional Testing Solution.
Business Performance Monitoring and optimalization
Nyní přicházíme k vlastnímu procesnímu enginu (WebSphere Process server), který umí nejen orchestrovat procesy, ale i interpretovat pravidla podnikání a k monitorovacímu prostředí WebSphere Business Monitor.
Case Study
Reálnou praxi ve využití nové generace BPMS nástrojů prezentoval opět Michael Schramm na příkladu jednoho rakouského bankovního domu. Cílem BPM projektu bylo sjednotit obsluhu zákazníků v různých kanálech (na pobočkách, přes internet, v call-centru) a současně umožnit flexibilní nastavování byznys pravidel pro jednotlivé skupiny zákazníků. Původní in-house systém nahradilo 50 komponent využívaných hlavními procesy prostřednictvím BPEL.
BPM 2. generace - pravda nebo fikce?
Závěr setkání se zaměřil na faktickou praxi BPM a možnosti, jaké pro ní nové nástroje přináší. Business architect Václav Kalenda shrnul příčiny současného omezeného pokroku při prosazování BPM ve firmách, porovnal stav ve světě se situací v českých podmínkách a definoval, jaký potenciál BPMS skutečně přináší a jaké změny v metodických přístupech jeho využití bude vyžadovat.
Společný závěr je zásadní - nová generace BPMS je schopna podporovat řízení změny podnikání v celém jejím životním cyklu, v jednotné repository, provázané metodice a v synergii byznys a IS analytiků. Pokud se aktivity uvnitř firem ze strany informatiků a ze strany procesního řízení spojí a podpoří adekvátními nástroji, má BPM šanci zásadně zvýšit výkonnost podniku. I proto bude tato oblast v nejbližších 5 letech nejvíce rostoucí, neboť je již ve fázi zralosti - nejen experimentů průkopníků.



Ucelené BPMS řešení 2.generace
Nástroje BPM 2. generace (BPMS) podporují uceleně celý životní cyklus procesu - od jeho designu přes jeho realizaci v informačních systémech s využitím existujících služeb a komponent až po jeho provozování v reálném čase a monitoring výkonnosti.
Jak pokrývají jednotlivé nástroje IBM jednotlivé fáze tohoto životního cyklu?
WebSphere Business Modeler
Nabízí procesním analytikům silný nástroj pro dokumentaci, design, analýzu a optimalizaci procesů jako základnu pro nasazení SOA řešení.
WebSphere Integration Developer
Nástroj umožňuje vývojářům rychle sestavit z existujících služeb kvalitní a silné řešení.
WebSphere Process Server
Poskytuje ucelenou aplikační platformu pro spouštění procesů kódovaných v BPEL včetně definovaných pravidel a návazných SOA služeb.
WebSphere Business Monitor dashboard
Silný monitorovací a analytický nástroj, který umožňuje sledovat a řídit výkonnost procesů v reálném čase.