COM and CORBA Side by Side
.
|
Trait |
Similarities |
Differences |
|
Interfaces |
Each uses their own IDL to describe interfaces. |
CORBA IDL is simpler an elegant than COM IDL COM has better tool support for creating and managing IDL than CORBA |
|
Datatypes |
Both support a rich set of data types Both also support constants, enumerated types, structures and arrays. |
COM has automation types. Automation compatible interfaces are supported in more client environments than non-compatible interfaces. Because the non-compatible interfaces are not guaranteed to work other than C++. Any CORBA interface can be used from any CORBA client |
|
Proxies, Stubs & Skeletons |
COM and CORBA rely on client stubs and server stubs to handle remoting issues. COM & CORBA generate client stubs and server stubs from IDL. |
COM client & server stubs are called as Proxy & Stub and in CORBA called as Stub & Skeleton. COM proxy-stub DLLs are used by all language environments. In CORBA, a separate stub-skeleton must be generated for each ORB/language combination. |
|
Marshaling & Unmarshaling |
COM and CORBA handle marshaling in client stubs and server stubs. Users do not need to worry about marshaling. |
COM allows automation-compatible interfaces to use type library marshaling, thus eliminating the need for customized stubs. |
|
Object Handles |
COM & CORBA support reference counted handles on object instances. |
COM calls object handles as interface pointers and CORBA calls as object references. CORBA supports multiple inheritance in the interface hierarchy. COM supports single inheritance only; however a COM object supports more than one distinct interface. |
|
Object Creation |
Both use factories to create objects instances. |
COM has a standard factory interface called IClassFactory CORBA factories are customized persistent CORBA objects. |
|
Object Invocation |
Both allow for method invocation similar to native environment method invocation. |
COM’s error-handling mechanism is based on HRESULT return values. CORBA supports user-defined exception types in IDL. |
|
Object Destruction |
COM and CORBA rely on reference counting to determine when an object can be destroyed |
COM supports distributed reference counting and garbage collection. CORBA reference counts are maintained separately in the client and server. |
selvakumarmmnagar said,
March 16, 2008 at 9:59 am
wow its relly fantastic… it was much much useful for me … thank u very much, i wont forget this at any time, bcoz i know it will get me more marks in university exam…. is it possible to get unit2 notes in middleware or even other subjects like unix, object oriented analysis etc., which comes under anna university, mca in fourth semester. i m ready to get it even from post, by paying money for it.