Webová služba
Webová služba je softwarová komponenta systému orientovaného na služby (SOA) umožňující interakci dvou strojů na síti. Je popsána ve strojově zpracovatelném formátu, konkrétně WSDL. S webovou službou ostatní stroje komunikují způsobem, který je předepsaný v popisu služby, pomocí protokolu SOAP přepravené pomocí jiných, již zavedených protokolů, tzv. Tunelování firewallu. Důvodem pro tunelování je nedostatek důvěry ze strany firewallů již zavedených systémů.
Protokoly SOAP a WSDL jsou oba provedeny v syntaxi jazyka XML, který je navržen tak, aby byl snadno strojově zpracovatelný. Protokol SOAP i WSDL byly navrženy tak, aby byly co nejméně závislé na zvolené verzi standardu XML. Oba protokoly jsou zavázány dodržet příslušné standardy WSDL (SOAP) a zvolený standard XML.
Existují i jiné způsoby pro komunikaci s webovou službou: Je jím například komunikace podle filosofie CRUD (Create, Read, Update, Delete - vytvoř-zapiš, přečti-vrať, změň, smaž) realizované typicky jako Representational State Transfer (REST), který v provedení nad protokolem HTTP využívá právě čtyř jeho metod (POST, GET, PUT, DELETE). Aby bylo možno s daty na serveru pracovat, tato čtyři volání vystavené služby stačí.
Pro zajištění spolupráce vyvinula IBM standard WSFL.
Komunikace po síti
Webová služba je reprezentována softwarovým nebo hardwarovým agentem; ti mohou být různí, ale webová služba zůstává stále stejná. Během transakce je jeden agent žádajícím o službu a druhý poskytujícím službu. Standardy používané specifikací webových služeb mají za úkol zajistit totožnou sémantiku obou agentů.
Specifikace při provádění webové služby počítá se třemi účastníky. Jsou jimi již zmínění žadatel o službu a poskytovatel služby, třetí entitu představuje registr služeb. Poskytovatel zveřejňuje definici služby v registru pomocí protokolů UDDI a WSDL. Žadatel o službu ji vyhledá, a pomocí definice, která mu byla poskytnuta registrem služby, se s poskytovatelem spojí.
Webové služby používají pro přenos informací mezi stroji již zavedených protokolů. Důvodem je nedůvěra firewallů pro příchozí zprávy. Mechanismus tunelování tedy funguje tak, že SOAP zpráva se zabalí do obecného protokolu (např. HTTP, SMTP nebo MQseries), kterému firewall důvěřuje; po průchodu firewallem se příjemci dostane požadovaná zpráva.
Protokol SOAP, který se stará o realizaci přenosu dat mezi žádajícím a poskytujícím agentem, umožňuje realizace komunikace typu:
- jednosměrná komunikace,
- požadavek/odpověď,
- Peer-to-Peer (konverzace)
a definuje dva druhy účastníků přenosu zprávy:
- odesílatel,
- příjemce.
Pohled na službu ze strany stroje
Služba je strojem chápána jako množina síťových koncových bodů nebo portů, které jsou kontaktovány pomocí portů. Jednotlivé operace jsou reprezentovány jednotlivými typy portů. Porty chápejme jako adresy pro připojení k webové službě.
Přínosy webových služeb
Hlavním přínosem webových služeb je přijetí jejích protokolů jako standardů mezi-systémové komunikace a tak vytvářejí vhodný nástroj pro komunikaci mezi firemními systémy a tím i zefektivnění Business-to-Business operací.
Jako vedlejší přínos, ale stále velmi významný, se jeví přijetí protokolu SOAP jako standardu pro přenášení zpráv mezi programy nebo systémy. Mnoho programů tak nabízí rozhraní pro využívaní jejich nástrojů prostřednictvím zpráv SOAP.
Literatura
- ALONSO, G., CASATI, F., KUNO, H., MACHIRAJU, V.: Web Services. Concepts, Architectures and Applications. Springer 2004. ISBN 3-540-44008-9
Související články
- SOAP – způsob komunikace
- WSDL – popis komunikace a možností
- XML – formát zpráv komunikace
- PHP – skriptovací jazyk pro webové servery (soap rozšíření)
- Java – programovací jazyk, který umí pracovat s webovými službami
- Webový server