Différence entre RPC et service Web

RPC vs Web Service

La création de services Web à l'aide du protocole SOAP nécessite l'utilisation de l'une des deux alternatives. On peut suivre le protocole Document SOAP ou le protocole de messagerie RPC SOAP. RPC fait référence à Remote Procedure Call. Il s'agit d'un protocole pouvant être utilisé par un programme donné pour demander un service donné dans un autre programme situé dans un autre ordinateur distant. Lors de l'utilisation de RPC, il n'est pas nécessaire de connaître les détails réseau du programme. Un appel de procédure donné est appelé un appel de sous-routine ou même un appel de fonction.

L'utilisation du protocole RPC entraîne une utilisation intensive du modèle client / serveur. Le programme qui demande qu'un service soit exécuté se trouve du côté client et l'ordinateur assurant l'exécution d'un programme donné est dit du côté du serveur. Une action RPC peut être qualifiée de synchrone, en ce sens qu'elle requiert un programme qui demande une action pour que l'action spécifiée soit suspendue jusqu'au moment où les résultats d'une procédure distante sont fournis..

Pour que le périphérique ne prenne pas trop de temps lorsque différentes actions sont en attente, RPC permet le traitement de plusieurs threads partageant une adresse donnée. Ainsi, les réponses peuvent être données au fur et à mesure, et non en série lorsqu'une action doit être complété pour le prochain pour commencer.

Un service Web créé à l'aide du contrôle SOAP peut ainsi suivre le style de messagerie RPC ou Document. Le style du document peut donc indiquer le document .xml spécifique pouvant être validé par rapport à un schéma XML donné. Comme Java RPC est utilisé dans la communication de plates-formes telles que EJB, des applications similaires s'exécutant sur Java. Le service Web, quant à lui, est principalement utilisé lorsqu'il est fait usage d'une application qui ne s'exécute pas en Java et qui cherche à se connecter au service Web..

Les performances entre RPC et les services Web sont assez différentes, la différence entre les services Web et RPC étant très variable. Dans certains cas, la variation peut être assez faible, en tenant compte de la résilience. RPC présente le défi d'avoir un environnement de serveur encombré, ce qui vous empêche de travailler avec plusieurs clients..

D'autre part, le service Web permet plusieurs déploiements de service, le seul besoin à satisfaire étant que le service Web soit appelé via HTTP. Cela permet d’exploiter les techniques habituelles de pulvérisation et de routage en réseau utilisées dans les grands sites. Il est également important de noter que le service Web n'a besoin d'aucun codage spécial pour fonctionner avec le serveur ou même le client..

La résilience de RPC et du service Web peut être comparée de la même manière, bien qu'il soit important de noter que RPC nécessite que les intermédiaires d'utilisation fonctionnent comme prévu. C'est ici qu'entre en jeu les EJB EE et des frameworks tels que Spring. Pour un meilleur service, il est conseillé de travailler avec Java EE EJB avant d’introduire l’environnement RPC. L'exposition au service Web dans cet environnement et RPC facilite également la configuration..

Résumé

RPC fait référence à un appel de procédure à distance.
L'utilisation de RPC est recommandée en cas d'utilisation intensive du modèle client / serveur.
RPC permet le traitement de plusieurs threads qui partagent une adresse donnée.
RPC employé sur une plate-forme utilisant EJB.
Service Web utilisé sur des plates-formes non Java lorsqu'une application veut accéder.
Le service Web est également utilisé pour la synchronisation des communications asynchrones.