Writing Backward Compatible Clients and Servers
In theory, the versioning scheme of RPC helps prevent miscommunication between modified servers and clients and their deployed counterparts. In practice, however, developers frequently must introduce changes to existing interfaces without modifying the version, because previous clients and servers must be able to communicate with new ones. This is a larger issue for standard RPC than for COM; querying is a natural way of searching for supported interfaces in COM, while in RPC exception handling must be used for equivalent coverage.
This section discusses the best RPC programming practices for addressing these situations. This section is divided into the following topics:
- The Versioning Theory for RPC and COM
- Changing Interfaces in a Backward Compatible Manner
- Examples of Incompatible Changes