IMHO, it all started with the Clipboard :nodi:
Since MS was walking away from DOS they came up with the famous "Clipboard". We could Cut and Paste many things (Read Object) from within a Windows compatible application.
The evolution of this nice feature led us to OLE. Its an evoluted Cut&Paste function. Its Object Linking and Embeding.
More than just Pasting the Object from XCell into Words, some dynamics where introduced. If the Object where to change at the source, it would also change at the destination. Again a nice thing.
Between application ? Could use DDE!
OLE could be could also be called COM since COM ... Components Object Models was little different from OLE.
DCOM (D is for Distributed) was often called "Network OLE"
Ho ya! COM is also Activex!
OPC on the other hand (OLE for Process Control) was definatly developed for the industries. A task force set some standards to promote inter-brand comunication of Data.
DCOM could be said to be the infrastructure that transport OPC Data between applications on different computers. It is not essential. It is very often used.
Normaly we don't have to go into details when we setup some netwroked systems. We have to "configure" them nodes. That is unless you intend to write some VB OPC clients and need to know.
What will the next best thing be from our friends at MS?
Could we call OPC "Clipboard" versions 10.0 ?
NAAAA! They will come up with a nicer name.