Co je protokol SOAP a jak funguje? 


SOAP (Simple Object Access Protocol) je jeden ze základních kamenů fungování webových služeb. Ale jakým způsobem funguje a co má společného s XML a HTTP? Význam SOAP protokolu jsme se vám snažili objasnit v článku.

Co je SOAP protokol?  

Webové služby umožňují snadnou komunikaci mezi aplikacemi v různorodém prostředí, ta je založená především na jazyku XML a protokolu HTTP. Aplikace si navzájem posílají XML zprávy, které obsahují dotazy a odpovědi daných aplikací. Infrastruktura webových služeb pak stojí na třech klíčových technologiích: 

  1. SOAP (Simple Object Access Protocol) – protokol pro komunikaci, 
  2. UDDI (Universal Description, Discovery and Integration) – mechanismus pro registraci a vyhledávání webových služeb, 
  3. WSDL (Web Services Description Language) – formát pro popis rozhraní webové služby. 

Webové služby jsou tedy souborem open source protokolů a standardů sloužících k výměně dat mezi aplikacemi i systémy a umožňují zpřístupnit vaši zprávu zbytku světa. SOAP (Simple Object Access Protocol) pak představuje protokol pro přenos XML zpráv přes síť zejména pomocí HTTP a je základem webových služeb. Ostatní standardy UDDI a WSDL vznikly až po zavedení SOAPu a jen dále rozšiřují jeho možnosti a jednoduchost použití. 

Jak SOAP protokol funguje? 

SOAP umožňuje výměnu XML zpráv mezi dvěma aplikacemi a funguje tak na základě principu peer-to-peer. Každá zpráva představuje jednosměrný tok informace od odesílatele k příjemci, avšak díky kombinaci více zpráv můžeme pomocí SOAP protokolu snadno implementovat běžné komunikační scénáře. 

Kde se SOAP používá nejčastěji? 

SOAP se nejčastěji používá jako alternativa k RPC (vzdálenému volání procedur) v modelu požadavek/odpověď. Jedna aplikace tak posílá XML zprávu s požadavkem druhé aplikaci. Ta poté tento požadavek zpracuje a odpověď na něj vrací jako další XML zprávu. 

V tomto případě bývá webová služba vyvolaná webovým serverem, ten čeká na požadavky klientů a jakmile přes HTTP přijde příslušná zpráva, spustí webovou službu a předá jí požadavek. Výsledek služby se poté předává jako odpověď zpět klientovi. 

Formy přenosu SOAP 

Aplikační vrstva protokolu SOAP může být HTTP nebo SMTP. HTTP tvoří základ současné internetové infrastruktury, SOAP tak může jednoduše procházet přes firewall. Tato vlastnost představuje hlavní výhodu v porovnání s jinými distribuovanými protokoly, jako je například DCOM, které bývají často na firewallech blokované. 

Také zejména z důvodu jeho rozšíření i dostupnosti open source nebo freeware vývojových nástrojů byl jako standard pro přenos SOAP zpráv zvolený XML formát. O XML se často mluví také ve spojení s tvorbou webu. Tento jazyk pro tvorbu webových stránek rozšiřuje množinu elementů, které vám nabízí HTML. Od roku 2022 je HTML/CSS druhým nejčastěji používaným programovacím jazykem (Statista, 2023). První je JavaScript. 

Jak vypadá SOAP zpráva? 

Zpráva v SOAPu se skládá z jednoduchého XML dokumentu, který obsahuje kořenový prvek Envelope a také: 

  • Header (hlavičku) – je volitelná a slouží k přenosu dodatečných informací, jako jsou údaje pro autentizaci (jméno a heslo), identifikace uživatele atp. 
  • Body (tělo) – obsahuje informace nezbytné pro identifikaci webové služby a předávaných parametrů. 

Příklad SOAP zprávy 

<soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/“> 

  <soap:Header> 

    <authentication> 

      <username>user</username> 

      <password>pass</password> 

    </authentication> 

  </soap:Header> 

  <soap:Body> 

    <getStockPrice xmlns=“http://example.com/stocks“> 

      <stockSymbol>IBM</stockSymbol> 

    </getStockPrice> 

  </soap:Body> 

</soap:Envelope> 

Tento SOAP požadavek zjistí aktuální cenu akcie dané společnosti. Odpověď na tuto SOAP zprávu by pak mohla vypadat takto: 

<soap:Envelope xmlns:soap=“http://schemas.xmlsoap.org/soap/envelope/“> 

  <soap:Body> 

    <getStockPriceResponse xmlns=“http://example.com/stocks“> 

      <price>135.67</price> 

    </getStockPriceResponse> 

  </soap:Body> 

</soap:Envelope> 

Zpráva obsahovat aktuální cenu akcií pro danou společnost. 

SOAP byl prvním široce používaným protokolem pro propojení webových služeb v architektuře orientované na služby (SOA). Tento protokol se používá například v aplikacích, které zpracovávají online transakce. 




Komentujte jako první

Zanechte odpověď

Vaše emailová adresa nebude zobrazována


*


Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..