¿Existe una definición clara de RPC y Web Service? Una búsqueda rápida en Wikipedia muestra:
RPC: La llamada a procedimiento remoto (RPC) es una tecnología de comunicación entre procesos que permite que un programa de computadora haga que una subrutina o procedimiento se ejecute en otro espacio de direcciones (comúnmente en otra computadora en una red compartida) sin que el programador codifique explícitamente los detalles para esta interacción remota.
Servicio web: los servicios web suelen ser interfaces de programación de aplicaciones (API) o API web a las que se accede a través del Protocolo de transferencia de hipertexto y se ejecutan en un sistema remoto que aloja los servicios solicitados. Los servicios web tienden a caer en uno de dos campos: Big Web Services [1] y RESTful Web Services.
No tengo muy claro cuál es la diferencia real entre las dos cosas. Parece que una cosa podría pertenecer a RPC y es una especie de servicio web al mismo tiempo.
¿Es el servicio web una representación de nivel superior de RPC?