Does it always refer to 'remote' objects, or is it also used to connect objects on a single workstation?
yes . CORBA can also be used to connect objects on a single workstation. But any body should prefer it if 2 objects are written in different languages and both languages are supported by CORBA.
How is it similar to .NET and COM?
COM V/S CORBA
(1) COM is technology/specification of Microsoft
CORBA is specification made by group of more then 700 companies known as OMG (Object Management Group).
(2) COM and DCOM only works on Windows.
CORBA works on many platforms.
(3) COM/ DCOM is implemented by Microsoft
For CORBA u will get many vendors.
(4) COM/DCOM supports language available with Visual Studio.(ignoring .NET)
DCOM supports many languages (c,C++,java,COBOL,...2/3 more)
(5) COM/DCOM generates dll where CORBA relies on Stub and skeletons.
(6) CORBA can work across networks and across OS but not COM/DCOM.
(7) COM/DCOM generates unique GUID. Where as CORBA relies on registry/serialized objects.
(8) CORBA uses it language known as IDL. and there is mapping from IDL to languages, supported by CORBA.
(9) If u want to know in more detail visit following links.
Good links on this subject:
http://www.cs.wustl.edu/~schmidt/submit/Paper.html I hope this much should clear basic difference between 2 competitive technologies.
Thanks
Nakul