COM – Component Object Model

February 8, 2009 at 11:50 AM (Technical Articles)

Microsoft COM (Component Object Model technology in the Microsoft windows family of operating systems enables software components to communicate.COM is used by developers for three purposes.
1> To create re-usable software component.
2> To link components.
3> To take advantage of Windows services. The family of COM technology includes COM+, Distributed COM(DCOM & ActiveX.
Definition:COM is a platform independent,distributed,Object oriented system for creating binary software components.
COM is an underlying architecture that forms the foundation for high-level software services,like OLE. OLE technology build with COM as a foundation. COM objects are discrete components,each with a unique identity, that expose interfaces that allow applications & other components to access their features. COM objects are completely language independent.
As i said COM objects are language independent.This is because a COM object once developed will be released in binary version.As it is in binary version anybody can use it regardless of language that they are working on. Application developer need not to worry about how it works? how it is implemented? they just purchase that object and make use of that object in their application. Again i am telling OLE is a best example for a COM object & we all know that it used in .net platform, Java, Oracle and hence is language independent.
A bit of information about OLE. OLE is a Object Linking & Embedding. It is an object based service that allow applications running in the same computer to interact & share information. OLE is the first object model that was developed for Windows-95 in 1993.One of the use of OLE is handling databases. You might already be aware of OLEDB ,in .net and java platforms we can’t handle databases directly instead we might use SQL,Oracle as back end. But did you thought how it is possible? how the .net and SQL interact with one another? yes our boss OLEDB made our work easy. It knows how to interact with SQL, how to handle database.The developer simply use it leaving everything to OLE DB. Now I think you got an idea about COM objects, is it??
A bit of information about ADO.Net.
MySQLDirect.Net is data provider for direct access to MySQL database service for Microsoft.Net framework. It is Completely based on ActiveX Data Object(A COM object). It is usually called as ADO.Net. OLE DB data providers can be created to access such simple data stored as a text files & spreadsheet through such a complex databases as oracle and SQL server etc.
Here I am following some links to get an idea about COM.
Role of COM in Applications, Follow this link:
http://i.msdn.microsoft.com/ms809332.dcomhb_2(en-us,MSDN.10).gif
Then how .Net make use of COM? Calling a COM object from .Net run time:
http://msdn.microsoft.com/en-us/library/Aa446523.med301_msdn_com_netcf2_09(en-us,MSDN.10).gif
Now come to the point of Windows services that are provided by a windows operating system. The list grows if I started to specify all the services. So I am pointing some of them,that are, Windows print spooler, Task scheduler, Windows Audio, Windows Time,TCP/IP helper, etc. Now the developers make use of COM objects to take advantage of such services in their applications.
DCOM:Two computers that are in different places can communicate with each other through COM object usually called as DCOM(distributed COM).
A bit of information about ActiveX.ActiveX is a set of technologies from Microsoft that enables interactive content for the world wide web(www).Before ActiveX web content was static, 2dimensional text & graphics. with ActiveX web sites become alive. Using Multimedia effects,interactive objects & sophisticated applications. So to have an interactive web ActiveX is very helpful which is a COM object.
One more example for COM object is, there is something like Quartz library which provides a COM object that can play various types of audio files, including WAV,MP3 formats, it is provided through quartz.dll it is included as a part of DirectX with Media Player. It can be used directly in .net platform just by importing quartz.dll.
So here I explained about COM under the limit of my knowledge, I am not a veteran in this field, I explained as much i know. If there are any mistakes found please do inform me with your useful comments
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: