articles

Home / DeveloperSection / Articles / Difference Between COM and DCOM

Difference Between COM and DCOM

Difference Between COM and DCOM

Anonymous User51719 25-Jan-2013

Difference between COM and DCOM

History of Component Object Model (COM):

One of the first methods of interprocess communication in Windows (windows family operating system) was DDE (Dynamic Data Exchange) that allowed sending and receiving messages in so-called “Conversations” between applications. That technology was the base of OLE (Object Linking and Embedding) that in turn was one of the leading technologies introduced with windows 3.0. The Text conversations and windows messages proved not to be as flexible as to allow sharing application features in a robust and extensible way. With the time version, 3.1 of Windows was released, COM was created as a new foundation, and OLE changed to OLE2.

Visual Basic introduced the VBX (Package extensions in the form of dynamically linked libraries) that allowed the creation of objects to be graphically placed in a form and manipulated by properties and methods. These were later adapted for use by other languages such as Visual C++. Object Linking & Embedding (OLE) custom controls (OCXs) would be the replacement for the widely popular VBX.

From many of these ideas spawned Microsoft’s first o object-based framework, OLE, which is the abbreviation of Object Linking and Embedding. OLE was built on top of dynamic data exchange (DDE) and designed specially for compound documents. It was introduced with MS-Word for Windows and Excel in 1991 and was later included with Windows, starting with version 3.1 in 1992. An example of a compound document is a spreadsheet embedded in an MS-Word for Windows document; as changes are made to the spreadsheet within Excel, they appear automatically inside the Word document.

In early 1996, Microsoft found a new use for OLE Custom Controls, expanding its web browser’s capability to presents content, renamed some parts of OLE relating to the internet ActiveX successively renamed all Object Linking & Embedding technologies to ActiveX, except the compound document technology that was used in Microsoft Office. After that year, DCOM was introduced as an answer to CORBA.

Component Object Model (COM):

The component object model is an interface standard for software components introduced by Microsoft in 1993. This is used to enable interprocess communication and dynamic object creation in any programming language that supports the technology. Where the term COM is often used in the software development industry as an umbrella term that encompasses the OLE, OLE Automation, ActiveX, COM+ and DCOM technologies.

Where the COM is a software architecture that allows applications and systems to be built from the components supplied by different software vendors. This is a set of binary and network standards that allows any software to communicate with each other regardless of the hardware, the operating system, and programming language used for development. The COM is not a Programming language but a specification that defines how components can communicate with each other.

Into the component-based system, components interact with each other by calling methods and passing data. The COM ensures that there is a standard method of interaction between the components. All the COM objects need to follow these standards when providing functionality. Standards are as important to component architecture as they are to any system with interchangeable parts. For example, the signal that a television or radio receives is specified in a standard. Without standards, nothing will function together.

Benefits of COM:

Any Programming language that can create structures of pointers and call functions through pointers can create and use components objects. Components can be implemented in a number of programming languages and can be used for client software written in different programming languages. This is because COM provides a binary and not source code standard. This is the fundamental benefit of COM over object-oriented language.

Distributed Component Object Model (DCOM):

Where the DCOM is a model as COM but is specially designed for distributed applications. While there is a need for using the applications as distributed then DCOM becomes in the picture.

The Distributed Component Object Model is proprietary Microsoft technology for communication among software components distributed across networked computers. DCOM, which originally was called “Network OLE”, extends Microsoft’s COM, and provides the communications substrate under Microsoft COM+ application server infrastructure. It has been deprecated in favor of Microsoft .Net.

In terms of the extensions it added to COM, DCOM had to solve the problem of

  1. Marshaling: serialize and de-serializing the arguments and returns values of methods calls over the wire.
  2. Distributed garbage collection: ensuring that references held by clients of interfaces are released when, for example, the client process crashed, or the network connection was lost.

Updated 09-Aug-2020
I am a content writter !

Leave Comment

Comments

Liked By