Wednesday, July 2, 2008

Can you explain what DCOM is?

DCOM differs from COM in that it allows for creating objects distributed across a network, a protocol for invoking that object’s methods, and secures access to the object. DCOM provides a wrapper around COM, hence it is a backwards compatible extension. DCOM uses Remote Procedural calls (RPC) using Open Software Foundation’s Distributed Computing Environment. These RPC are implemented over TCP/IP and names pipes. The protocol which is actually being used is registered just prior to use, as opposed to being registered at initialization time. The reason for this is that is that if a protocol is not being used, it will not be loaded. In order to inform an object that the client is still alive, periodic pinging is used. Hence, when the client has died and no ping has been received (to refresh it) before the expiration time, the serverobject will perform some clean up tasks (including decrementing its reference count). Since RPC across a network are typically slow (compared to processes residing on the same machine), DCOM sends multiple requests in the same call.