|
Previous Page |
Next Page |
Table of Contents
COM is without doubt, the center of the Microsoft
universe. Few Microsoft products are not built with it.
What is COM? what is its purpose?
COM was designed to solve a number of problems that
have existed for sometime, not just in the Windows
sphere but also within the development and application
spheres.
Code re-use is a nirvana that developers endure to achieve.
However there have been very few situations where that could
be realized. Take
for instance an implementation of a solution in a C++ application.
The developer builds generic classes to address a problem.
From then on, the developer can re-use the code and can share
it with others. While this looks good in theory, some problems
arise in practice.
First, the new code is language specific. So, if the second
developer ONLY knew Visual Basic, the newly created C++ classes
would be of no use.
In COM, language independence is achieved.
Encapsulation is also a target of the COM specification.
If a developer builds an object that exposes some
functionality and the new code becomes publicly consumed
the interfaces exposed and used cannot subsequently change.
If the exposed implementation details
changed we could face the real prospect of causing a problem
we had strived to avoid.
By the nature of the COM specification objects provide
methods to expose their implementation details and allow
dynamic discovery. This enables such facilities as scripting
languages to use such functionality without having to bind
details in an early fashion. Coupling implementation details
in such a fashion is called late binding.
One of the more important concepts of the COM model enables
object implementations in the notion of location transparency.
When an application calls an object's interfaces
the application need not know whether the actual code is
being executed locally or on a distributed machine. This
location independence is provided through the use of proxy
objects that sit between locations and marshals information
between their instances.
Additionally, the COM specification includes implementation
guidelines for transaction processing, distributed co-operation,
and integrated security. Initially, COM implementations could
only be targeted to Windows platforms (original COM was
implemented as OLE - Object Linking and Embedding) however;
other platforms are now supported by third party implementations
In the DNA methodology COM is a very important strand,
involved in all the products and implemented directly,
and natively, within the NT platform upon which the DNA
technical implementation runs. However, DNA isn't COM
alone, so we shall discuss where the other product fit
and what they contribute.
Previous Page |
Next Page |
Table of Contents
|