Re: OLE Discussion (was Re: Opendoc)



John R Sheets wrote:
> 
> Miguel de Icaza wrote:
> >
> > > OLE is Microsloth's windows implementations of COM.
> >
> > OLE2 is built on top of COM and some other very interesting
> > technologies.  I have been learning OLE2 for the sole purpose of
> > implementing something similar as the GNOME object model.
> 
> Oh, really?  That's commendable.  What are some of your favorite
> features?  How do you think it'll be reflected in GNOME?  Oh, and
> what's your list of OLE nasties?
> 
> > OLE2 has some very nice features.
> 
> Although the registration system is a little arcane, I do like
> the way OLE abstracts the physical location of the
> components/libraries.  You can request the object by its ID, and
> the OS takes care of locating it.  With DCOM, you can even use
> components on another system across a network.  That's pretty
> slick!

Corba uses an implementation repository for this. Object implementations
register themselves with the implementation repository (either through
the object adaptor or a seperate tool (a bit like com's regsvr32)),
which includes saying how they are activated (e.g. as a shared library,
as a seperate process, one object per method call etc..).

One crappy thing about DCOM (AFAIK) is that the client's registry has to
know where the server object is (i.e. both the client machine and the
server machine has to have entries in their registrys connecting the
progid with the object implementation). There is no concept of a naming
or trading service to find new objects...

BTW, shouldn't this discussion be on gnome-components-list? or has that
list died?

> 
> I also like the way you can externally "run" the OLE-exposed
> internals of another application, and borrow its functionality
> for your own use.  The other app doesn't even need to know you
> exist!  You just have to know how to use its OLE interfaces.

This should be even easier in corba - you can query the interface
repository at run-time to find the operation signitures, and ALL corba
objects can be accessed with dynamic invocation - they don't have to
implement any specific interfaces (unlike COM, in which you have to
implement IDispatch to get this functionality).

The problem now is to get a good corba implementation going and start
writing some tools to make it easier for people to program with.

Cheers,

Phil.

-- 
_______________________________________________________________________
 Phil Dawes                               |   My opinions are my own
 WWW:    err.. temporarily non-existant   |   and nothing to do with
 Email:  philipd@parallax.co.uk           |      my employer.



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]