First note that the terms component and control are synonymous |
DCOM is the distributed version of COM but COM has essentially all the critical object ideas |
OLE Controls and ActiveX Controls are variants of COM objects with different additional rules as what services (methods) the object must support |
A COM object offers services (methods) through one or more interfaces |
All COM objects must offer IUnknown interface which contains methods which are equivalent to JavaBean reflection API (find out about allowed methods) and garbage collection (find out when component no longer needed) |
One can use MIDL -- Microsoft Interface Definition Language -- to specify interfaces that can be accessed in a COM object |