At 12:17 AM 1/24/00 +0100, you wrote:
>Greg Kreis wrote:
> >
> > Brian Bray wrote:
> > >
> > > I really agree with this concern.  Corba has a huge learning curve and
> > > some of it's component standards are much better than others (I curse
> > > the C++ bindings daily).
> >
> > If I was a CORBA vendor, this would be my biggest concern.  HTML caught the
> > computer world by surprise and upset the apple cart for many a 
> client/server
> > vendor.  Could CORBA be in a similar predicament?  I DO NOT want to start a
> > flame war.  Not at all.  But I am wondering if some interoperability 
> standard
> > (perhaps using XML) is going to sneak up on the CORBA/DCOM/EJB world.
> > Describing this competitor, I'd say it probably won't be as 
> sophisticated as
> > them, BUT it will be a lot simpler for legacy systems to implement.
> >
>
>I think is one way to look at the HL7 / Corbamed debate.  HL7 is going
>to XML defined transactions based on transmitting extensible data
>objects in an easy to process public format while CorbaMed is putting
>fairly abstract active objects into large servers and communicating by
>exchanging data structures.

The Meta Object Facility also has the capability of creating XML which 
could help
automate some of the work being done in HL7.


>The thing that will make or break Corba though is its implementations
>and the way they interact with higher level standards such as CorbaMed.
>
>To give a specific example, the CorbaMed PIDS standard, like a lot of
>other recent standards, provides a set of links to other components in
>it's primary interface.  This means that you can go from a PIDS object
>to an associated Naming service, Trading service, or Notification
>service.
>
>You return a simple NIL value to indicate that you don't support this
>type of service or provide a link.  Sounds simple?
>
>Corba IDL has no ability to partially define a type, so the interface
>for these other services must be included in the IDL for the PIDS
>interface.  These interfaces themselves provide links to other
>components.  When using a statically typed language, this means that the
>generated header files for virtually every Corba standard is included
>for every PIDS source file.  On my system this means over 50,000 lines
>of header files before a single line of PIDS server code is processed by
>the compiler.  This makes no difference to the end product, but slows
>development.

This is why we use the AbbreviatedInclude in the COAS specification, so 
only the part you need in a
given component is included.   This is a pattern that can be used in other 
applications, too.   It radically reduces the size of the problem you mention.


>I don't have a Notification service, so I return a NIL value.  The
>automatically generated code from the IDL compiler doesn't know that I'm
>only sending a NIL, so it's ready to send anything.  It bulks up my
>executable with 615K of automatically generated object code to send that
>one NIL.

Hmmm.  I don't see why this is occurring. The Notification service is not 
supposed to
be in the revised PIDS IDL.


>Is this a problem with the PIDS IDL?  The Corba IDL language. The C++
>binding standard. My ORB implementation? My development tools?  It could
>be fixed at any of these levels, but it's really a consequence of how
>they all work together.

See the AbbreviatedInclude approach.


>My choices are:
>
>0) Accept that 615K is OK to send a NIL(after all, it's just *virtual*
>memory)
>1) Edit the automatically generated header and source files manually
>2) Abandon the standard C++ binding (other open source projects have
>done this)
>3) Implement an "almost PIDS" interface
>4) Create my own "short" idl definition of the Notification Service.
>I.E. Fake a partial definition.

This is what we recommend as demonstrated in the COAS document.  It is not 
a fake.  You only need
to satisfy the typing requirements in your implementation.   It still could 
connect to a real Notification service somewhere else.

Dave


>What do the Corba folks on the list recommend?
>
> > Can we come up with a design that is above DCOM, CORBA or EJB so we can 
> remain
> > neutral enough to easily migrate to a different strategy?  The obvious 
> problem
> > with this approach is it adds one more layer of complexity and 
> performance drain
> > to the onion.  The great advantage, in my eyes, is being able to rest 
> easy that
> > the EMR would be better prepared to withstand a Standards earthquake.
> >
> > > While Corba doesn't have to be large and slow, some of the 
> implementations are.
> >
> > This benchmark shows there can be a WORLD of difference in the speed.
> >
> >  http://www.omex.ch/CorbaTB/corbatb.htm
> >
>
>The more I think about EMR, the more I think of a document for each
>patient.  No database or middleware needed ;-)
>
>-Brian

Reply via email to