dbus - comments requested, here's one
lkcl at cb1.com
Mon Jun 21 12:21:43 PDT 2004
The D-BUS API isn't finished yet, and the design is by no means set in
stone. One of our main goals is for lots of projects to use it, so if
you wouldn't use it, by all means mail us and say why - design,
licensing, indentation style, we would rather know than not know.
also i note from the debian description that dbus is "something in between
raw sockets and CORBA" in terms of complexity.
also i note that glib is using dbus extensively.
*exasperated*. _why didn't you look at freedce?_
corba is an object-orientated system similar to DCOM.
corba has its own RPC mechanism that it uses underneath that is
not object-orientated (let's call it corba-rpc)
corba is to dcom as corba-rpc is to dce/rpc.
dce/rpc is available FREE in freedce, it's the open group's "reference
implementation 1.1" made available, autoconf'd.
wez furlong has been adding a new project to it - DCOM.
i worked with wez on FreeDCE for some time - we turned the rather poorly
implemented (but very well designed) "hard-coded" interface points into
dlopen-able interfaces at the following points:
- the socket interface
- the encryption / authentication / digital signing interface
- the transport interface
and a couple of others.
as an example i then added an NT Domains authenticated transport
(a la Windows NT "Authenticated Named Pipes").
lots of code was removed from the 1.1 reference implementation (all of its
kerberos stuff) but the hooks (now dlopen'd APIs) are still all there.
it has a really good - and comprehensive - IDL interface and IDL compiler.
and the marshalling and unmarshalling support is second to none: the
people who designed SOAP quote the open group's dce/rpc documentation as a
DCE/RPC's marshalling and unmarshalling can handle _doubly linked lists_,
_arrays of pointers to structures_. 80-bit floating point. microsoft's
version of DCE/RPC (MSRPC) can even handle structures aligned to N-bit
boundaries where the programmer can define both N and the size of the
"fix a bug in custom type marshaling"
what are you doing that needs "custom" marshalling?? i hope that doesn't
mean that because you haven't thought about the design of dbus's
marshalling for long enough to be able to cater for flexible enough
structures, consequently you're placing the burden of responsibility onto
the programmer by allowing for "customised" marshalling?
_why_ are you reinventing the wheel?
the DCE/RPC runtime environment is a _serious_ amount of code, with hooks
in it for service location (of multiple types e.g. by UUID, by name, by
registered-service) you name it.
the code in freedce is, thanks to gary gerchak (ggerchak at ibm.com) who is
ibm's opengroup committee member, rotting in hell.
More information about the dbus