RPC vs. Document
RPC și stilul de document Descrierea serviciilor Web sunt cei doi termeni cei mai răspândiți în ceea ce privește serviciile web și protocolul SOAP. Serviciile web sunt deseori descrise folosind documentele Web Service Description Language (WSDL). WSDL conturează operațiile și mesajele serviciului Web acceptate și le leagă de un protocol de rețea și un format de mesaj concret. Definițiile abstracte sunt definite folosind elementele "type", "message" și "portType". Specificațiile concrete sunt descrise folosind elemente "obligatorii" și "servicii". Fiecare dintre aceste elemente sunt plasate în interiorul unui element "definiții".
RPC și stilul de document diferă în stilurile lor obligatorii, care sunt de asemenea denumite stiluri de legare SOAP. WSDL specifică stilul de legare ca RPC sau document în funcție de sarcina utilă SOAP sau de structura conținutului elementului. Stilul de document este întotdeauna alegerea implicită, deoarece mesajul SOAP este trimis ca un singur document în element. Elementul stil RPC trebuie să respecte regulile descrise de specificația SOAP. În conformitate cu regulile, acesta poate consta doar dintr-un singur element numit după operație, iar parametrii sunt interpretați ca subelemente ale elementului principal. Ambele stiluri RPC și documente sunt acceptate de majoritatea clienților SOAP; totuși, folosirea unuia în raport cu celălalt este în principal alegerea personală a omului.
Atributul de utilizare facilitează, de asemenea, distincția între RPC și stilurile de documente. Atributul de utilizare descrie modul în care ambele stiluri sunt reprezentate în XML. Atributul de utilizare descrie dacă părțile mesajului sunt codificate sau mesajul urmează o definiție a schemei XML. Pe baza alegerilor, există patru combinații posibile de stiluri RPC și de documente; vizitați RPC / codificat, RPC literal, document / codificat sau document / literal. Nu toate cele patru combinații sunt în uz și preferința unei combinații între celelalte este mai mult interes personal.
Principala diferență între stilurile documentului și RPC este aceea că, în stilul documentului, clientul trimite întotdeauna parametrii serviciului la server într-un format simplu de document XML, mai degrabă decât un set discret de valori ale parametrilor. Stilul documentului este cuplat slab comparativ cu stilul RPC.
În stilul Document / Literal, mesajul poate fi întotdeauna validat utilizând orice validator XML. Conținutul din corpul SOAP este clar definit în schemă. În stil RPC / literal, datele transferate sunt greu de validat prin mesajul SOAP. Stilul Document / Literal pierde numele operației în mesajul SOAP, în timp ce în stilul RPC / literal numele de operare există încă în mesajul SOAP. din patru combinații diferite, stilurile care sunt utilizate pe scară largă sunt RPC / literal și Document / Literal.
Rezumat:
1. În stilul documentului, mesajul SOAP este trimis ca un singur document, în timp ce în
RPC, corpul SOAP poate conține mai multe elemente.
2. Stilul documentului este cuplat slab, în timp ce RPC este cuplat strâns.
3. În stilul documentului, clientul trimite parametrii serviciului în format XML simplu
în timp ce în stilul RPC parametrii sunt expediați ca valori discrete.
4. Stilul Document / Literal pierde numele operației în mesajul SOAP în timp ce
stilul RPC / literal păstrează numele operației în mesajul SOAP.
5. În stilul Document / Literal, mesajele pot fi întotdeauna validate folosind orice XML
validator, în timp ce în stilul RPC / literal, datele transferate sunt greu de validat prin
mesajul SOAP.