Active Server Corner
Quick Site Search
What's Inside
Home
Activity
Books
Excerpts
In-Depth
CodeLibrary
Columns
ActiveTalk
COMSutra
Cornered!
My 3 Cents
Square ONE
Downloads
Events
FAQ's
Jobs
Search
Tools
Product Reviews
Tutorials
Site Info
About Us
Advertising Info
Contact Us
Privacy Policy
Terms of Use
Write for Us
  COMSutra  The art of COM

What is COM?

by Premkumar Varadarajan

In one statement - Component Object Model (COM) is a binary programming standard. If you genetically combine a whale and a dinosaur, imagine you get a new super dino-whale species. Combining the two higher level programming models, Object based and Distributed computing, a new super high level COM programming model has evolved.

Object oriented software has solved numerous software industry challenges like reuse and productivity. Distributed computing architectures like parallel processing, master/slave, peer to peer, client/server, etc., has alleviated the problems with monolithic software. By combining some of the finest features of these two techniques, the COM standard enforces and enables the engineers to build reusable binary compatible software.

Some of the advantages of the Component Object Model are:

  • Location Transparency. The component’s clients don’t have to know the location of the components. The client software can be sitting on a lion’s computer in the deepest jungle in Africa, whereas the server components can be on a host machine with the arctic bears.

  • Wire Level Standard. The component users don’t have to know anything about the underlying network mechanisms, TCP/IP or NETBIOS, to use the components. They don’t have to understand or learn anything about network programming. The COM library takes care of it for you.

  • Binary Standard. The users don’t have to know about the programming languages – C, B, VB, Java, Tea – used to build the components. Regardless of what language you use to build the components and objects, it works. So, your company can have programmers with different programming skills. But, as long as they build components, you don’t have to bother about training your employees in new programming languages.

    Also, the users don’t have to bother about whether the programming tools – Borland C++, Visual Basic, Symantec C++, compilers, linkers, interpreters - were sold by Microsoft or Symantec or Borland. The client and server components can be developed with different tools, and they will all interact properly as long as they adhere to the COM programming model.

  • Runtime Polymorphism. At runtime the client detects the right component it wants and uses its services. This means you don’t have to recompile your client every time you make a change to your server. The components don’t mutate. Once, you release a component, if you want to make a change then you release a new component. If the client wants the new services, only then you have to modify your client.

This is an objective explanation on COM. Those who want to dive into the subject, check out the COM specification at Microsoft site External






Copyright © 1997-2000 Active Server Corner. All rights reserved.

Sponsored by Coastline Web Hosting in Santa Barbara, California