Webové služby - co jsou a k čemu slouží

Oct|30 2008

Co jsou webové služby podle Wikipedie:

Webová služba je podle definice W3C řešení, jak spolu aplikace mohou komunikovat a vyměňovat si informace přes Internet.

Pokusím se webové služby představit trochu podrobněji. Webové služby mají blízko k tzv. RPC (Remote Procedure Call neboli vzdálené volání procedur). Lépe řečeno z něho vycházejí.

V praxi si vzdálené volání procedur (RPC) můžeme představit jako komunikaci dvou počítačů v síti - klient a server. Klient pomocí RPC volá nějakou proceduru na serveru a ten klientovi vrací výsledná data. Uvažujme příklad meteorologické stanice a počítače u nás doma, kde chceme zobrazovat aktuální teplotu. V praxi to vypadá tak, že klient serveru předá nějaké vstupní parametry (například zítřejší datum) a pošle požadavek:

GetTemperature('2008-11-05');

Na straně klienta se zpráva zabalí do HTTP požadavku a odešle se na server. Server zprávu zpracuje, zjistí, jaká bude zítra teplota a vytvoří se odpověď. Ta se opět zabalí jako HTTP zpráva a je odeslána zpět klientovi. Tomu již dojde například číslo 14 a klient už ví, že zítra bude 14°.

Na uvedeném příkladě server nabízí klientovi službu - "zjištění aktuální teploty" a protože komunikace mezi klientem a serverem probíhá přes web, jedná se o webovou službu.

V praxi je princip webových služeb velmi podobný. Na straně serveru se musí určit, jaké procedury budou k dispozici, často se také mluví o tzv. "exportu" procedur. Na straně klienta se naopak musí určit adresa a port serveru, kde se dané procedury budou ve skutečnosti provádět.

Základní protokoly, které zajišťují komunikaci jsou:

  • XML-RPC - starší multiplatformní protokol, kde není nutné definovat typy (rozumnějme strukturu) přenášených dat. Naproti škála datových typů, které je možné v tomto protokolu použít, je značně omezena.
  • SOAP - částečně nástupce protokolu XML-RPC, opět multiplatformní, modernější verze, která ovšem pro svou funkci vyžaduje přesné zadání struktury přenášených dat (tzv. WSDL (Web Services Description Language)). Díky tomu ale umožňuje přenášet rozmanitější datové struktury.
  • UDDI
Tags: Internet | PHP | Programování | Sítě | Počítače

Add New Comment

Note: Comments will be visible after manual check by admin.

* These fields have to be filled.