Diferencia entre RPC y servicio web

Diferencia entre RPC y servicio web

RPC vs Servicio web

La creación de servicios web utilizando el protocolo SOAP requiere que se empleen dos alternativas. Uno puede seguir el protocolo de jabón de documento o el protocolo de mensajería RPC SOAP. RPC se refiere a una llamada de procedimiento remoto y es un protocolo que puede ser utilizado por un programa determinado para solicitar un servicio determinado en otro programa que se encuentra dentro de otra computadora remota. Al usar RPC, no es necesario conocer los detalles de la red del programa. Una llamada de procedimiento determinado se conoce como una llamada sub rutina o incluso una llamada de función.

Al emplear el uso de RPC, hay un gran uso del modelo de cliente/servidor. El programa que solicita un servicio que se realizará está en el lado del cliente y se dice que la computadora que proporciona la ejecución de un programa determinado está en el final del servidor. La acción RPC se puede denominar sincrónica, ya que requiere un programa que solicite que se suspenda la acción especificada hasta el momento en que se dan los resultados de un procedimiento remoto.

Para asegurarse de que el dispositivo no tarda demasiado cuando hay diferentes acciones pendientes, RPC permite el procesamiento de múltiples hilos que comparten una dirección dada y, por lo tanto, las respuestas se pueden dar a medida que llegan, y no en serie donde una acción debe ser completado para comenzar.

Por lo tanto, un servicio web que se crea con control SOAP puede seguir el estilo de mensajería RPC o de documentos. Por lo tanto, el estilo del documento puede indicar el específico .Documento XML que se puede validar contra el esquema XML dado. Como Java RPC se utiliza en la comunicación de plataformas como EJB, aplicaciones similares que se ejecutan en Java. El servicio web, por otro lado, se usa principalmente cuando se usa una aplicación que no se ejecuta en Java y busca conectarse con el servicio web.

El rendimiento entre RPC y Web Services es bastante distinto, con una gran variación entre los servicios web y el RPC es bastante variable. En algunos casos, la variación puede ser bastante pequeña, con la consideración de la resiliencia en juego. RPC viene con el desafío de tener un entorno de servidor congestionado, lo que hace que sea bastante difícil para usted trabajar con múltiples clientes.

Por otro lado, el servicio web permite la implementación múltiple de servicio, con la única necesidad de satisfacer que el servicio web se invoca a través de un HTTP. Esto permite la explotación de las técnicas normales de pulverización y enrutamiento de la red empleadas en sitios más grandes. También es importante tener en cuenta que el servicio web no necesita ninguna codificación especial para funcionar con el servidor o incluso el cliente.

La resiliencia de RPC y el servicio web se puede comparar por igual, aunque es importante tener en cuenta que RPC requiere el uso de intermediarios para que funcionen como se esperaba. Es aquí donde EE EJB y marcos como la primavera entran en juego. Para el mejor servicio, es aconsejable trabajar con Java EE EJB primero antes de traer el entorno RPC. La exposición al servicio web a este entorno y RPC también hace que la configuración sea mucho más fácil.

Resumen

RPC se refiere a una llamada de procedimiento remoto.
Se recomienda el uso de RPC cuando hay un uso pesado del modelo de cliente/servidor.
RPC permite el procesamiento de múltiples hilos que comparten una dirección dada.
RPC empleado en una plataforma que usa EJB.
Servicio web utilizado en plataformas no java cuando una aplicación quiere acceso.
El servicio web también se utiliza para la sincronización de la comunicación asincrónica.