Movatterモバイル変換


[0]ホーム

URL:


Mine sisu juurde
Vikipeedia
Otsing

SOAP

Allikas: Vikipeedia

SOAP (algselt tähendusesSimple Object Access Protocol 'lihtne objektipöördusprotokoll') onarvutivõrkudes kasutatavprotokoll, millegaveebiteenused vahetavad omavahel struktuurseid andmeid. Kasutab andmete ülekandmiselXML-vormingut.[1] Reeglina eeldab sõnumite kooskõlastamiseks ja ülekandmiseks ka teisirakenduskihi protokolle (millest tähtsamad onRPC jaHTTP).Veebiteenuste protokollistiku 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-vorminguga dokumendis. Kuna andmed tagastatakse standardses masinloetavas vormingus, on need kasutatavad kolmandate osapoolte veebisaitidel.

SOAP-arhitektuur koosneb mitut kihti hõlmavatest spetsifikatsioonidest sõnumivormingule, sõnumivahetusmustrile, transpordiprotokolli sidumisele, sõnumitöötlusmudelile ja protokolli laiendatavusele. SOAP põlvnebXML-RPC protokollist.

Ajalugu

[muuda |muuda lähteteksti]

SOAP oli lühend sõnadestSimple Object Access Protocol (sõna-sõnalt: lihtne objektipöördusprotokoll), kuni versioonini 1.2, mis ütleb, et SOAP ei ole enam lühend. Versioon 1.2 on alates 24. juulist 2003 soovitatudWorld Wide Web Consortiumii (W3C) poolt. Sarnasuse tõttu võib ekslikult lühenditSOA-ga (Service Oriented Architecture) samastada, kuid olemuselt on need väga erinevad.

SOAP arendatiMicrosofti soovil välja töötada objektipöördusprotokoll, 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

[muuda |muuda lähteteksti]

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 vaheltunneleid tekitada.

SOAP kasutab transpordiksSMTP-d jaHTTP-d, mis on mõlemad korrektsed rakenduskihi protokollid. HTTP on nendest levinum, sest ühildub paremini tänapäevase interneti infrastruktuuriga. Täpsemalt,tulemüürid ei takista HTTP töötamist. Samuti on võimalik SOAP-i kasutada läbiHTTPS-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äidabWS-I Basic Profile 1.1. See on suureks eeliseks teiste jaotatud protokollide ees, naguGIOP/IIOP võiDCOM, mida tulemüürid tavaliselt tõrjuvad. SOAP läbiAMQP on veel üks võimalus, mis on vahest toetatud.

XML valiti standardseks sõnumivorminguks, kuna seda kasutavad mitmed suurkorporatsioonid jaavatud lähtekoodi arendusprojektid. Lisaks, lai valik tasuta tööriistu hõlbustab SOAP-i kasutamist. Pikaks kippuvalXML-isüntaksil on nii häid, kui ka halbu külgi. Seda on lihtne inimestel lugeda, sisaldab tõrketuvastust ja aitab ära hoida selliseid koostööprobleeme, nagubaidijärjestus. Samas võib see halvata töötluskiirust ja olla kohmakas. NäiteksCORBA,GIOP,ICE jaDCOM kasutavad palju lühemaid, binaarseid sõnumivorminguid. Teisest küljest, olemas on riistvaralisi seadmeid, mis kiirendavadXML sõnumite töötlust. Suurema läbilaske saavutamiseks uuritaksebinaarse XML-i kasutusvõimalusi.

Näited SOAP sõnumitest

[muuda |muuda lähteteksti]

Päring

[muuda |muuda lähteteksti]
<soapenv:Envelopexmlns: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:echoxmlns:req="http://localhost:8080/axis2/services/MyService/"><req:category>kuulutused</req:category></req:echo></soapenv:Body></soapenv:Envelope>

Vastus

[muuda |muuda lähteteksti]

Tehniline arvustus

[muuda |muuda lähteteksti]

Plussid

[muuda |muuda lähteteksti]
  • 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

[muuda |muuda lähteteksti]
  • Selgitava vormingu tõttu võib XML olla märgatavalt aeglasem muudestvahevaradest (ntCORBA). Kuni piirdutakse väikeste sõnumitega, ei pruugi see probleeme tekitada. Binaarobjektide kaasamise kiirendamiseks on loodud sõnumiülekande optimeerimise mehhanismMTOM.
  • Tihtipeale, kui HTTP-d kasutatakse transpordiprotokollina, ei olda teadlikud kuidas operatsiooni HTTP-s mudeldatakse. See ongi nii mõeldud, sarnaselt sellega, 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, seega 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.[2]

Vaata ka

[muuda |muuda lähteteksti]

Viited

[muuda |muuda lähteteksti]
  1. SOAP Version 1.2 Part 1: Messaging Framework (Second Edition)
  2. "Vidmate Download".Originaali arhiivikoopia seisuga 1. märts 2018. Vaadatud 9. veebruaril 2016.

Välislingid

[muuda |muuda lähteteksti]
Pärit leheküljelt "https://et.wikipedia.org/w/index.php?title=SOAP&oldid=6436666"
Kategooriad:
Peidetud kategooria:

[8]ページ先頭

©2009-2025 Movatter.jp