Re: CORBA with Mac OS X
Re: CORBA with Mac OS X
- Subject: Re: CORBA with Mac OS X
- From: David Sinclair <email@hidden>
- Date: Sat, 20 Oct 2001 11:49:23 -0700
At 12:02 AM -0400 10/20/01, email@hidden wrote:
Using the built-in Java ORB from Objective-C, rather than a
third-party ORB, is an intriguing possibility that I hadn't yet
considered.
I would not recommend this. This would be too slow. If you want to
use Objective-C you should try omniORB3 from AT&T
(http://www.uk.research.att.
com/omniORB/omniORB.html). It's a certified ORB (one of the few out there)
, it's really fast and it's free. It generates C++ bindings (or
Python, really nice to test the servants) and so you can use Obj-C
and C++ for your application.
Yes, I wondered about speed issues with accessing Java from
Objective-C. How does omniORB3 compare to MICO, another free C++ ORB?
You should note also that you can mix and match multiple languages
with CORBA. You can write a C++ server and a Java GUI or you can do
the opposite, write a Java server and a Obj-C GUI app. Or my
preferred solution a pure-C++ server and a Obj-C (with C++ bindings
to the CORBA servers).
You should also note that designing a distributed (CORBA)
application is different from designing a single executable
application. CORBA should not be used where it's not necessary.
Always keep in mind that CORBA adds considerable overhead to every
call you make.
Indeed. In my case, it is necessary, as the server will be based on
a Windows machine, and written in Delphi. It is a very sophisticated
server, with hundreds of classes for managing almost all aspects of
the UI, business logic, etc, so I need to be able to leverage that on
the Mac client. CORBA was chosen as the best way to access those
Delphi/Win objects in a Cocoa/Mac client. Other approaches, such as
SOAP or XML-RPC, involve far too much extra work on both sides.
Between Obj-C and Java for the GUI part I would suggest Obj-C. My
problem with Java is running multiple applications at the same time.
If you run one Java application on your desktop the performance is
acceptable but if you start a couple more you will see what I mean.
Multiple virtual machines slow down the most powerful machine. If
only someone would come up with a shared virtual machine...
That isn't such an important issue for me. The client application
will almost always be the only application running on my customers
machines -- it will be used by doctors, nurses and front desk staff
to manage their practice.
--
David Sinclair, Dejal
mailto:email@hidden
http://www.dejal.com