COM Facilities and Services

A distributed objects architecture needs to support a number of features that are commonly recognized as necessary. In this section, you’ll learn some of the features that COM supports. We’ll start off with the most obvious notion in distributed computing, location transparency. Then we’ll connect one feature to the next, examining the importance of each. We’ll finally end up with a brief introduction of applied COM. So buckle up and get started.

Location Transparency

When a client invokes a method using COM, it thinks that the method is executed locally. But in fact, the method can be anywhere in cyberspace. It could live in the same process as the client, a different process on the same machine, or a process on a machine two hundred miles away. From the client’s perspective, there’s no difference. This is the idea behind location transparency.

Location transparency depends primarily upon marshaling. To support marshaling, COM uses a previous, proven technology known as DCE RPC.[6] DCE RPC supports location transparency in the functional world. COM, which is built on top of RPC, supports location transparency in the object-oriented world. Like RPC, COM uses an interface to define a set of related functions, which are used for client and server communications. Given an interface, we can use a tool, called the Microsoft Interface Definition Language (MIDL) compiler, to fully generate corresponding marshaling code. This marshaling code is also referred to ...

Get Learning DCOM now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.