SOA pomalu na obzoru

SOA pomalu na obzoru


V rámci propojení služeb získáme celkovýobraz fungování firemních procesů. Tento obraz je nahlíženýze stejného úhlu pohledu jak obchodním oddělením (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 do konce.

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, 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í.

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.

Přínosy a dopady

Velké přínosy má SOA u velkých klientů, kteří principy servisního přístupu už implementovali pro některé podnikové procesy v prostředí informačních systémů IT.

Byť se o tomto přístupu hovoří již dlouho, postup implementace je inkrementální, řada klientů je v různém stupni připravenosti na SOA a ti, kteří ji implementují, se nacházejí na různé úrovni implementace. SOA je možné vnímat jako životní cyklus. Znamená to, že implementace architektury probíhá inkrementálně, po jednotlivých fázích. SOA proto zavádí klasifikaci označovanou jako tzv. model připravenosti na SOA (SOA maturity model), který definuje úrovně implementace.

Dopad provedených změn není zcela patrnýv krátkodobém horizontu, je nutné je hodnotit až za delší časovýúsek, kdy proběhne několik aktualizací systému, případně úprav firemních procesů. Ideální je možnost monitorovat průběh změny a případně ji aktivně ovlivnit. Jinými slovy mít v každém okamžiku přehled o tom, co se s firemními procesy děje. Dosud takové změny nebylo možné posuzovat on-line, a to především kvůli způsobu, jakým se firemní proces v informačních systémech implementuje. V prostředí České republiky je implementace SOA principů v počáteční fázi.

Komunikační příprava

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. Na to se váže odvěkýproblém: 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ýpřístup 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 mimo hranice klasického IT – k firemním procesům.

Dnešní oddělení IT pracuje s aplikacemi, které jsou psány tak, aby podporovaly určitou funkcionalitu, a 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 celou aplikaci. 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 př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 byznys 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é je v našem prostředí 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.

Technologický pohled

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é, jejich rozhraní je popsané pomocí standardizovaného rozhraní (WSDL) a komunikují pomocí protokolu SOAP po transportním kanálu uvedeném v rozhraní. WSDL a SOAP jsou jedněmi ze základních specifikací webových služeb. Nejčastějším transportním kanálem pro webové služby bývá standard HTTP nebo HTTPS.

Řada společností záměrně nespojuje architekturu zaměřenou na služby (SOA) s webovými službami. Webové služby nejlépe 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, která komunikuje pomocí RMI/IIOP. Ve světě standardních Java aplikací může služba být reprezentována pomocí tzv. Plain Old Java Objectu (POJO).

S dostatečným množstvím služeb lze začít se stavbou 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 ať již na základě požadavků na aplikaci či komponentu nebo na základě spojení existujících služeb v rámci podniku.

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 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 zaměřená na služby

Integrace podnikových aplikací za pomoci 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.).

SOA vnímá IT infrastrukturu výhradně v kontextu obchodního procesu, 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 další řízení společnosti. IT tak není pouze nákladovou položkou v libovolné organizaci, ale aktivní nástroj podílející se na realizaci klíčových cílů podniku. Přes nesporné technologické výhody spočívá jádro SOA v efektivnosti podnikání a pružností reakce na tržní změny.


--- Přínosy SOA pro oblast IT

  • Nezávislost na platformě, aplikaci či programovacím jazyku.
  • Aplikační služba je k dispozici prostřednictvím rozhraní.
  • Zachovává aplikační infrastrukturu (je nutné pouze vytvořit rozhraní pokud neexistuje).
  • Změní-li se aplikace, procesy a ostatní integrační rozhraní zůstávají zachovány.
  • Flexibilita při přidání nové aplikace (rovná se služby) a kombinace existujících.
  • Možnost pružně měnit procesní zpracování v závislosti na obchodních potřebách.


--- Přínosy SOA pro oblast podnikání
  • Transformace IT na procesně orientované a byznysově orientované IT.
  • Využití stávajících aplikací pro další rozvoj.
  • Flexibilní propojení aplikací a řízení procesů v nich.
  • Plná kontrola procesů a jejich monitoring v průběhu celého životního cyklu.

Autor působí na pozici WebSphere Technical Sales ve společnosti IBM.

Foto: Wikipedia, licence obrázku GFDL




Komentáře