COM and CORBA Side by Side

March 14, 2008 at 11:31 am (COM, CORBA, Unit 5) (, )

.

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.

1 Comment

  1. selvakumarmmnagar said,

    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.

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.