RPC versus document
RPC- en documentstijl Webservices Beschrijving Taal zijn de twee meest gebruikte termen met betrekking tot webservices en SOAP-protocol. De webservices worden vaak beschreven met behulp van WSDL-documenten (World Services Description Language). De WSDL schetst de ondersteunde bewerkingen en berichten van de webservice en bindt ze aan een concreet netwerkprotocol en berichtindeling. De abstracte definities worden gedefinieerd met behulp van 'type', 'message' en 'portType' elementen. De concrete specificaties worden beschreven met behulp van "binding" en "service" -elementen. Elk van deze elementen wordt in een element "definities" geplaatst.
RPC- en documentstijl verschillen in hun bindstijlen, die ook SOAP-inbindstijlen worden genoemd. De WSDL specificeert de bindstijl als RPC of document afhankelijk van de SOAP-payload of de structuur van de elementinhoud. De documentstijl is altijd de standaardkeuze omdat het SOAP-bericht als een enkel "document" in het element wordt verzonden. Het RPC-stijlelement moet de regels volgen die worden beschreven in de SOAP-specificatie. Volgens de regels kan het bestaan uit slechts één element dat is vernoemd naar de bewerking, en de parameters worden geïnterpreteerd als subelementen van het hoofdelement. Beide RPC- en documentstijlen zijn geaccepteerde versies van de meeste SOAP-clients; het gebruik van de ene boven de andere is echter vooral de persoonlijke keuze.
Het gebruik attribuut helpt ook om onderscheid te maken tussen RPC en documentstijlen. Het gebruik kenmerk beschrijft hoe beide stijlen in XML worden weergegeven. Het gebruikattribuut beschrijft of de berichtgedeelten gecodeerd zijn of dat het bericht een XML-schemadefinitie volgt. Op basis van keuzes zijn er vier mogelijke combinaties van zowel RPC- als documentstijlen; nl RPC / gecodeerd, RPC letterlijk, Document / gecodeerd of Document / Letterlijk. Niet alle vier de combinaties zijn in gebruik en de voorkeur van de ene combinatie boven de andere is meer een persoonlijk belang.
Het grootste verschil tussen document- en RPC-stijlen is dat de client in de documentstijl altijd de serviceparameters naar de server verzendt in een eenvoudig XML-documentformaat in plaats van een afzonderlijke reeks parameterwaarden. De documentstijl is los gekoppeld in vergelijking met de RPC-stijl.
In de document / letterlijke stijl kan het bericht altijd worden gevalideerd met behulp van een XML-validator. De inhoud binnen het SOAP-lichaam is duidelijk gedefinieerd in het schema. In de RPC / letterlijke stijl zijn de overgedragen gegevens moeilijk te valideren door het SOAP-bericht. De document / letterlijke stijl verliest de bewerkingsnaam in het SOAP-bericht, terwijl in de RPC / letterlijke stijl de bewerkingsnaam nog steeds voorkomt in het SOAP-bericht.Out van vier verschillende combinaties, de stijlen die op grote schaal worden gebruikt zijn RPC / letterlijke en Document / Letterlijke.
Samenvatting:
1. In de documentstijl wordt het SOAP-bericht verzonden als een enkel document, terwijl in de
RPC-stijl, de SOAP-body kan verschillende elementen bevatten.
2. De documentstijl is losjes gekoppeld terwijl de RPC nauw is gekoppeld.
3. In de documentstijl verzendt de client de serviceparameters in een eenvoudige XML-indeling
terwijl in de RPC-stijl de parameters als discrete waarden worden verzonden.
4. De document / letterstijl verliest de bewerkingsnaam in het SOAP-bericht terwijl
de RPC / letterlijke stijl houdt de naam van de bewerking in het SOAP-bericht.
5. In de document / letterlijke stijl kunnen berichten altijd worden gevalideerd met behulp van elke XML
validator terwijl in de RPC / letterlijke stijl de overgedragen gegevens moeilijk te valideren zijn
het SOAP-bericht.