Documente Academic
Documente Profesional
Documente Cultură
RequirementÝ the code written in one language
should be reused in the applications developed
using other language.
Solution is COM
COM Ý it is a specification or a set of rules provided
such that language interop can be achieved.
Note Ýin order to specify a code as a component it
is manditory that the class definitions has to
inherits IUNKNOWN interface.
m
d
m
d
m
When ever a COM type application uses the definitions of
the inprocess COM then a request will be given to the COM
server where the component will be identified based on its
GUID and processing of the component will take place at the
PMA [ Private Memory Area ] of the OS and the request will
be given back to the application.
Advantages Ý Êhe performance of the application will be
very fast.
Limitations Ý Always a IN process component depends on a
application the Component cant be used independently.
As the processing of the component will be performed at the
PMA of the operating system the resources of the OS will be
blocked.
m
d
m
When ever a application uses the OUÊ process component
then a request will be given to the COM server where COM is
identified and the processing of the Component will be
performed at a individual memory block and the response
will be given to the application with the support of PMA.
Advantages Ý OUÊ process components can be used within
an application or it can be used independently.
Êhe resources of the O/S is not blocked.
Disadvantages Ý the application which uses the OUÊ
process components will be slow when compared to the
applications which uses the in process components.
m
!
d
mm
m
d
m
m
m
md d!" !
"
#
%&
m #
d m'
md#!(
m#
$
m
d
When ever a COM type application uses the
definitions of the .net assembly then a request will
be given to the CLR from the COM Server where the
CLR uses its COM collable Wrapper [CCW] resource
to identify the .net assembly and to define the
relevant interrop COM which will be registered in
the COM Server and then the COM Êype application
uses the definitions of the Dot net assembly as if it
is using a Com Component only.
V
!
m
V V
V