¿Alguien puede sugerir una buena razón para usar servicios web en lugar de RPC (no xml-rpc) como un canal de comunicación entre dos procesos C++ que serán desarrollados por el mismo equipo? Nota: ¡Los servicios web no garantizan la entrega ordenada!¿Por qué usar servicios web en lugar de RPC entre dos procesos internos?
Respuesta
Cuando las personas tienen un martillo, tienden a ver todos los problemas como si fueran clavos. Es por eso que las personas tienden a poner servicios web en todas partes como si fuera la única forma en que dos procesos se comunican.
En su caso RPC parece ser una mejor opción, un mayor rendimiento, menor uso de memoria, más sencillo de implementar (en C++) ...
servicios Web son grandes cuando se necesita:
- Soporte para muchos idiomas y plataformas
- aplicaciones basadas en SOA
- servicios distribuidos
Si usted no necesita ninguno de estos, o nunca lo hará, entonces no hay nada malo con RPC en absoluto. Si todos los procesos de su aplicación viven en la misma máquina y necesita comunicarse entre ellos, RPC es una solución perfectamente aceptable.
Si no necesita hacer nada más allá de lo RPC local puede manejar y confía en que nunca lo hará, entonces no hay razón para no usarlo.
Dado que hay muchas tecnologías que ofrecen arquitectura SOA, soporte multilingüe, soporte multiplataforma y no requieren un servidor web, si no está utilizando ninguno de los dos extremos como entrega de interfaz de usuario de interfaz de usuario mecanismo, entonces realmente no hay ningún requisito para un servidor web. De hecho, una bestia tan cargada con algo como la Websphere de IBM tendrá costos sustanciales de recursos. Una mejor elección arquitectónica sería algo como CORBA. Vea TAO para ver un buen ejemplo de algo con lo que jugar.
- 1. La comunicación entre dos procesos en heroku (qué puerto usar)
- 2. Consumir servicios web JSON-RPC en .NET
- 3. ¿Por qué usar SOAP para servicios web?
- 4. Servicios web basados en documentos o RPC
- 5. Especificaciones de descubrimiento de servicios JSON-RPC y Json-rpc
- 6. ¿Por qué necesitamos servicios web RESTful?
- 7. ¿Servicios web por contrato?
- 8. Por qué usar un marco para servicios RESTful en Java en lugar de servlets de vainilla
- 9. cómo usar la memoria compartida para comunicar entre dos procesos
- 10. Servicios web en Java
- 11. Servicios web de intercambio: ¿por qué ItemId no es constante?
- 12. ¿Cómo compartir la memoria entre servicios y procesos de usuario?
- 13. Servicios web tranquilos
- 14. comunicación entre dos procesos que ejecutan node.js
- 15. WCF, servicios web o servicios de datos ADO.NET: ¿Qué debo usar?
- 16. Servicios web de Amazon: por dónde empezar
- 17. servicios web, aplicación web
- 18. ¿Por qué usar GWT.create() en lugar de nuevo?
- 19. Comunicación entre procesos en Lua
- 20. ¿Por qué está aumentando mi RPC total?
- 21. ¿Por qué los métodos estáticos no son utilizables como operaciones de servicios web en los servicios web de ASMX?
- 22. comunicación entre procesos en python
- 23. diferencia entre los servicios web y aplicaciones web
- 24. Patrones para manejar operaciones por lotes en servicios web REST?
- 25. ¿Por qué Objectify en lugar de JDO?
- 26. ¿Cómo sincronizo dos procesos?
- 27. wsdl2java de Axis2 falla en RPC/servicios web de estilo codificados
- 28. ¿Qué son los servicios web RESTful?
- 29. .Net Consuming Web Service: tipos idénticos en dos servicios diferentes
- 30. Seguridad al usar GWT RPC
No estoy necesariamente hablando en la misma máquina física aquí, pero de todos modos estoy de acuerdo con usted. –
Eso es genial, el punto sigue en pie :) –