Re: Scripting in Gnome
- From: Bill Haneman <Bill Haneman Sun COM>
- To: jamie <jamiemcc blueyonder co uk>
- Cc: James Henstridge <james daa com au>, GNOME Desktop Hackers <desktop-devel-list gnome org>
- Subject: Re: Scripting in Gnome
- Date: Thu, 05 Feb 2004 16:28:20 +0000
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
jamie.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]