Pirátská strana
facebook LinkedIN LinkedIN - follow
Tematické sekce
 
Branžové sekce
Přehledy
 
Tematické seriály
 

GDPR

General Data Protection Regulation zásadně mění zpracování osobních údajů a zavádí nové povinnosti...

články >>

 

Jak uřídit IT projekt a nezbláznit se

Užitečné tipy a nástroje pro řešení problémů řízení inovací a vývoje produktů...

články >>

 

Industry 4.0

Průmysl 4.0

Jaký vliv bude mít čtvrtá průmyslová revoluce na výrobu a výrobní firmy?

články >>

 

Komplexní svět eIDAS

O nařízení eIDAS již bylo mnoho řečeno i napsáno. A proto jediné, o čem...

články >>

 

Trendy v CRM

Systémy pro řízení vztahů se zákazníky (CRM) prochází v posledních letech výraznou změnou. Zatímco dříve...

články >>

 

Příručka úspěšného IT manažera

Dnes je řada IT manažerů opomíjena. Úspěšní bývají brouci Pytlíci a Ferdové...

články >>

 
Partneři webu
Compas automatizace
IT SYSTEMS 10/2006 , ITIL – Řízení IT

Webové služby a XML

Jindřich Štumpf


Každé čtyři roky se ve světě zdvojnásobí množství informací, spontánní a živelný vývoj přestal fungovat. Systém, který dříve vyvíjel jeden člověk, dnes vytváří celý tým složený ze specialistů na jednotlivé fáze vývoje softwaru (analytik, specialista na databáze, tester apod.). Systémy se stávají stále více komplexními, a je tedy nutné je rozdělovat na menší celky a ty pak spojovat na vyšší úrovni. Stále sílící potřeba výměny informací mezi lidmi, systémy a procesy má dopad i na vývoj informačních systémů. Ty musí být flexibilní, musí umět reagovat rychle na změny, spolupracovat se svým okolím, a to celé napříč různými platformami. Všechny tyto skutečnosti vedly k tomu, že XML webové služby dnes představují fundamentální stavební kámen pro distribuované aplikace v prostředí internetu a složitých vnitropodnikových prostředích.


Předchůdci webových služeb

Rozvoj distribuovaných systémů přinesl rozmach technologií, jako jsou Corba, DCOM nebo Java RMI, které nabízely (a stále nabízejí) možnost vývoje spolehlivých distribuovaných systémů. Tyto technologie jsou však příliš komplexní, nejsou navzájem kompatibilní, používají proprietární formáty pro přenos dat, využívají protokolu TCP/IP (problémy s průchodem přes Firewall), na straně serveru i klienta vyžadují stejné běhové prostředí apod.
Pro organizace používající různé platformy znamenají omezení hlavně v podobě nižší flexibility při integraci systémů. Jednotlivé technologie jsou navíc úzce spojeny s určitým výrobcem, což pro zákazníka víceméně znamená být závislý na jednom dodavateli. Nedostatky těchto distribuovaných technologií a sílící hlad po interoperabilitě daly vzniknout novým disciplínám, které se zaměřují na vzájemné propojování informačních systémů, Enterprise Application Integration – integrace aplikací na úrovni podniku a Business to Business Application Integration – integrace mezi organizacemi.

Rozmach internetu v devadesátých letech přinesl i nové možnosti distribuovaným systémům. S příchodem prvních webových prohlížečů začaly vznikat i webové aplikace, které dokázaly jednoduše propojit svět osobních počítačů se světem serverů a různých platforem. V roce 1998 bylo standardizováno organizací W3C XML 1.0 a, od kterého se odvíjely další standardy (WSDL, SOAP,…), které jsou dnes pro vývoj webových služeb nepostradatelné.

Co vlastně je webová služba?

Webová služba je aplikační komponenta přístupná přes standardní otevřený protokol, která k provádění distribuovaných výpočtů využívá tři základní principy. Není však bezpodmínečně nutné, aby webová služba použila všechny tyto principy. Například použití registrů služeb nemusí být klíčové pro fungování vašich webových služeb.

1. Služba je dostupná přes standardní protokol

Tento princip je nejčastěji realizován protokolem SOAP (Simple Object Access Protocol), který specifikuje formát zpráv, které si vyměňuje služba a konzument (ten, kdo používá webovou službu). Oproti původním technologiím jsou možnosti SOAP omezené, ale pro svou jednoduchost se dočkal celé řady implementací na rozličných platformách. SOAP byl navržen pro internet, přesto je nezávislý na přenosovém protokolu. Koncept struktury SOAP je obecný a je možné ho rozšířit pomocí hlaviček, které mohou obsahovat další metadata. Dnes bývá pro přenos SOAP zpráv nejběžněji používán protokol HTTP(S).

2. Služba nabízí popis svého rozhraní

Webová služba nabízí dostatečný popis svého rozhraní, na základě kterého je kdokoliv schopen službu konzumovat. Popis rozhraní je realizován pomocí jazyka WSDL (Web Service Description Language), který zjednodušeně řečeno popisuje operace, vstupní a výstupní parametry webové služby. Pokud tedy chcete používat veřejně přístupnou webovou službu, potřebujete znát pouze její popis (WSDL) a URL adresu.

3. Služba je objevitelná

Objevitelnost webové služby je realizována prostřednictvím registru UDDI (Universal Discovery Description and Integration), který představuje jakési zlaté stránky pro webové služby. V registru mohou být uloženy základní informace o službě, jejím rozhraní, vlastníkovi služby nebo například podmínkách. Registr by vám měl umožnit pomocí dotazů nalézt službu, která bude vyhovovat vašim požadavkům. Původní koncept UDDI jako veřejného registru plného referencí na webové služby se v praxi neujal, takže registry služeb dnes nacházejí uplatnění především ve velkých organizacích.




Flexibilita jako konkurenční výhoda

Dříve představovaly informační systémy a IT pro organizace konkurenční výhodu. Společnosti dokázaly díky svým systémům obsloužit klienty rychleji, získaly lepší přehled o prodeji svých produktů apod. Dnes již tyto systémy konkurenční výhodu přímo nepřinášejí, protože stejné systémy jsou dosažitelné i pro konkurenci. Většina firem má své vlastní IT oddělení, nebo tyto služby nakupuje u externích dodavatelů. Co tedy přináší organizaci konkurenční výhodu?
Takovouto výhodou se stává schopnost organizace rychle reagovat na poptávku trhu a zde se právě může projevit výhoda webových služeb a architektury zaměřené na služby (SOA). Kdo dříve dokáže do svých informačních systémů implementovat změny, má výhodu oproti konkurenci. Vhodné strukturování obchodní logiky do volně vázaných služeb vám umožní vytvářet sofistikovanější distribuované systémy. Ty budou přesto dostatečně flexibilní vůči novým požadavků vaší organizace, navíc je takováto infrastruktura méně finančně náročná na údržbu (provoz) a sníží se i náklady potřebné k realizaci změn.
Informační systémy pak nejsou pro vaše obchodní zájmy limitujícím faktorem (jak tomu u velkých organizací bývá), ale IT se může plně soustředit na realizaci strategických potřeb a požadavků organizace.


Vhodné strukturování obchodní logiky do volně vázaných služeb umožní vytvářet sofistikovanější distribuované systémy.


Webové služby nejsou všelék

Je asi naivní doufat, že webové služby vyřeší všechny problémy vašich aplikací. Nejedná se o všelék, ale o jeden z prostředků jak relativně snadno a efektivně realizovat aplikační logiku vašich aplikací. Při použití webových služeb je nutné zohlednit zejména to, že oproti ostatním technologiím mohou být pomalejší. Požadavky na webové služby v sobě skrývají režii v podobě komunikace s webovým serverem, čtení a rozboru (syntaktická analýza) SOAP zpráv, dat a jejich (de)serializace na straně webové služby i konzumenta. Technologie používající přímou binární komunikaci mezi klientem a serverem po protokolu TCP/IP mohou být až několikanásobně rychlejší. Webové služby je vhodné použít především u systémů, které jsou provozovány v heterogenním prostředí, a tam, kde je kladen důraz na interoperabilitu a na škálovatelnost řešení.


Oproti ostatním technologiím mohou být webové služby pomalejší.


Webové služby dnes a zítra

Prvotní prognózy o masovém rozšíření webových služeb se nenaplnily. Je to však koncept, který bude nacházet stále větší uplatnění při návrhu flexibilních distribuovaných systémů. Přestože se technologie webových služeb stále vyvíjejí, fundamentální standardy jsou akceptovány napříč IT dodavateli. Použití webových služeb je relativně jednoduché, moderní vývojové nástroje nabízejí plnou podporu pro vývoj webových služeb, takže práce s nimi je zcela transparentní. Vývojář je odstíněn od ručního vytváření WSDL popisu služby, nebo vytváření SOAP zpráv – vše za něj obstarají vývojové nástroje a běhové prostředí. Může tak vytvářet distribuované systémy jako doposud, ale tentokrát s interoperabilitou jako největší prioritou.


Prvotní prognózy o masovém rozšíření webových služeb se nenaplnily.


Přední dodavatelé společně spolupracují na definici standardů, čímž výrazně roste pravděpodobnost, že výsledné implementace od různých výrobců budou navzájem kompatibilní. Příkladem může být organizace WS-I (Web Services Interoperability Organization), která podporuje právě interoperabilitu webových služeb napříč platformami, operačními systémy a programovacími jazyky. V organizaci jsou sdruženi „velcí hráči“, jako například BEA Systems, IBM, Hewlett-Packard, Microsoft, Sun Microsystems a další. Organizace, kromě popisu standardů, nabízí na svých stránkách (www.ws-i.org) také možnost stáhnout užitečné nástroje na otestování vašich služeb oproti platným standardům.
Směřování webových služeb se dnes upíná hlavně ke schválení dalších norem, které se souhrnně nazývají WS-* (WS-Standards). Jedná se o sadu vzájemně provázaných standardů v různém stádiu rozpracovanosti, které umožní organizacím vytvářet bezpečnější a spolehlivější systémy a zajistí jejich kompatibilitu napříč platformami. Mezi důležité standardy patří zejména WS-Security vytvářený ve spolupráci s organizací OASIS, který pokrývá oblasti autentizace, autorizace, důvěrnosti, integrity apod. Další standardy se pak týkají oblastí, jako jsou bezpečné „end-2-end“ doručování zpráv, adresace a směrování zpráv, výměna metadat mezi službami apod.

Architektura zaměřená na služby

V souvislosti s webovými službami je také nutné zmínit koncept SOA – Service Oriented Architecture. Bezpochyby je to dnes jedno z nejpoužívanějších slov v IT světě. Tento pojem však často splývá s webovými službami a naopak. Jaký je tedy mezi nimi rozdíl?
V zásadě jsou to dvě zcela odlišné věci. SOA je architektonický koncept založený na volně vázaných, obchodně zaměřených, sdílených a opakovaně použitelných službách.
Koncept SOA definuje základní pravidla, jak navrhovat distribuované systémy. Je to tedy jakási pomyslná spojka mezi procesy, požadavky a technologiemi.
Webové služby představují jeden z technologických prostředků, kterým je možné principy SOA realizovat. Pokud používáte ve svých systémech webové služby, neznamená to, že je váš systém „SOA compliance“. Tím se stane až potom, co bude dodržovat principy SOA.


Webové služby představují jeden z technologických prostředků, kterým je možné realizovat principy SOA.


Přínosy? Uvidíme…

To, jaké skutečné přínosy v podobě agilní aplikační infrastruktury webové služby a koncept SOA přinesou, ukáže až čas. Každopádně oboje mění náš pohled na vytváření distribuovaných systémů a v současné době asi nenajdeme jiný architektonický přístup, který by měl tak obrovský vliv na současný způsob návrhu informačních systémů a který by využíval platné standardy v takovéto míře.

Doporučené odkazy:

Web Service Interoperability Organization
www.ws-i.org
OASIS
www.oasis-open.org
UDDI
www.uddi.org
World Wide Web Konsorcium (W3C)
www.w3c.org
Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.

Inzerce

Zabijáci produktivity

IT Systems 9/2020V aktuálním vydání IT Systems se poněkud kriticky podíváme na home office, který byl u nás dříve využíván jen sporadicky. S příchodem března jsme se ovšem stali účastníky nechtěného experimentu. Na home office přešli téměř všichni, kterým to povaha práce dovolovala. Internet se brzy plnil články o vysoké efektivitě při práci z domova a starosti nám dělalo jen zabezpečení.