RPC vs servicio web
La creación de servicios web utilizando el protocolo SOAP requiere que se emplee una de las dos alternativas. Uno puede seguir el protocolo Document SOAP o el protocolo de mensajería RPC SOAP. RPC se refiere a la llamada a procedimiento remoto y es un protocolo que un programa determinado puede usar para solicitar un servicio determinado en otro programa que se encuentra dentro de otra computadora remota. Al utilizar RPC, no es necesario conocer los detalles de la red del programa. Una llamada de procedimiento dada se conoce como una llamada de rutina secundaria o incluso una llamada de función.
Al emplear el uso de RPC, hay un gran uso del modelo cliente / servidor. El programa que solicita que se realice un servicio está en el lado del cliente y se dice que la computadora que proporciona la ejecución de un programa determinado está en el extremo del servidor. La acción de RPC se puede denominar síncrona, ya que requiere que un programa que solicita acción suspenda la acción especificada hasta que se den los resultados de un procedimiento remoto.
Para asegurarse de que el dispositivo no demore demasiado cuando haya diferentes acciones pendientes, RPC permite el procesamiento de varios subprocesos que comparten una dirección determinada y, por lo tanto, las respuestas pueden darse tal como vienen, y no en serie, donde una acción debe se completará para el próximo comienzo.
Por lo tanto, un servicio web que se crea utilizando el control SOAP puede seguir el estilo de mensajería RPC o Documento. Por lo tanto, el estilo del documento puede indicar el documento .xml específico que puede validarse con el esquema XML dado. Como Java RPC se utiliza en la comunicación de plataformas como EJB, se ejecutan aplicaciones similares en Java. El servicio web, por otro lado, se utiliza principalmente cuando se utiliza una aplicación que no se ejecuta en Java y busca conectarse con el servicio web..
El rendimiento entre RPC y los servicios web es bastante distinto, con una gran variación entre los servicios web y RPC siendo bastante variable. En algunos casos, la variación puede ser bastante pequeña, con la consideración de la capacidad de recuperación en juego. RPC tiene el desafío de tener un entorno de servidor congestionado, lo que dificulta el trabajo con varios clientes.
Por otro lado, el servicio web permite la implementación múltiple del servicio, con la única necesidad de cumplir con 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 ningún código especial para funcionar con el servidor o incluso con el cliente..
La resistencia tanto de RPC como del servicio web se puede comparar por igual, aunque es importante tener en cuenta que RPC requiere que los intermediarios de uso funcionen como se espera. Es aquí donde EE EJB y los marcos como Spring entran en juego. Para obtener el mejor servicio, es recomendable trabajar con Java EEB EJB antes de introducir el entorno RPC. La exposición al servicio web en este entorno y RPC también facilita la configuración.
Resumen
RPC se refiere a la llamada a procedimiento remoto.
Se recomienda el uso de RPC cuando hay un uso intensivo del modelo cliente / servidor.
RPC permite el procesamiento de varios subprocesos que comparten una dirección determinada.
RPC empleado en una plataforma que utiliza 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 asíncrona..