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
Explain memory-mapped files. Memory-mapped files (MMFs) permit you map the content of a file to the logical address of an application. These files enable the multiple processes

Can we get a strongly typed resource class? You can now get strongly types classes in the VS.NET intellisense as shown in the figure below. Figure: - Strongly typed re

Printing and adding Fibonacci series - C# Program Hello guys i need your advice. How can i print and add Fibonacci series in my project. Please recommend some examples.

How can you use Hidden frames to cache client data? This technique is implemented by developing a Hidden frame in page which will have your data to be cached. T cols="100

CRM and Shaerpoint We are using 365+ CRM in the cloud for QuattroCitta at the moment which we will migrate to our own private cloud in six months (project part 2). Within ShareP

A fresh web project utilizing ASP.NET 4.5, MVC 5 with Visual Studio 2013 a) Excellent web layout DESIGN skills using CSS. b) Solid experience with ASP.NET 4.0 MVC 4. c) Cu

Project Description: My project is to construct for me an application that emulates the http requests made in a webapp. It will need a lot of dedication and skill in C#,.net,

What is Thread.Join() in threading? There are 2 versions of Thread.Join :- Thread.join(). Thread.join(Integer) this returns a Boolean value. The Thread.Join

What are characteristic's of Object Oriented System's? The characteristics of Object Oriented System's are as follows: 1)    Abstraction: The Abstraction allows the comple

I am seeking someone who can design customized software for me, preferably in .NET. I have a sql server backend which i would like to use so you only have to work with the front en