Vzkříšení modelu distribuovaných aplikací

Okolo XML a webových služeb se v dnešní době objevují podivné zprávy, v nichž se často opakují kouzelné hlásky S-...


Okolo XML a webových služeb se v dnešní době objevují podivné zprávy, v nichž
se často opakují kouzelné hlásky S-O-A. Service-Oriented Architecture neboli
architektura orientovaná na služby, která je dalším krokem ve směru přijetí
relativně nových standardů pro web services, se stává středem pozornosti.
SOA je zatím posledním označením architektury aplikací zaměřené na sdílení a
opakované používání kódu. V rámci SOA jsou aplikace budovány (či
přizpůsobovány) pomocí standardních rozhraní nejčastěji založených na XML a
jeho derivátech, k nimž patří Simple Object Access Protocol (SOAP) a Web
Services Description Language (WSDL). SOA také definuje, jak jsou tyto služby
lokalizovány, prováděny, spravovány, monitorovány a zabezpečovány.
I tak je ale SOA v podstatě starým konceptem, kolem něhož byl znova ztropen
povyk díky příchodu webových služeb a jejich otevřených, na standardech
založených rozhraní.
"SOA je svým způsobem jenom důmyslný marketingový termín," říká John Studdart,
CTO společnosti Lydian Trust poskytující finanční služby. "Označujeme ji jako
jádro služeb. Je to architektura volně provázaných webových služeb, kde procesy
(služby) mohou běžet asynchronně. K dispozici je několik samostatných
nesourodých služeb, ty můžete propojit a nazývat to aplikací."
Avšak obecně se SOA obejde i bez webových služeb. Ty zajišťují pouze
flexibilitu a zjednodušují sdílení služeb mezi více klienty. Absence těchto
dvou vlastností ale způsobila, že jiné pokusy o realizaci SOA v minulosti
selhaly nebo byly postupně překonány. Dá se to říci i o platformách Common
Object Request Broker Architecture (CORBA) a Distributed Component Object Model
(DCOM).

Krok kupředu
"Klíčovou vlastností SOA je extrémní flexibilita," tvrdí Anne Thomas Manesová,
ředitelka výzkumu strategií aplikačních platforem ve firmě Burton Group. "Vše,
o co vám jde, je přinutit různé aplikační systémy, aby se chovaly jako jediná
virtuální aplikace, která má plný přístup k veškerým možnostem ve všech
aplikačních systémech." Manesová dodává, že to je v protikladu k tradičním
aplikačním systémům. "Dnes jsou stále obvyklá spíše taková řešení, kde jedna
aplikace obsahuje veškerou svoji obchodní logiku a žádná jiná ve firmě nemá k
jejím funkcím přístup."
Protože je SOA využívající webových služeb krokem dále, překonávajícím
point-to-point integraci, měla by zajistit ad hoc integraci mnoha služeb při
minimalizaci typických problémů provázejících integraci v prostředí
distribuovaného computingu. V SOA mohou služby znovupoužívat existující
softwarové prostředky, zjednodušit softwarové upgrady i zjednodušit integraci
aplikací se systémy obchodních partnerů a celkově přispět ke snížení nákladů na
správu IT. SOA může být navíc implementována a provozována v existujících IP
sítích. Další infrastruktura, jako například akcelerátory XML přenosu nebo
systémy pro rozkládání zátěže, je potřeba, pouze když se služby stanou
dominantními prostředky pro vývoj a nasazování aplikací.
Je třeba počítat s tím, že standardy webových služeb pro spolehlivou výměnu
zpráv (messaging), zabezpečení, správu a workflow ještě nejsou ve všech
případech zcela dokončeny a dotaženy do stadia, které je požadováno, aby bylo
možné považovat SOA za architekturu podnikové třídy.
Firma ZapThink zabývající se průzkumem trhu ale předpovídá, že takové problémy
nebude těžké překonat a SOA se stane dominantním modelem distribuovaného
computingu zhruba v roce 2006. ZapThink dále předpokládá, že v roce 2010 bude
69 % podnikového softwaru orientováno na služby a celkový objem prostředků
investovaných do produktů a služeb, které podporují právě SOA, bude 98 miliard
dolarů.

Půvab třetího pokusu
Dříve, než přijde na řadu technologické řešení, musí si firma vybrat, které z
obchodních procesů hodlá překonvertovat na služby. "Hlavní problém spočívá v
určení byznysových procesů i aplikací, které jsou s nimi provázány a zajišťují
funkcionalitu, jež je pak sdílena," popisuje Darrel Delahoussaye, manažer
inženýrského a konstrukčního portfolia systémů firmy Bechtel.
Experti tvrdí, že velký rozdíl spočívá v tom, že CORBA, DCOM a další přístupy
jsou příliš rigidní. Služby jsou zde s klienty pevně propojeny, navíc je
technologie vždy proprietární. Služby jsou rozkouskovány do malých úseků, které
vyžadují hodně komunikace mezi klientem a službou i pro vykonání jediné úlohy
(mluvíme tedy o vysoké zrnitosti). "U SOA není třeba programovat malé části
spletitého systému jako u technologie CORBA," tvrdí Jason Bloomberg, analytik
ZapThink.
Jádrem SOA jsou tři elementy, které definují síťovou službu: poskytovatel,
registr a odběratel. Poskytovatelem je aplikace, ačkoliv ta někdy představuje
něco víc než útržek kódu vykonávající základní úlohu, jakou je například
kalkulace daně. Provider posílá registru popis sebe sama tedy co aplikace
provádí, jak je možné se k ní připojit. Odběratel typicky reprezentovaný jinou
aplikací využívá registr, aby zjistil existenci třeba i několika poskytovatelů
(určité služby), a následně se přímo připojuje nebo navazuje spojení přímo s
nimi.
Architektury typu SOA jsou založeny na tom, že služby mohou být spojeny na bázi
ad hoc a že služby a klienti se mohou měnit nezávisle na sobě. Služby mají
rozhraní založená na standardech a mají hrubší zrnitost v tom smyslu, že každá
z nich poskytuje jednoznačnou službu nebo zajišťuje určitý obchodní proces
(vypočte daně nebo zajistí vydání nákupní objednávky).
"Máte-li systém politik nebo, řekněme, 20 systémů pravidel a nevíte, které
budete používat za rok, vytvoříte si službu pro řízení politik, která dělá
navenek to, co každý potřebuje," říká Dmitry Tyomkin, podnikový architekt
společnosti CNA Insurance. "V ,zákulisí může služba přesměrovat příslušný
požadavek na starší systém, ale až budou tyto systémy vyřazeny, bude to pro
odběratele (tedy službu) transparentní a nebude třeba měnit jeho kód."
Tyomkin tvrdí, že rok smysluplné práce jej naučil, že výhody SOA lze nejlépe
vidět z perspektivy byznysu. "Podívejte se na své obchodní potřeby a rozeberte
obchodní procesy, abyste byli schopni identifikovat jejich opakující se,
znovupoužitelné části," tvrdí Tyomkin. "Jestliže se domníváte, že jsou tyto
procesy vyžadovány ve velké míře, pak jste pravděpodobně dobrými kandidáty pro
využití SOA."
"SOA je evolučním krokem v rámci adopce webových služeb," říká Tyson Hartman,
technologický ředitel konzultační firmy Avanade. "Dlouhodobou výhodou není jen
jednodušší integrace," dodává, "ale i logická metodologie nasazování sady
služeb v průběhu jejich životního cyklu v rámci firemní sítě."

Budujte, nekupujte
SOA zpravidla představuje něco, co je třeba vyvinout a vybudovat, nikoliv
realizovat nakoupením sady softwaru. Avšak samozřejmě i v rámci SOA jsou
využívány některé programy, jež je obvykle nezbytné koupit. Předně jsou to
samotné vývojové nástroje od firem, jako jsou BEA Systems, Borland Software,
IBM, Microsoft či Sun Microsystems, které slouží pro tvorbu nativních na web
services založených aplikací nebo pro vývoj rozhraní pro komunikaci se staršími
aplikacemi.
Jsou zde také nástroje od dodavatelů jako Acucorp, Fujitsu, Jacada a Micro
Focus International, které pomáhají při adaptaci starších programů napsaných v
jazycích jako Cobol v rámci SOA. "V případě architektury CORBA bylo třeba staré
aplikace změnit, aby bylo možné zajistit jejich spolupráci s ostatními systémy,
u SOA ale není třeba provádět v back-endu žádné změny. Prostě je propojíte,"
říká Mark Haynie, viceprezident podnikových rozšíření u Micro Focusu. Nezávislí
prodejci softwaru začínají přidávat nativní rozhraní webových služeb do svých
produktů počínaje ERP systémy a konče servery zajišťujícími týmovou spolupráci.
Dalším klíčovým elementem jsou SOAP servery, kde hraje dominantní roli pestrá
paleta webových aplikačních serverů, ačkoliv SOAP provoz může být přenášen přes
TCP/IP stejně snadno jako přes HTTP.
SOA registr je typicky podporován v Universal, Description, Discovery and
Integration (UDDI), což je protokol webových služeb. UDDI registr umožňuje
snadno vyhledávat aplikační komponenty, volat je a opakovaně používat, namísto
aby byly pevně a trvale propojeny. Firmy jako Fujitsu, IBM, Microsoft a Novell
nabízejí své UDDI registry, stejně jako menší dodavatelé typu Flashline či
LogicLibrary.
Nicméně vybudování skutečně vyspělé SOA není jen otázkou vývoje aplikací a
služeb. Standardy pro transakční messaging, bezpečnost, workflow a správu,
které mají zajistit škálovatelnost a spolehlivost, jsou nezbytné, ale jsou
částečně stále ve fázi vývoje. V některých případech navíc konkurence mezi
protokoly zpomaluje další pokrok. Nezbytné budou upgrady infrastruktury a
middlewaru pro zvládnutí vyššího XML přenosu, jakmile se služby na něm založené
v rámci firem rozšíří. Široké zástupy prodejců už nabízejí svá řešení pro
vyplnění těchto mezer od systémů pro řízení zpráv přes platformy pro management
až po akcelerátory XML přenosu. Patří mezi ně firmy jako AmberPoint, Actional,
Blue Titan Software, Cape Clear Software, Confluent Software, DataPower
Technology, Digital Evolution, Infravio, The Mind Electric, Sarvega, SeeBeyond,
Sonic Software, Systinet, Talking Blocks, Vordel a Westbridge Technoolgy.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.