(Fwd) Re: corba et al.

Valery Fine (fine@rsgi01.rhic.bnl.gov)
Sat, 31 Jan 1998 14:05:00 +0100


------- Forwarded Message Follows -------

On 30 Jan 98 at 20:29, Selim Issever wrote:

> from the root course I attended I somehow remember, that root doesnt
> use corba for netcomunication. I guess the reason will be
> performance (but I am not sure). In this case my question is: what
> makes corba that inefficient? and how does root overcome this
> problem?

In theory it is a matter of the long discussions and
solid investigations.

But what is special for ROOT vs OTHER systems ?

FIRST ROOT is a "framework". I mean I was NOT designed just to
solve very "netcomunication" problem. It is done to solve the "final"
TASKS. ROOT solves "netcomunication" problem "by automatic" as soon
as it is in possesion of some special built-in "devil" (see below).

What about things like Corba they are aimed to help solving some
particular (but general, common) parts of the problem.
(of course it is to "rough" to be precises)

They assume:

1. First step.
C++ class as the "primary" definition of the
user's "Informational" model of the
"whatsoever". Let's say High Energy Physics
Detector

2. Second step.

For the database storage, Networking transferring,
Inter-process communication, parallel computing, GUI some sort
of the data description is required. It is supposed to be
NOT in C++. This entails some sort of the language to
describe the things have been described in C++

By definition this language is MORE "simple" vs C++. This
means some constrains are provided.

Anyway by definition some sort of the built-in "devil" is
required to understand that "simple" language sentences.

Since this approach assumes we are describing those been
described with C++ but with more simple language, three
major things have to be happened:

1. NOT all C++ constructions (classes / object) can be
treated.

2. Very complicated (and long) bad-to-be-understood
collections of the simple sentences should be
involved. Unless the original task is the simple (or
restricted) one.

3. Each language is desired to solve some limited set of
the tasks.

Many of those are gone away just that "devil" does
understand very C++ directly.

This "devil" may be very complicated "inside", but ALL
application and system tasks can be solved very easy, fast
and native way (see ROOT via CINT implementation as the
example) just because there is no step step #2 at all (or it
is pretty trivial one).

See Microsoft Visual Basic and Java as other examples
of that approach.

CORBA approach assumes it is IMPOSSIBLE to use C++ class
definition directly and across platform (See Fons reply too).

I hope this message will not fire a hot discussion on this list.
Just some food for a thinking brain.

With my best regards,
Valery
=================================================================
Dr. Valeri Faine (Fine)
------------------- Phone: +1 516 344 7806
Brookhaven National Laboratory FAX : +1 516 344 4206
Bldg. 510A /STAR mailto:fine@rsgi01.rhic.bnl.gov
Upton, New York, 11973-5000 http://nicewww.cern.ch/~fine
USA

Dr. Valery Fine Telex : 911621 dubna su
-----------
LCTA/Joint Inst.for Nuclear Res. Phone : +7 09621 6 40 80
141980 Dubna, Moscow region Fax : +7 09621 6 51 45
Russia mailto:fine@main1.jinr.dubna.su