Dcom, DOT NET Programming

What is DCOM?

DCOM is different from COM in that it allows for creating objects distributed around  a network, and a protocol for invoking that object's methods, & secures the access to the object. The DCOM provides a wrapper around the COM, so it is a backward compatible extension. The DCOM uses Remote Procedural Calls (RPC) using Open Software Foundation's Distributed Computing Environment.

These RPC are implemented on  TCP/IP and named pipes. The protocol which are actually  used are  registered just before to use, as opposed to being registered at the initialization time. The main  reason for this is that if a protocol is not being used, it can't  be loaded.

In order to inform an object that the client is still not dead, periodic pinging is used. Therefore, when the client has died and no ping has been received (to refresh it) before the expired  time, the server object will perform some clean up tasks (including decrementing its reference count).

As  RPC across a network are typically slow (compared to same machine processes residing ), DCOM sends multiple requests in the same call. For e.g., in COM, the program performs a QueryInterface, that is one interface at a time. In DCOM, multiple QueryInterfaces are all clustered into one call.

This clustering optimization trick is also used when creating an instance of the object and serializing it with the data.As these two operations usually occur together, the DCOM allows one method which will perform both operations in one call without waiting for an acknowledgment from the first task before performing the second one.

Similarly, when a client pings its server object, he can do it in one call.  If there are multiple clients sending pings to multiple servers, then an optimization is made where the multiple pings going to the same object are consolidated into just one ping. This is to cut down on the use of bandwidth used only for pinging.

The client has the control to set the computer that will be responsible for the lifetime of the object. this means, these objects are not created just somewhere  the system resources and access privileges allow for it.

Call security is implemented in all 4  ways: authentication (to prevent false clients from impersonating the true client), authorisation (to insure that the  client only does what it is authorized to do), data integrity (to insure that data was not tampered with it during transit) and data privacy (to insure that only designated sources can read it). The security issues are handled as they are on the operating systems. The client gives the server various access privileges to access memory or disk space.

Posted Date: 9/21/2012 7:27:30 AM | Location : United States







Related Discussions:- Dcom, Assignment Help, Ask Question on Dcom, Get Answer, Expert's Help, Dcom Discussions

Write discussion on Dcom
Your posts are moderated
Related Questions
What is XPath? XPath stands for XML Path. It is a language used to access dissimilar parts of an XML document, such as elements and attributes.

What are major events in GLOBAL.ASAX file? The Global.asax file, which is derived from the HttpApplication class, maintains a pool of the HttpApplication objects, & assigns the

to design a grid view and edit and delete the data

Project Description: I'm presently seeking at least one more coder that will help me out manage all my concepts and in that way we will share each other's experience and make te

How does output caching work in ASP.NET?    Output caching is a powerful method that enhances request/response throughput by caching the content generated from dynamic pages. O

Investment Equation - C# Program I didn't know the exact code for computing Investment Equation. Can anybody suggest me the correct way for my problem?

What is the use of data adapter? The Data adapter are the objects that connect one or more Command objects to a Dataset object. They give logic that would get data from the dat

Data hiding and encryption would be done on images. Both these process should have a data hiding key and an encryption key correspondingly. Another user should be able to decrypt t

What is the difference between dynamic and var data types? The difference among the var and dynamic data types is that the var data type is strongly type checked at the compile

What is the difference between thread and process? The thread is a path of execution which can run on CPU; a process is a collection of threads that share the same virtual memo