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!
I usually look at which technology offers more documentation and support on the web. You might want to also consider what protocol other systems might use down the track.
Web services are great when you need:
- Support for many languages and platforms
- SOA based applications
- Distributed services
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.
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++)...
If you don't need to do anything beyond what local RPC can handle and are confident that you never will, then there's no reason not to use it.