For COM see here:
COM: Component Object Model Technologies
It's basically some high-level interprocess communication API. Also it implements object-oriented programming for low-level programming languages. The entire DirectX world is written with COM in mind, so you work with objects even when working with pure C (where creating bindings is a lot easier).
I don't like COM, I think the OpenGL approach is better.
SOAP is a Microsoft addon that enables using XML-webservices through COM.
OLE (object linking and embedding) which is used for copy&paste work in MS Office (when dealing with high-complexity selections like diagrams, sheets, etc.) also heavily relies on COM.
Jam it back in, in the dark.