COM Beyond Microsoft: Designing and Implementing COM Servers on Compaq Platforms

COM, short for Component Object Model, is an object-oriented (o-o) technology jointly developed by Microsoft and Digital Equipment Corporation (now part of Compaq Computer 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 (or might not yet) 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 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.
This chapter gives a quick history of how we got here, where COM came from, and why Compaq chose to implement COM on its servers.
In the early, time-share computing days, a programmer created an application in one piece that is, the user interface, subroutines that actually did the application work, database access,...