Erinevus lehekülje "SOAP" redaktsioonide vahel

Allikas: Teadmusbaas
(Lehekülg asendatud tekstiga '<h3>Lihtne objektidele juurdepääsu protokoll</h3> ''SOAP (Simple Object Access Protocol)'' [https://en.wikipedia.org/wiki/SOAP Wikipedia] [http://wiki.kehtna.edu...')
 
1. rida: 1. rida:
 +
<h3>Lihtne objektidele juurdepääsu protokoll</h3>
 +
''SOAP (Simple Object Access Protocol)'' [https://en.wikipedia.org/wiki/SOAP Wikipedia]
  
'''SOAP''', algselt ''Simple Object Access Protocol'' ehk lihtne objektipöördusprotokoll, on [[arvutivõrk]]udes kasutatav [[protokoll (andmeside)|protokoll]], millega [[veebiteenus]]ed vahetavad omavahel struktuurseid andmeid. Kasutab andmete ülekandmisel [[XML]]-{{kas|formaati}}.<ref>[https://www.w3.org/TR/soap12/ SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)]</ref> Reeglina eeldab sõnumite kooskõlastamiseks ja ülekandmiseks ka teisi [[rakenduskiht|rakenduskihi]] protokolle (millest tähtsamad on [[RPC]] ja [[HTTP]]). [[Veebiteenuste protokollistik]]u aluskihis saab SOAPi kasutada sõnumside raamistikuna, et sellel veebiteenuseid üles ehitada.
 
 
Praktilise näitena SOAP protseduuride kasutamisest võib tuua veebiteenuseid kasutavat saiti (näiteks majahindade andmebaas), millele saab saata otsinguparameetreid sisaldavaid SOAP sõnumeid. Sait tagastab päringu tulemused (hind, asukoht, lisaandmed, jms) XML formaadis dokumendis. Kuna andmed tagastatakse standardses masinloetavas formaadis, on need kasutatavad kolmandate osapoolte veebisaitidel.
 
 
SOAP arhitektuur koosneb mitut kihti hõlmavatest spetsifikatsioonidest sõnumiformaadile, sõnumivahetusmustrile, transpordiprotokolli sidumisele, sõnumitöötlusmudelile ja protokolli laiendatavusele. SOAP põlvneb [[XML-RPC]] protokollist.
 
 
==Ajalugu==
 
 
'''SOAP''' oli lühend sõnast ''Simple Object Access Protocol'', ehk lihtne objektipöördusprotokoll, kuni versioonini 1.2, mis ütleb et SOAP ei ole enam lühend. Versioon 1.2 on alates 24. juulist 2003 soovitatud [[World Wide Web Consortium]]-i ([[W3C]]) poolt. Sarnasuse tõttu võib ekslikult lühendit '''[[SOA]]'''-ga (Service Oriented Architecture) samastada, kuid olemuselt on need väga erinevad.
 
 
SOAP arendati [[Microsoft]]i soovil välja töötada objektipöördusprotokoll, ning sellega tegelesid Dave Winer, Don Box, Bob Atkinson ja Mohsen Al-Ghosein. SOAP spetsifikatsiooni haldab nüüd XML protokolli töörühm W3C-s.
 
 
==Transpordimeetodid==
 
 
SOAP kasutab transpordiprotokollina interneti rakenduskihi protokolli. Kriitikute sõnul on see protokolli väärkasutus ja seega ei täida hästi oma otstarvet. SOAP-i pooldajad on toonud analooge protokollide mitmetasandilise kasutamisega, et protokollide vahel [[tunnel]]eid tekitada.
 
 
SOAP kasutab transpordiks [[SMTP]]-d ja [[HTTP]]-d, mis on mõlemad korrektsed rakenduskihi protokollid. HTTP on nendest levinum, sest ühildub paremini tänapäevase interneti infrastruktuuriga. Täpsemalt, [[tulemüür (informaatika)|tulemüür]]id ei takista HTTP töötamist. Samuti on võimalik SOAP-i kasutada läbi [[HTTPS]]-i (rakenduskihis sama mis HTTP, kuid transpordiprotokoll on krüpteeritud) kas lihtsa või mõlemapoolse autentimisega; see on soovitatav WS-I veebiteenuste turvameetod, nagu väidab [[WS-I Basic Profile]] 1.1. See on suureks eeliseks teiste jaotatud protokollide ees, nagu [[GIOP]]/[[IIOP]] või [[DCOM]], mida tulemüürid tavaliselt tõrjuvad. SOAP läbi [[AMQP]] on veel üks võimalus, mis on vahest toetatud.
 
 
[[XML]] valiti standardseks sõnumiformaadiks, kuna seda kasutavad mitmed suurkorporatsioonid ja [[avatud lähtekood]]i arendusprojektid. Lisaks, lai valik tasuta tööriistu hõlbustab SOAP-i kasutamist. Pikaks kippuval [[XML]]-i [[süntaks]]il on nii häid, kui ka halbu külgi. Seda on lihtne inimestel lugeda, sisaldab tõrketuvastust ja aitab ära hoida selliseid koostööprobleeme, nagu [[baidijärjestus]]. Samas võib see halvata töötluskiirust ja olla kohmakas. Näiteks [[CORBA]], [[GIOP]], [[ICE]] ja [[DCOM]] kasutavad palju lühemaid, binaarseid sõnumiformaate. Teisest küljest, olemas on riistvaralisi seadmeid, mis kiirendavad [[XML]] sõnumite töötlust. Suurema läbilaske saavutamiseks uuritakse [[binaarne XML|binaarse XML-i]] kasutusvõimalusi.
 
 
==Näited SOAP sõnumitest==
 
===Päring===
 
<source lang="xml">
 
<soapenv:Envelope
 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 
xsi:schemaLocation="http://schemas.xmlsoap.org/soap/envelope/
 
                    http://schemas.xmlsoap.org/soap/envelope/">
 
  <soapenv:Body>
 
    <req:echo xmlns:req=
 
              "http://localhost:8080/axis2/services/MyService/">
 
      <req:category>kuulutused</req:category>
 
    </req:echo>
 
  </soapenv:Body>
 
</soapenv:Envelope>
 
</source>
 
 
===Vastus===
 
 
==Tehniline arvustus==
 
===Plussid===
 
* SOAP-i kasutamisel läbi HTTP ei teki probleeme prokside ja tulemüüridega.
 
* SOAP-i paindlikkus võimaldab kasutada ka teisi transpordiprotokolle. Reeglina kasutatakse transpordiprotokollina HTTP-d, kuid võimalik on kasutada ka teisi protokolle (näiteks SMTP).
 
* SOAP on platvormist sõltumatu.
 
* SOAP on keelest sõltumatu.
 
 
===Miinused===
 
* Selgitava formaadi tõttu võib XML olla märgatavalt aeglasem muudest [[vahevara]]dest nagu [[CORBA]]. Piirdudes väikeste sõnumitega, ei pruugi see probleeme tekitada. Binaarobjektide kaasamise kiirendamiseks on loodud sõnumiülekande optimeerimise mehhanism [[MTOM]].
 
* Tihtipeale, kui HTTP-d kasutatakse transpordiprotokollina, ei olda teadlikud kuidas operatsiooni HTTP-s mudeldatakse. See ongi nii mõeldud, sarnaselt sellele kuidas erinevad protokollid IP-virnas koos toimivad. Samas see analoog pole veatu, sest rakendusprotokolli kasutamine transpordiprotokollina ei tee sellest veel transpordiprotokolli. Seetõttu ei ole võimalik veenduda, kas antud meetod on operatsiooniks otstarbekaim. Parimal juhul teeb see korraliku operatsioonianalüüsi rakendusprotokolli tasemel keerukaks, seeb tulemused ei ole optimaalsed – näiteks kasutatakse POST funktsiooni, kus õigem oleks kasutada GET-i. Alternatiiv, mis kasutab HTTP meetodeid korrektselt, on REST arhitektuur.
 
* HTTP kasutamisel transpordiprotokollina peab veebilehitsemiseks mõeldud tulemüür teostama põhjalikuma (rohkem jõudlust nõudva) HTTP pakettide analüüsi.
 
* Kuigi SOAP on avatud standard, ei ole see kõikides keeltes toetatud. SOAP on hästi integreeritud Java, Curl, Delphi, .NET, Flex ja PHP programmeerimiskeeltesse ja nende arenduskeskkondadesse.<ref>[https://vidmatedownloadapp.com Vidmate Download]</ref>
 
 
 
==Välislingid==
 
* [http://www.w3.org/TR/soap/ SOAP-i spetsifikatsioon]
 
 
[[Kategooria:Võrguprotokollid]]
 
[[Kategooria:XML]]
 
[https://et.wikipedia.org/wiki/SOAP Viide]
 
 
[http://wiki.kehtna.edu.ee/Hajusrakenduste_alused Tagasi hajusrakenduse mooduli lehele]
 
[http://wiki.kehtna.edu.ee/Hajusrakenduste_alused Tagasi hajusrakenduse mooduli lehele]

Viimane redaktsioon: 30. jaanuar 2017, kell 09:37

Lihtne objektidele juurdepääsu protokoll

SOAP (Simple Object Access Protocol) Wikipedia

Tagasi hajusrakenduse mooduli lehele