Săpun, computerworld, rusia, publicarea sistemelor deschise

Înregistrarea conferinței

definiție

Simple Object Access Protocol (SOAP) este un protocol bazat pe XML care definește regulile de trimitere a mesajelor pe Internet între diferite sisteme de aplicații. Este folosit în principal pentru apelurile de la distanță. protocolul SOAP proiectat inițial cu speranța că aceasta va funcționa „pe» HTTP (SOAP, în scopul de a facilita integrarea în aplicații bazate pe Web), dar pot fi acum activate și alte protocoale de transport, cum ar fi SMTP.







Să presupunem că creați un serviciu de acces la aplicații pe Internet; consumatorii interacționează cu acest serviciu, oferindu-i informații despre acesta. Serverele dvs. procesează datele și returnează rezultatele către consumatori. Care este cel mai bun mod de a menține schimbul de date cu sistemul?

Aveți posibilitatea să creați o aplicație client-server personalizată și să solicitați consumatorilor să utilizeze un program client special pentru a vă accesa serviciul. Dar dacă intenționați serios să se găsească în Internet-business, trebuie să creați un client care ruleaza pe toate platformele posibile client - .. Windows, Macintosh, Unix, Linux, etc. Cu alte cuvinte, necesitatea de a scrie un număr de clienți diferiți.

Și cum veți trata folosind Web-ul? Această decizie, desigur, este perfect acceptabil, dar ferm legat de punerea în aplicare a browser-ului, și va avea din nou pentru a construi infrastructura pentru a trimite și a primi date de intrare și de ieșire, precum și datele de format și de ambalare pentru un astfel de schimb. Pentru a pune în aplicare Java complexe sau aplicație ActiveX, puteți alege, dar atunci unii oameni vor refuza serviciile dvs. din cauza cerințelor aparent mare de lățime de bandă și o apărare necorespunzătoare.

Tot ceea ce este necesar este un protocol simplu care simplifică ambalarea datelor aplicațiilor și le transmite pe Web, folosind limba XML care este adaptabilă la conținutul informațiilor. Acest lucru asigură că atât expeditorul cât și destinatarul pot interpreta cu ușurință conținutul oricărui mesaj. În același timp, utilizând HTTP protocolul Web ca transport, va fi posibil să refuzați necesitatea de a reduce nivelul de protecție al firewall-urilor.

Protocolul de acces simplu de obiect (SOAP) descris în detaliu este un simplu protocol de conectare prin care nodurile pot invoca de la distanță obiectele aplicației și returnează rezultatele. SOAP oferă un set minim de condiții care permit unei aplicații să trimită mesaje: un client poate trimite un mesaj pentru a apela un obiect de program, iar serverul poate returna rezultatele acestui apel.







SOAP este destul de simplu: mesajele sunt documente XML care conțin comenzi SOAP. Deși SOAP teoretic poate fi legat de orice protocol de transport pentru aplicații, acesta este de obicei folosit împreună cu HTTP.

Scribner a remarcat faptul că SOAP acționează ca un protocol de apel la procedură la distanță, în același mod ca și Remote Method Invocation în Java sau Protocol Inter-ORB general în CORBA.

Potrivit lui Scribner, deoarece HTTP și XML sunt folosite aproape peste tot, SOAP pare să fie cel mai scalabil dintre protocoalele de apel la proceduri de la distanță create până în prezent. SOAP nu este conceput pentru a acționa ca arhitectură obiect complet.

SOAP nu înlocuiește protocolul Remote Method Invocation în Java, modelul Object Distributed Object și CORBA; el sugerează reguli care pot fi folosite de oricare dintre aceste modele. SOAP nu este o soluție completă. Nu acceptă activarea sau protecția obiectului. Potrivit lui Scribner, dezvoltatorii SOAP "sunt siguri că utilizatorii vor adăuga acest cod pe cont propriu", construindu-l pe SOAP, în loc să o facă parte integrantă din protocolul propriu-zis.

Figura arată un exemplu preluat din specificația SOAP 1.1, în care gazda solicită serviciul de cotație pentru valoarea unui anumit stoc. Solicitarea SOAP este încorporată în HTTP POST, iar corpul interogării specifică tipul de solicitare și simbolul partajării. Răspunsul oferă, de asemenea, un obiect XML încapsulat într-un răspuns HTTP cu o singură valoare de returnare (34,5 în acest caz).

Caracteristici ale SOAP

Cu SOAP, dezvoltatorii pot crea servicii Web la fel de repede ca mesajele SOAP pentru apelurile programate pentru aplicațiile existente sunt scrise și apoi se adaugă aceste aplicații pe pagini web simple. Dar, în plus, dezvoltatorii au capacitatea de a utiliza apelurile SOAP în aplicații dedicate și pentru a crea aplicații care pot fi transferate pe paginile web ale altor persoane, și, astfel, să evite procesul de dezvoltare costisitoare consumatoare de timp și.

Exemplu SOAP

Următorul exemplu ilustrează o cerere SOAP, numită GetLastTradePrice, care permite clientului să trimită o cerere pentru cele mai recente cotații ale anumitor stocuri.

POST / StockQuote HTTP / 1.1
Realizator: www.stockquoteserver.com
Tip de conținut: text / xml; charset = "utf-8"
Conținut-lungime: nnnn
SOAPAction: "URI URI"

Primele cinci linii (parte din antetul HTTP) specifică tipul de mesaj (POST), gazda, tipul și lungimea conținutului, iar antetul SOAPAction specifică scopul solicitării SOAP. Mesajul SOAP în sine este un document XML în care primește plicul SOAP, urmat de un element XML care specifică spațiul de nume SOAP și atributele, dacă există. Un plic SOAP poate include un antet (dar nu și în acest caz), urmat de un corp SOAP. În exemplul nostru, organismul conține o solicitare pentru GetLastTradePrice și un simbol al acțiunilor pentru care se solicită cele mai recente citate. Răspunsul la această interogare ar putea arăta astfel.

HTTP / 1.1 200 OK
Tip de conținut: text / xml; charset = "utf-8"
Conținut-lungime: nnnn

Din nou, primele trei linii fac parte din antetul HTTP; mesajul SOAP în sine constă dintr-un plic care conține un răspuns la cererea inițială, etichetat GetLastTradePriceResponse, și include valoarea returnată, în cazul nostru 34.5.

Distribuiți materialul împreună cu colegii și prietenii







Articole similare

Trimiteți-le prietenilor: