Co je Servisně Orientovaná Architektura?

Petr Leština, WebSphere Technical Sales, Certified IT Specialist

SOA představuje architektonický koncept, který nám umožní překonat překážky, s nimiž se nyní pracovníci IT potýkají. Jestliže dokážeme transformovat architekturu informačních technologií na servisně orientovanou, získáme přesný přehled o funkcionalitě, kterou máme prostřednictvím služeb k dispozici. To představuje značný potenciál pro další rozvoj, navíc založený na systémech, které již vlastníme a provozujeme. V rámci propojení služeb do procesů získáme celkový obraz fungování podnikových procesů. Tento obraz je nahlížený ze stejného úhlu pohledu jak businessem (procesní přístup), tak i oddělením IT (SOA přístup), což značně přispívá k transparentnosti IT a zjednodušení vzájemné komunikace. Z hlediska fungování firmy se tímto krokem dokončí celková transformace na procesní řízení, neboť až v této chvíli lze skutečně říci, že procesy lze vykonávat a kontrolovat od začátku až do konce.


Díky architektuře orientované na služby (Service Oriented Architecture – SOA) mohou podniky provázat jednotlivé procesy interní, ale i externí, spojující firmu s obchodními partnery, klienty a podobně. Výsledkem je pak skutečnost, že se společnosti mohou flexibilně je přizpůsobovat a výrazně tak zefektivnit svoji činnost či zkrátit reakční doby na externí požadavky. Steve Mills, Senior Vice President and Group Executive v IBM Software Group komentoval myšlenku servisně orientované architektury následovně: „Z pohledu IBM se jedná o hledání cest, jak za pomoci nejmodernějších technologií zajistit uspokojování nových potřeb a požadavků neustále se měnícího trhu.“ O SOA se hovoří již několik let, avšak jen málo společností plně chápe a využívá příležitosti, které tato architektura přináší.

Samotná myšlenka vyvolala velmi pozitivní odezvu u celé řady klientů na celém světě, protože jim umožňuje mnohem větší pružnost a přizpůsobivost. Nadto je také schopna snížit procesní náročnost fungování firemní infrastruktury. SOA je postavena na modulární struktuře, ve které je možné rychle a jednoduše vyměňovat jednotlivé části podle momentálních firemních potřeb.

Jakkoliv jsou přínosy SOA v technické oblasti průlomové, tím hlavním je maximální kontrola managementu nad firemními procesy. Pro pracovníky IT oddělení přináší SOA zjednodušení a standardizaci stávající infrastruktury a snižuje tak složitost prostředí, se kterou se stávající IT oddělení potýkají. SOA klade silný důraz na znovupoužitelnost a tím podporuje efektivní využití stávajících aplikací.

Hlavní přínosy SOA pro oblast podnikání

  1. transformace IT na procesně orientované a business podporující IT
  2. využití stávajících aplikací pro další rozvoj
  3. flexibilní propojení aplikací a řízení procesů skrze tyto aplikace
  4. plná kontrola nad procesy a jejich monitoring v průběhu jejich celého životního cyklu
Hlavní přínosy SOA pro oblast IT
  1. Nezávislost na platformě, aplikaci či programovacím jazyku
  2. Aplikační služba je k dispozici prostřednictvím vysokoúrovňového rozhraní
  3. Zachování aplikační infrastruktury => je nutné pouze vytvořit rozhraní, pokud neexistuje
  4. Změní-li se aplikace, procesy a ostatní integrační rozhraní zůstávají zachovány
  5. Flexibilita při přidání nové aplikace (=služby) a možnost kombinace s existujícími službami
  6. Možnost pružně měnit procesní zpracování v závislosti na podnikatelských potřebách
Z hlediska historického vývoje představuje SOA poslední evoluční krok v oblasti celopodnikové integrace (Enterprise Application Integration) a přináší model znovupoužitenosti, reprezentace služeb a především standardů do oblasti podnikové integrace.

Kde je místo SOA v podnikovém IT a jak zapadá do celkové koncepce? Bude se dále vyvíjet a pokud ano, tak v jakém směru a pokud ne, proč?

V současnosti téměř stoprocentně platí, že každá aplikace, která si nárokuje použití v podnikové sféře IT, musí být připravena komunikovat. S tím se váže odvěký problém, a to - jak? Na jedné straně je potřeba vyřešit technické problémy, na straně druhé je důležité věnovat pozornost obsahu komunikace. Jako životaschopné se zdá být použití otevřených standardů. Právě tento přístup se používá v konceptu SOA. Dalším podstatným aspektem je, že integrace se z pohledu SOA nerealizuje na bázi klasického propojení – integrace, ale na bázi procesního řízení. Tím se dostáváme za hranice klasického IT – až k procesům podnikání.

Dnešní oddělení IT pracuje s aplikacemi, které jsou psány tak, aby podporovaly určitou funkcionalitu, nikoliv proces. Snadno se tak stane, že se ve firemním procesu objeví mezery, které je třeba řešit. Proto se firemní proces namapuje do jedné nebo více aplikací, jejichž funkčnost pokrývá úlohy vyžadované daným procesem. Pro sdílení dat mezi aplikacemi se navrhne a vytvoří speciální rozhraní. Proces pak funguje v rámci aplikace (spíše však několika různých aplikací) a každá změna v něm je prováděna a posuzována především s ohledem na dotčené aplikace. Co se však v IT vytratí, je informace či povědomí o firemním procesu jako celku. Proces se v rámci informačního systému stane sadou úloh, které jsou prováděny jednotlivými aplikacemi. V terminologii IT se nehovoří o firemních procesech, ale o aplikacích, které jsou základní jednotkou, s níž se v IT dále pracuje.

Ačkoliv je management firmy vlastníkem procesů, nemá kontrolu nad tím, jakým způsobem se proces v rámci informačních systémů odehrává. Z toho plynou komplikace při údržbě, instalaci nových verzí různých aplikacích či dalších inovacích, protože se stává, že správce informačních systémů sice komunikuje s hlavním uživatelem té které aplikace, ale netuší, kdo další ji používá a k čemu. Přestože jsou firemní procesy ve většině firem a institucí dnes už poměrně dobře zmapovány, implementace business procesů v rámci infrastruktury IT zůstává nepřehledná.

Řešení v podobě SOA klade důraz na používání standardů, které jsou v našem prostředí zatím relativně málo rozšířené. Standardizace se opírá o široce používané webové služby popisující funkce aplikací, BPEL (Business Process Execution Language) popisující jednotlivé procesy a řadu dalších. Otevřené standardy jsou tou nejlepší cestou k zajištění bezproblémové interoperability. Servisně orientovaná architektura mění úhel pohledu na tradiční oddělení IT a businessu, bližší spolupráce mezi businessem a IT umožňuje rychleji reagovat na vnější podněty. Transformace IT na „business driven“ poskytne businessu end-to-end kontrolu nad procesy a pro IT představuje způsob, jak kvantifikovat a obhájit přínos v rámci business procesu, který skutečně přináší.

Technologický pohled na SOA
Z ryze technologického pohledu přináší SOA nový architektonický styl při návrhu a vývoji aplikací. Aplikace se skládají z nezávislých bloků (služeb). Služba je komponenta, která má přesně definované rozhraní a toto rozhraní určuje funkcionalitu, kterou poskytuje. Služby jsou bezestavové a jejich rozhraní je popsané pomocí standardizovaného rozhraní (WSDL) a komunikují pomocí standardního komunikačního protokolu (SOAP) po transportním kanálu uvedeném v rozhraní. WSDL a SOAP jsou jedním ze základním specifikací webových služeb - WebServices. Nejčastějším transportním kanálem pro webové služby bývá standard HTTP nebo HTTPS.

Řada společností včetně IBM záměrně nespojuje SOA pouze s webovými službami. Webové služby nejsnadněji naplňují podstatu architektury orientované na služby, nicméně nepředstavují jediný prostředek k její realizaci. Komunikačním protokolem tedy nemusí být pouze SOAP a transportním protokolem nemusí být jen HTTP či HTTPS. Ve světě J2EE je možné definovat službu jako bezestavovou komponentu (tzv. stateless session bean), která komunikuje pomocí RMI/IIOP, ve světě standardních Java aplikací může být služba reprezentována pomocí tzv. Plain Old Java Objectu (POJO).

Pokud máme dostatečné množství služeb, můžeme začít stavět kompozitní aplikace z nezávislých služeb. Služby mohou vzniknout na základě požadavků na implementaci podnikových procesů, kdy cílem implementace je funkční podnikový proces či na základě požadavků na aplikaci či komponentu nebo na základě spojení existujících služeb.
Výsledné aplikace složené z více služeb mohou být naimplementovány některým ze současných programovacích jazyků jako je Java či C#, nebo můžeme využít grafických nástrojů, které používají jazyk pro procesní choreografii webových služeb (WS-BPEL).

Výhody použití jazyka pro procesní integraci jsou zejména rychlá reakce na změny a rychlost implementace. Procesor jazyka WS-BPEL obsahuje korelační a transformační mechanismy, které by si programátor implementující choreografii musel programovat sám. Dále choreografie služeb více externalizuje lokaci služeb a její záměna je zde možná standardním způsobem.

Pokud však chceme vytvořit služby, které budeme moci využívat na jiné platformě, je použití webových služeb nezbytně nutné a výše uvedené objekty je možné velice rychle zpřístupnit pomoci rozhraní webových služeb.

Integrace podnikových aplikací za pomocí architektury zaměřené na služby (Service Oriented Integration) přináší mnoho výhod a dokáže ušetřit společnostem velké množství nákladů. Až do příchodu webových služeb a architektury zaměřené na služby byla integrace podnikových aplikací velmi nákladnou záležitostí, neboť bylo potřeba vydefinovat standard, podle kterého se integrace řídila (vybudovat společný datový slovník, definovat přenosové protokoly atd..). Výsledkem pokusů o integraci aplikací bylo většinou vytvoření tzv. špagetového efektu, kdy se aplikace integrovaly vzájemně napřímo a s velkým množstvím n:m propojení.

Při použití architektury „hub and spoke“ dochází k vytvoření společného standardu, do kterého všechny aplikace musí konvertovat svá data - vzniká tedy pouze “n” propojek mezi aplikacemi a hubem. Architektura zaměřená na služby spolu s webovými službami přináší jednotný a standardizovaný komunikační protokol a standard pro popis rozhraní, které aplikace nabízejí. Díky webovým službám a jejich rozšíření je pak implementace této integrace velmi rychlá a nabízí otevřenou architekturu založenou na standardech. Při integraci aplikací pomocí webových služeb vzniká společný datový model, do kterého všechny aplikace konvertují data.

Shrnutí
SOA vnímá IT infrastrukturu VÝHRADNĚ v kontextu procesů podnikání a proto je základním úkolem IT zajistit provozní prostředí pro podnikové procesy a poskytnout řídícím pracovníkům informace nezbytné pro řízení společnosti. IT tak není pouze nákladovou položkou, ale aktivní nástroj podílející se na realizaci klíčových cílů podniku. Přes nesporné technologické výhody je jádro SOA v efektivnosti podnikání a pružností reakce na tržní změny.

0 Comments:

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