princip: aplikace (programová komponenta) identifikovaná pomocí jedinečné adresy, která poskytuje kolekci metod, ke kterým je možno přistupovat po síti s využitím standardizovaných protokolů
metody vrací na konkrétní požadavek (request) konkrétní odpověď (response)
služba nemusí nic vracet ani mít vstupní parametry
synchronní / asynchronní
využití
RPC (Remote procedure calls) – vzdálené volání procedur - pomocí WS je volána funkce s parametry definovanými v požadavku klienta, výsledek volání je oznámen v reakci na požadavek
SOA (Service-oriented architecture) – servisně orientovaná architektura, kde základním prvkem komunikace není procedura, ale zpráva. Komunikace pomocí zasílání zpráv umožňuje volnější vazbu mezi systémy a je možné skrýt nepodstatné implementační detaily
REST (Representational State Transfer) – funkcionalita je rozdělena do jednotlivých prostředků (resources) s unikátními URL, všechny prostředky sdílí uniformní
architektura
komunikační vrstva
přenos zpráv mezi službami a klienty / protokol SOAP
vrstva popisu služby
popis sestává ze seznamu metod, parametrů a návratových hodnot, přípojných nodů (fyzických adres v počítačové síti) pro volání služby.
odpověď na otázky, co daná služba dělá (jaké metody poskytuje, co je potřeba poslat na vstup, abychom obdrželi odpověď), jak je služba přístupná (detaily o datových typech a protokolech nezbytných pro přístup k metodám)
kde se konkrétní služba nachází (detaily o adrese specifické pro daný protokol)
jazyk WSDL
vrstva registrů
když uživatel potřebuje využít nějakou specifickou službu, prohledá daný registr - získá popis a může začít používat
protokol UDD
bezpečnostní vrstva
vrstva spolehlivosti zpráv
zajišťuje ověřování spolehlivosti přenosu zprávy a věrohodnosti, zda daná zpráva přišla ze správného zdroje a nezměněná
vrstva pro kontext, koordinaci a přenos
koordinace činnosti WS v případě dlouhých transakcí
bussiness process language layer
popisuje spouštěcí logiku webových služeb definováním jejich kontrolního toku (podmíněné, sekvenční, paralelní) a předepisuje pravidla pro zpracování jejich dat
vrstva pro choreografii
chování služeb při komunikaci mezi sebou
protokoly
přenos - HTTP, FTP, SMTP
XML komunikace -
XML RPC
SOAP - nástupce RPC
REST - (Representational State Transfer) - založen na znalosti zdrojů a entit, kde každá má vlastní URI
popis služby
vyhledání služby
SOA
řešení, které klade důraz na používání standardů
standardizace se opírá o používané webové služby popisující funkce aplikací
Služby jsou bezstavové a jejich rozhraní je popsané pomocí standardizovaného rozhraní WSDL a komunikují pomocí standardního komunikačního protokolu SOAP
REST (Representational State Transfer) - založen na znalosti zdrojů a entit, kde každá má vlastní URI
SOA A GIS
dynamicky generovaní klienti
Distribuované programové mapové komponenty
SOAP
protokol pro posílání zpráv XML
slouží k volání webových služeb a k předávání dat
základ webových služeb - ostatní standardy vznikly později a jen rozšiřují jeho možnosti a snadnost použití
umožňuje zaslání XML zprávy mezi 2 aplikacemi
pracuje na principu peer-to-peer
zpráva je jednosměrný přenos informace od odesílatele k příjemci
díky kombinování několika zpráv - lze implementovat běžné komunikační scénáře
pracuje na principu vzdáleného volání procedur (RPC) = model požadavek/odpověď
poskytovatel klientovi nabízí množinu funkcí nad daty
klient pomocí XML tyto funkce vzdáleně volá
body a header obalene v envelope
Web Services Description Language WSDL
XML dokument, který popisuje konkrétní WS - parametry při volání, návratový typ, …
operace a zprávy jsou popisovány na abstraktní úrovni - až poté jsou svázány s konkrétním síťovým protokolem a datovým formátem → snadné vytvoření popisu rozhraní, které nabízí jednu službu několika způsoby
v praxi se nejčastěji popisují služby, které si posílají zprávy pomocí formátu SOAP a protokolu HTTP
elementy:
types - obsahuje definici datových struktur používaných ve zprávách, použiju nejčastěji XML schémata,
message - definuje formát předávaných zpráv pomocí dříve definovaných datových typů, při použití SOAPu pro RPC odpovídá jedna část zprávy jednomu parametru vzdálené metody
operation - abstraktní definice operací, které jsou službou podporovány, definice vstupů a výstupů,
portType - sdružuje dohromady několik operací
binding - slouží pro navázání určitého typu portu (portType) na konkrétní protokol a formát přenosu zpráv
port - jeden koncový bod služby definovaný jako kombinace síťové adresy a dříve definované vazby (binding)
service - sdružuje několik koncových bodů (portů) do jedné služby
Universal Description, Discovery and Integration UDDI
mechanismy pro registrování, kategorizování a vyhledávání webových služeb
adresářová služba popisující společnosti a webové služby, které poskytují
pracuje jako WS ⇒ komunikace s ní probíhá pomocí SOAP
obsahuje 4 druhy entit
bussiness entity
bussiness service
binding tepmplate
service typ
práce s UDDI:
vývojář prohledá registr a najde si služby, které potřebuje
získá pro ně popis WSDL a může je začít rovnou používat
UDDI nemusí obsahovat jen popisy webových služeb ve WSDL, lze do něj ukládat popisy služeb v libovolném formátu
Z důvodu interoperability se však společně s UDDI používá právě SOAP a WSDL
WSIL
funguje naopak než UDDI
poskytovatel nehledá klienty, ale klient hledá poskytovatele a jeho služby
katalog OGC Cat
OGC standard, definuje rozhraní pro vytváření aplikačních profilů pro prohledávání, procházení a dotazování metainformačních databází o datech, službách a dalších případných zdrojích
Representational State Transfer REST
softwarová architektura navržená pro „hypermediové“ systémy v distribuované prostředí
v úzkém slova smyslu definuje sbírku principů síťové architektury, která popisuje, jak jsou zdroje definovány a adresovány
na rozdíl od známějších XML-RPC či SOAP, orientován datově, nikoli procedurálně
komunikační protokol
client/server - slouží k oddělení odpovědností
bezestavovost (stateless)- každý požadavek musí obsahovat všechny informace nutné k jeho vykonání
cache - každý požadavek může být explicitně označený jako cacheovatelný či necacheovatelný, to umožňuje transparentně zvýšit výkonnost přidáním cache mezi klient a server
Code-On-Demand - funkcionalita klienta může být rozšířena kódem, který zašle server (například JavaScript)
vrstevnatost - umožňuje skládání vrstev poskytujících služby za účelem zvýšení variabilnosti (cache, transformace, rozložení zátěže atd.)
Výhody REST konceptu
jednoduché a změnám odolné rozhraní - snadná rozšiřitelnost
malé nároky na klienta z hlediska porozumění sémantice operací
transparentnost - resource lze na “cestě” velice snadno cacheovat, transformovat atd.
nevýhody REST konceptu proti RPC
dsvvv\vds blablabláááááááááááááááááááááááááááá
rest formát výměny dat
ATOM/RSS - sada protokolů pro publikaci a aktualizaci informačních zdrojů
JSON (JavaScript Object Notation) - speciální záznam popisu dat odvozený z JavaScriptu s nízkou provozní režií, snadno a rychle interpretovatelný v jakémkoliv prohlížeči
Business Process Execution Language BPEL
model a prostředky pro popis chování procesu, založeného na spolupráci mezi daným procesem a jeho partnery
spolupráce mezi všemi partnery je zprostředkovávaná rozhraními WS a struktura spojení na této úrovni je zapouzdřená do tzv. partnerLink
všechny externí zdroje a partneři jsou zde reprezentovány jako WSDL služby
webové služby v oblasti GIS
Permalink webove_sluzby.txt · Last modified: 2017/01/08 23:32 by efox