ActiveX

Back to cv or Home

ActiveX is a registered trade mark of Microsoft. Their site explains 'ActiveX Controls are among the many components that use COM technologies to provide interoperability with other types of COM components and services ... the third version of OLE controls (OCX), providing ...', if that makes it any clearer ;-))

 You have to first take on the 'Component Object Model (COM)' software architecture, that allows 'applications to be built from binary software components.'. Clearer now?

Then if you want to spread it everywhere, you get the Distributed Component Object Model (DCOM). A protocol that enables software components to communicate directly over a network in a reliable, secure, and efficient manner. Previously called "Network OLE," DCOM is designed for use across multiple network transports, including Internet protocols such as HTTP. DCOM is based on the Open Software Foundation's DCE-RPC spec and will work with both Java applets and ActiveX® components through its use of the Component Object Model (COM).

Basically I think of it as a piece of signed software that can be distributed, over internet, and will function in diverse environment ... Then, in 1997 came COM+, and Microsoft Transactional Server, MTS ... and onwards ... It all begins with the creation of a unique ID, and name. Here is the pseudo code snippet for a simple ActiveX COM+ application :-

main() {
   IAS15Demo* pInt;
   CoInitialize(NULL);
   CoCreateInstance(CLSID_AS15Demo, NULL,CLSCTX_SERVER,IID_IAS15Demo, &pInt);
   pInt->DoSomething();
   …
}

Doesn't it look familiar ;-)) If all is done correctly, the CoCreateInstance() would contact the COM server, verify the signature, and return an pointer to an instance, local or remote, of the object to the client so it can call the interface DoSomething(). If the instance is remote, then a Remote Procedural Call (RPC) results. Fun stuff.

There are lots of, sort of pre-fabricated, for sale COM Components out there. Or, with some reasonable tools, like Microsoft Visual Studio (VB/MFC), and a digital signature from say VeriSign, and write your own ;-))

Back to cv or Home