[omniORB] CORBA benefits over EJB model

baileyk@slxi.com baileyk@slxi.com
Thu, 7 Jun 2001 08:33:54 -0500


I work on a mixed EJB and CORBA (C++) application.  The installation
problem is not so bad.  In fact I find
it easier by far to deploy our Orbix2000 based servers than the WebSphere
ones.  I have much more
flexibility and control.  Setting up multiple testing environments is
nearly impossible with WebSphere, but a
piece of cake with our CORBA setup.  I need to get cooperation from umpteen
support groups to create a
new application server instance for WebSphere and get someone to deploy the
right code to it.  We constantly
face a dependency nightmare while testing and deploying multiple versions
of the EJB code in our test and
performance environment.  While the CORBA setup we have is rarely a
problem.

I'll admit, we had more headaches with database issues in our C++ code.
Few APIs are standardized for C++.
But I'd rather have that headache than be told what all my APIs are going
to be by one vendor (Sun).  Over time
we've put together a nice database library to handle connections and
transactions and we don't have to
rewrite anything when a vendor decides to come out with the latest and
greates version of something and
tries to force everyone to upgrade.

Recently I've started using an omniidl backend I've written (hey I'm on
topic for this list :-) to generate
higher level abstraction API's from the IDL.  I wrap the normal language
mapping with one of my own which
does not expose public attributes (i.e. developers seem to like get() and
set() methods).  It generates a
set of abstract interfaces and then implements them in terms of the IDL
mapping.  I can compile the
output of my backend against the Orbix2000 stubs and skeletons.

I've always advocated using the right tool for the job.  The integration
problems always have a solution
easier than the problem created by trying to use the wrong tool in the
first place (or so I optimistically hope).
Learning CORBA is not so difficult and does not require Guru status.  It's
our job to learn technology.  Just do it.
I believe a person/group/company simply can't go wrong when investing in
education.  Learn CORBA.
Learn Python. Learn LISP. Learn as many things as look applicable (and some
that don't).  Time to
market should take care of itself if you have a talented, well educated
group.  It's short sighted to think
that success comes from limiting a tool set in the hopes that fewer tools
means less complexity.

Kendall Bailey



                                                                                                                                             
                    Ben Miller                                                                                                               
                    <Ben.Miller@Mercia.Com>             To:     "'zedshaw@killnine.net'" <zedshaw@killnine.net>                              
                    Sent by:                            cc:     'omniorb' <omniorb-list@uk.research.att.com>                                 
                    owner-omniorb-list@uk.resear        Fax to:                                                                              
                    ch.att.com                          Subject:     RE: [omniORB] CORBA benefits over EJB model                             
                                                                                                                                             
                                                                                                                                             
                    06/07/2001 04:54 AM                                                                                                      
                                                                                                                                             
                                                                                                                                             



Great input, thanks Zed.

However, I'd just like to comment on a point regarding the use of
CORBA and EJB together.  As you mentioned, this would make our system
an installation nightmare.  And also a maintenance nightmare, of
course - if something goes wrong at a customer site, there are SO many
possible points of failure! ;)  We're new to the  middle-tier
quagmire, so I'd rather go EJB or CORBA to ease the complexity.
(After all, we could code a lot of the CORBA objects in Java where we
don't care so much about the performance.)

The real sticking point my team has are the time-to-market factor,
which is percieved as far greater for CORBA based system.  It does
seem to me that we'd probably end up coding more of our own services
if we went with CORBA.  Perhaps I'm wrong?

Which reminds me....

I've also got the problem of how to manage database connection pooling
and transactions.  This would all be pretty much handled by an EJB
serer vendor, but what if a need database connections in my CORBA
object bolted on the side?  I'm just not sure whether you can create a
connection pool that provides connections to multiple-language
servers...

Best regards,
___________________
Ben Miller.
Technical Architect