[omniORB] COM-omniORB Interface

David Morgenlender dmorgen@alum.mit.edu
Thu, 07 May 1998 18:28:08 GMT


I'm in the process of developing an app, consisting of 2 pieces:

1.  CORBA server app running under ETS-Kernel (a realtime OS supporting =
the
Win32 API).  This is currently under development using Visual C++ 5.  =
I'll
hopefully know soon how well omniORB works in this environment.

2.  CORBA client app running under Win95 (later NT4).  This is currently =
under
development using Borland C++ Builder 3.  I'm running into problem after =
problem
getting omniORB working under BCB3 ... I keep running into compiler bugs.=
 =20

Until a couple of days ago, this was the entire system.  However, then I =
learned
the client would like to be able to write Visual Basic apps to control =
the CORBA
server app, e.g. for Q&D diagnostics. =20

This left me in a quandry.  At first glance I need to find some way for a=
 VB app
to use CORBA.  VB handles COM well, so I could acquire & test a COM-CORBA=
 bridge
product.  But I suspect this is asking for more headaches, both getting =
it work
& in ongoing support.

However, there's a solution which solves all my problems (hah, hah <g>). =
 I can
write a VC++ exe which uses omniORB on one side to function as a CORBA =
client,
and COM on the other side.  This provides support to a VB app.  It also =
allows
my BCB app to communicate with it via COM;  voila, no need to get omniORB
working under BCB!  Theoretically, BCB provides good support for writing =
a COM
client.

There are some negatives though, e.g.:

1.  Another layer:  complexity, overhead, etc.

2.  A change to an interface function requires changes in 3, not 2, =
places:
CORBA server, COM-CORBA app, BCB app.

3.  Just one more buzzword to support:  COM.

What do you think of this approach?

Can you suggest any better alternatives?

=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D
Dave Morgenlender
e-mail: dmorgen@alum.mit.edu
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D