Unterschied zwischen RPC und Dokument Unterschied zwischen

Anonim

RPC vs. Dokument

sind die zwei am häufigsten verwendeten Begriffe in Bezug auf Webdienste und das SOAP-Protokoll. Die Webdienste werden häufig mithilfe von WSDL-Dokumenten (Web Services Description Language) beschrieben. Die WSDL beschreibt die unterstützten Web-Service-Operationen und -Nachrichten und bindet sie an ein konkretes Netzwerkprotokoll und Nachrichtenformat. Die abstrakten Definitionen werden mit den Elementen "type", "message" und "portType" definiert. Die konkreten Spezifikationen werden mit "Binding" - und "Service" -Elementen beschrieben. Jedes dieser Elemente befindet sich in einem "definitions" -Element.

RPC und Dokumentstil unterscheiden sich in ihren Bindungsstilen, die auch als SOAP-Bindungsstile bezeichnet werden. Die WSDL gibt den Bindungsstil als RPC oder Dokument in Abhängigkeit von der SOAP-Nutzlast oder der Struktur des Elementinhalts an. Der Dokumentstil ist immer die Standardauswahl, da die SOAP-Nachricht als einzelnes "Dokument" im Element gesendet wird. Das RPC-Style-Element muss den in der SOAP-Spezifikation beschriebenen Regeln folgen. Gemäß den Regeln kann das Element nur aus einem Element bestehen, das nach der Operation benannt ist, und die Parameter werden als Unterelemente des Hauptelements interpretiert. Beide RPC- und Dokumentformate sind von den meisten SOAP-Clients akzeptierte Versionen. die Verwendung von einem über den anderen ist jedoch hauptsächlich die persönliche Entscheidung.

Das use-Attribut hilft auch, zwischen RPC- und Dokumentstilen zu unterscheiden. Das use-Attribut beschreibt, wie beide Stile in XML dargestellt werden. Das use-Attribut beschreibt, ob die Nachrichtenteile codiert sind oder ob die Nachricht einer XML-Schemadefinition folgt. Basierend auf Auswahlmöglichkeiten gibt es vier mögliche Kombinationen von RPC- und Dokumentstilen; viz RPC / codiert, RPC-Literal, Dokument / Codiert oder Dokument / Literal. Nicht alle der vier Kombinationen sind in Gebrauch, und die Bevorzugung einer Kombination gegenüber der anderen ist eher ein persönliches Interesse.

Der Hauptunterschied zwischen Dokument- und RPC-Stilen besteht darin, dass der Client im Dokumentformat die Dienstparameter immer in einem einfachen XML-Dokumentformat an den Server sendet und nicht als diskrete Parameterwerte. Der Dokumentstil ist im Vergleich zum RPC-Stil lose gekoppelt.

Im Dokument / Literal-Stil kann die Nachricht immer mit einem beliebigen XML-Validator validiert werden. Der Inhalt innerhalb des SOAP-Körpers ist im Schema klar definiert. Im RPC / Literal-Stil ist es schwierig, die übertragenen Daten durch die SOAP-Nachricht zu validieren. Der Document / Literal-Stil verliert den Operationsnamen in der SOAP-Nachricht, während im RPC / Literal-Stil der Operationsname in der SOAP-Nachricht noch existiert.Von den vier verschiedenen Kombinationen sind die weit verbreiteten Stile RPC / Literal und Document / Literal.

Zusammenfassung:

1. Im Dokumentformat wird die SOAP-Nachricht als einzelnes Dokument gesendet, während der SOAP-Text im Stil

RPC mehrere Elemente enthalten kann.

2. Der Dokumentstil ist lose gekoppelt, während der RPC eng gekoppelt ist.

3. Im Document-Style sendet der Client die Service-Parameter im einfachen XML-Format, während im RPC-Style die Parameter als diskrete Werte gesendet werden.

4. Der Document / Literal-Stil verliert den Operationsnamen in der SOAP-Nachricht, während

der RPC / Literal-Stil den Operationsnamen in der SOAP-Nachricht behält.

5. Im Document / Literal-Stil können Nachrichten immer mit einem beliebigen XML

Validator validiert werden, während im RPC / Literal-Stil die übertragenen Daten nur schwer mit

der SOAP-Nachricht validiert werden können.