Diferența dintre RPC și document Diferența dintre
RPC vs Document
RPC și stilul de document 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 de legare, care sunt deasemenea denumite stiluri de legare SOAP. WSDL specifică stilul de legare ca RPC sau document în funcție de sarcina utila SOAP sau de structura conținutului elementului. Stilul documentului 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, poate consta doar dintr-un singur element care este 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 ajută de asemenea la distingerea între RPC și stilurile documentelor. 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 față de cealaltă este mai mult interes personal.
Diferența principală dintre stilurile documentului și RPC este că, în stilul documentului, clientul trimite întotdeauna parametrii de serviciu către server într-un format de document simplu XML, și nu 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 stilul 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ă în mesajul SOAP.Din patru combinații diferite, stilurile 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 stilul
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 vreme 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 utilizând orice validator XML
în timp ce în stilul RPC / literal, datele transferate sunt greu de validat cu
mesajul SOAP.