RPC-based methodology for client/server application development in C++
Abstract
Remote Procedure Call (RPC) is a commonly used mechanism for client/server applications. RPC implements a tightly synchronized client/server interaction that is analogous to the well understood procedure call in regular non-distributed applications. The underlying principle common to all RPC-based tools and standards is that both client and server share a common IDL (Interface Definition Language) file. Automatic tools process the IDL file and generate source files that when compiled with the application, ensure client/server run-time compliancy. We introduce an RPC methodology for C++ client/server applications that follows a different pattern; sharing of C++ base classes, in place of an IDL file. This releases the developer from the dependence on, and need to learn complex RPC tools and standards. We believe that C++ programmers will find this approach sufficient for most of their distributed-applications development needs.