An API that allows a client to make dynamic invocations on remote CORBA objects.
It is used when at compile time a client does not have knowledge about an object
it wants to invoke. Once an object is discovered, the client program can obtain
a definition of it, issue a parameterized call to it, and receive a reply from
it, all without having a type-specific client stub for the remote object.