Can anyone suggest a good reason to use web services instead of RPC (not xml-rpc) as a comms channel between two C++ processes both of which will be developed by the same team? Note: Web services do not guarantee ordered delivery!
RPC allows for the processing of multiple threads that share a given address. RPC employed on a platform that uses EJB. Web Service used in non-Java platforms when an app wants access. Web Service also is used for synchronization of asynchronous communication.
XML-RPC is among the simplest and most foolproof web service approaches that makes it easy for computers to call procedures on other computers. XML-RPC permits programs to make function or procedure calls across a network. XML-RPC uses the HTTP protocol to pass information from a client computer to a server computer.
While the RPC concept is simple, there are two main problems that make it more complicated than local procedure calls: The network between the calling process and the called process has much more complex properties than the backplane of a computer.
Web services allow different organizations or applications from multiple sources to communicate without the need to share sensitive data or IT infrastructure. Instead, all information is shared through a programmatic interface across a network.
When people have a hammer, they tend to see all problems as nails. That's why people tend to put webservices everywhere as if it were the only way for two processes to communicate.
In your case RPC seems to be a better choice, more performance, less memory usage, simpler to implement (in C++)...
Web services are great when you need:
If you dont need any of these, or never will, then there's nothing wrong with RPC at all. If your application's processes all live on the same machine and you need to communicate between them, RPC is a perfectly acceptable solution.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With