D-BUS for Network RPC
Stephen J. Scheck
Wed Jan 19 07:42:07 PST 2005
I've read the D-BUS tutorial and know that it is designed and optimized
for local IPC, but I'm wondering how suitable it would be as a general
network RPC stack for light-weight applications. Specifically, I'm
- How does the design and architecture of D-BUS make it optimized for
local use, and thus would make it unsuitable/inefficient for network
RPC? Is there any reason why it wouldn't make a good candidate for
simple and light-weight network RPC applications?
- How stable/tested is the TCP transport?
- How difficult would it be to make the TCP transport work with
external security layers like IPsec or SSL/TLS? Could these
be configured easily and transparently to wrap a D-BUS TCP connection
or would modifications be necessary to D-BUS? And how would they
interact, if at all, with the SASL authentication used by D-BUS?
- Is there any other documentation or examples for the TCP transport?
The docs don't seem to specify the address format for TCP transport.
Basically, I'm looking for a simple, light-weight, and secure method to
make low-volume network RPC calls between hosts. D-BUS seems to fit the
bill if the TCP transport is stable and some security mechanism can
wrapped around it. I'm also looking at CORBA/Orbit, which seems too
complex, and Sun/ONC RPC, which seems a little dated. And I don't want
to use any of the XML-based RPC protocols (SOAP, XML-RPC), since they
only seem to be implemented on top of HTTP and I don't want to have to
run a full-fledged HTTP server for simple RPC support.
More information about the dbus