Re: Scripting in Gnome

jamie wrote:

On Thu, 2004-02-05 at 15:30, Bill Haneman wrote:

I was thinking along the lines of having XML as the high level
definition. That could then be translated via XSLT to IDL if you needed
it. I'm not saying scrap corba completely cause we do need it for
backwards comatibility. If you look at the way MS is heading - its
effectively using xml and web services to replace IDL in .Net

That doesn't make it a good idea ;-)

Making the XML the 'high level' definition stands the whole business on its head. IDL was designed to express interfaces, XML is a very poor fit for this. The fact that it would junk existing GNOME service definitions is the real stopper though, IMO.

I was suggesting a future bonobo implementation that could make use of
several back ends including the existing corba one. Therefore existing
apps would not be broken. New apps that required corba features like
network and platform transparancy would still get it if they needed it.
However a new widget that used bonobo and did not require corba could
then use an alternate (and faster) back end like D-Bus. The choice of
back-end could be left to the app.

I don't think you can leave the back-end choice to the app; since we're talking about IPC and inter-application services, the clients and servers will (at some point) have to talk to the same back-end protocol. That doesn't exclude things like bridging services of course, but you get my point. Otherwise you have incompatible back ends, so the apps think they are speaking the same language but in reality they wouldn't be able to talk to one another. ORBit2 has a similar situation with its multiple backends for pushing bits around, which it deals with via IIOP: i.e. the ORB determines what protocols will be used to talk to peer services based on their capabilities, so it can be done - but not at the application level. Part of the reason for building a good IPC/object component model is so that apps don't get involved in the backend details.

I suggest XMl as a high level wrapper for a high level interface. If you
want to bypass the higher level and use a lower level interface like IDL
then that should be fine too.

I do not in any way see XML as high level and IDL as low level. IDL is about as high-level as you can get and still accomplish anything useful; so any XML representation would either have to be lower-level, or at the same level of granularity.

This is my point about XML/IDL: the kinds of interfaces we are interested in require something approximately like IDL in order to describe them. Any attempt to do this in XML would in effect be writing an XML version of IDL, which doesn't seem particularly useful to me.

To clarify, I am in no way suggesting anything that would break or make
incompatible existing code.
Changing the normative binding/definition level for a component or interface model will break existing code, if not immediately, then relatively soon - it would have the effect of deprecating/obsoleting all the existing interfaces which were based on the old definitions.

There has been plenty of discussion in the past of changing Bonobo's back end, but one thing that I don't see any justification for is changing the language in which Bonobo is defined, which is IDL.

- Bill


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