RPC срещу документ
RPC и стил на документ Уеб услуги Описание Езикът са двата най-широко използвани термина във връзка с уеб услуги и SOAP протокол. Уеб услугите често се описват с помощта на документи за описание на уеб услуги (WSDL). WSDL очертава поддържаните операции и съобщения за уеб услуги и ги обвързва с конкретен мрежов протокол и формат на съобщението. Абстрактните дефиниции се дефинират чрез елементи „тип“, „съобщение“ и „portType“. Конкретните спецификации са описани като се използват елементи за свързване и обслужване. Всеки един от тези елементи е поставен вътре в елемент „определения“.
RPC и стилът на документа се различават в стиловете на свързване, които се наричат също стилове на свързване на SOAP. WSDL определя стила на обвързване като RPC или документ в зависимост от полезния товар на SOAP или структурата на съдържанието на елемента. Стилът на документа винаги е избор по подразбиране, тъй като съобщението SOAP се изпраща като един „документ“ в елемента. Елементът в стил RPC трябва да следва правилата, описани в спецификацията SOAP. Съгласно правилата, може да се състои само от един елемент, който е кръстен на операцията, а параметрите се интерпретират като под-елементи на основния елемент. Както стилите на RPC, така и документите са приети версии от повечето клиенти на SOAP; обаче използването на едно над друго е главно нечий личен избор.
Използваният атрибут също помага да се прави разлика между RPC и стилове на документи. Атрибутът use описва как и двата стила са представени в XML. Атрибутът use описва дали частите на съобщението са кодирани или съобщението следва дефиниция на XML схема. Въз основа на избора има четири възможни комбинации както от стилове на RPC, така и с документи; именно RPC / кодиран, RPC буквален, документ / кодиран или документ / литерал. Не всички от четирите комбинации се използват и предпочитанието на една комбинация пред другата е по-скоро личен интерес.
Основната разлика между стила на документ и RPC е, че в стила на документа клиентът винаги изпраща сервизните параметри на сървъра в обикновен формат на XML документ, а не дискретен набор от стойности на параметрите. Стилът на документа е слабо свързан в сравнение със стила на RPC.
В стил Документ / Буквал съобщението винаги може да бъде валидирано с помощта на всеки валидатор на XML. Съдържанието в тялото на SOAP е ясно дефинирано в схемата. В стил RPC / буквален, прехвърлените данни е трудно да се валидират чрез съобщението SOAP. Документът / буквалният стил губи името на операцията в съобщението SOAP, докато в стил RPC / буквален името на операцията все още съществува в съобщението SOAP.Out от четири различни комбинации, стиловете, които се използват широко, са RPC / literal и Document / Literal.
Резюме:
1. В стил на документ, SOAP съобщението се изпраща като единичен документ, докато в
RPC стил, тялото на SOAP може да съдържа няколко елемента.
2. Стилът на документа е слабо свързан, докато RPC е плътно свързан.
3. В стила на документа клиентът изпраща сервизните параметри в прост XML формат
като има предвид, че в стил RPC параметрите се изпращат като дискретни стойности.
4. Стилът Document / Literal губи името на операцията в съобщението SOAP, докато
RPC / буквалния стил запазва името на операцията в съобщението SOAP.
5. В стил Документ / Буквал съобщенията винаги могат да бъдат валидирани с помощта на всеки XML
валидатор, докато в RPC / буквален стил, прехвърлените данни е трудно да бъдат потвърдени от
съобщението SOAP.