COM Programming  «Prev  Next»
Lesson 4What to expect
ObjectiveExplore key course features.

Advanced COM Programming | Course Features

Com Programming (Course Features)

COM Fundamentals II (Advanced COM) uses a number of interactive features to help you learn the material. You may want to review the following features before starting your coursework.

What is COM?

COM, short for Component Object Model, is an object-oriented technology jointly developed by Microsoft and Digital Equipment Corporation that lets developers create distributed objects. This is a great definition if you know about components and object models; if you don’t, it’s not very useful. So let me take a step back and provide a little more context.
COM is an answer to a question that you might have asked: why doesn’t somebody come up with an easier way to develop and write {client/server | distributed | multiplatform | heterogeneous environment | object-oriented} applications?
The problems that COM solves, which is allowing developers to create small, reusable building blocks of high-level language, platform-independent code that hides the complexity of communicating across a network, are the result of gradual changes in computing styles and languages: from one-size-fits-all mainframes to distributed, heterogeneous, n-tiered systems supporting all kinds of thin clients; and from assembly language to graphical, object-oriented development environments for reusable components.
The next module gives a quick history of how we got here, where COM came from, and why Compaq chose to implement COM on its servers.

COM Competition

COM has competition, in terms of technology. The Common Object Request Broker Architecture (CORBA) answers the same questions as COM. But it has not reached the same importance. Around COM exists a bundle of higher-level technologies, heavily promoted by Microsoft. Most famous perhaps is ActiveX that has been designed for use in web applications and many other kinds of containers.
Microsoft’s Component Object Model (COM) is a system for reusing software artifacts at the post-compilation level. Several problems have been raised about the Component Object Model The problems are about a conflict between interface negotiation and aggregation, a conclusion about transitivity, and the identity of the inner components. However, the conflict between interface negotiation and aggregation exists only if a questionable definition is used. The formal model used to depict the conflict is also inadequate.
A set of programs is used to demonstrate the consistency of the Component Object Model rules regarding interface negotiation and aggregation.

Quizzes and Exercises

Throughout the course, you will find multiple-choice quizzes and hands-on exercises. These learning checks will allow you to assess what you have learned and, if necessary, know what to go back and review.

Slide Show Widget

A Slideshow is a tooltip that presents a series of images that you can flip through, either forward or backward.
In this course, we will be using Slideshow to step through processes and pieces of code.


Whenever you see this graphic within the course, an applet that explains or dissects some element of a design pattern will follow. Move your mouse cursor over the elements of the image outlined in red to display pop-up explanations.