Simple Object Access Protocol: Rozdiel medzi revíziami

Smazaný obsah Přidaný obsah
Janom (diskusia | príspevky)
Preklad z českej wikipedie
(Žiaden rozdiel)

Verzia z 12:43, 22. január 2008

SOAP (celým názvom Simple Object Access Protocol) je protokolom na výmenu správ založených na XML prostredníctvom siete, hlavne pomocou HTTP.

Formát SOAP tvorí základnú vrstvu komunikácie medzi webovými službami a poskytuje prostredie na tvorbu zložitejšej komunikácie.

Existuje niekoľko rôznych druhov šablón komunikácie prostredníctvom protokolov SOAP. Najznámejší z nich je RPC šablóna, kde jeden z účastníkov komunikácie je klient a na druhej strane je server. Server ihneď odpovedá na požiadavky klienta.

SOAP je nástupca XML-RPC, od ktorého si požičiava jeho spôsob prenosu dát a ďalšie vlastnosti. Obálka, hlavička a telo komunikácie je ale pravdepodobne z WDDX.

Pôvodne ho navrhol Dave Winer, Don Box, Bob Atkinson a Mohsen Al-Ghosein v roku 1998 za podpory firmy Microsoft (kde tou dobou Atkinson a Al-Ghosein pracovali). Dnes je SOAP špecifikácia spravovaná XML skupinou tvoriacou internetové protokoly z W3C konsorcia.

Formy prenosu

HTTP aj SMTP sa dajú použiť ako aplikačná vrstva pre protokol SOAP. Ale HTTP dosiahol ďaleko väčšieho použitia. Je to predovšetkým preto, že HTTP je prakticky základ pre dnešnú Internetovou infraštruktúru. Vďaka tomu môže SOAP jednoducho prechádzať ces firewall. To je hlavná výhoda oproti iným distribuovaným protokolom, ako je napríklad DCOM, ktoré sú väčšinou na firewalle zakázané.

XML formát bol zvolený ako štandard na prenos SOAP správ pre jeho rozšírenosť a dostupnosť vývojových nástrojov ponúkaných ako opensource alebo freeware a teda volne k používaniu.

Zdĺhavá syntax XML má svoje výhody aj nevýhody. Je jednoducho čitateľná pre človeka, ale počítač ju musí zložito parsovať a stojí to dosť procesorového času a operačnej pamäte. Oproti tomu CORBA, GIOP alebo DCOM má zápis správ na komunikáciu ďaleko kratší a binárny, teda pre človeka nečitateľný. Na druhej strane vývoj počítačov ide rýchle dopredu a prestáva to byť na obtiaž. Bola už vytvorená aj binárna forma XML.

Slabé stránky

Veľký zápis komunikácie.

Príklad

Príklad správy od klienta, ktorý sa pýta na informácie o produkte na sklade pomocou webovej služby. Klient sa dožaduje informácie o produkte označenom ID 827635:

 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getProductDetails xmlns="http://warehouse.example.com/ws">
       <productID>827635</productID>
     </getProductDetails>
   </soap:Body>
 </soap:Envelope>

Tu je odpoveď webovej služby pre klienta.

 <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
     <getProductDetailsResponse xmlns="http://warehouse.example.com/ws">
       <getProductDetailsResult>
         <productName>Čokoláda sada 3 chutí</productName>
         <productID>827635</productID>
         <popis>Čokoláda horká, biela a smotanová</popis>
         <cena>98,50</cena>
         <naSkladu>áno</naSkladu>
       </getProductDetailsResult>
     </getProductDetailsResponse>
   </soap:Body>
 </soap:Envelope>

Zdroje

Tento článok je čiastočný alebo úplný preklad článku SOAP na českej Wikipédii (číslo revízie nebolo určené).

Kategorie:Internet