Le Thu, 3 Dec 2009 17:05:18 -0200, Denis A. Altoé Falqueto <denisfalqueto@gmail.com> a écrit :
In fact, DBus is implemented over Unix sockets. FIFOs and sockets don't define the format that will be used over them, they are just channels of communication. DBus is a wire protocol, as they say in the home page. It defines the format the methods and parameters should be converted to make the communication viable, as well as an event system so that applications can register interest in some activity.
I do not know how D-Bus works on the technical level, but as far as I understand D-Bus means many things and people mix them up. Here is what I understand. There is indeed a D-Bus protocol [1], and I don't see why anybody would be against that, because a protocol is a written document and not a piece of software: it doesn't enforce an implementation. Then, there is a library, libdbus, that implements that protocol. Note that it is not the only one, D-Bus's home page states that the implementations of D-Bus for Java, C# and Ruby do not rely on it. I don't think that's what everybody is targeting either. Finally, there is the D-Bus message bus daemon. The one you see in top, here: 3188 dbus 20 0 10664 1028 724 S 0 0.1 0:00.51 dbus-daemon Actually, there are multiple instances of the daemon running at the same time. Basically, what they do is route the D-Bus messages between the applications. This is what most people target, because it is an extra process running on their system. That being said, I am in favor of simplicity, I am even often called a minimalist, but I kind of like the idea of having a unified way to communicate between Unix applications. I even appreciate the fact that it relies on a daemon and not on an in-kernel thing but I am also fascinated by Minix3, so I have a bias towards putting everything in user space ;) I like D-Bus because it can actually simplify the applications that rely on it and avoid reiventing the wheel. But I do agree that applications that *don't* need to communicate with other applications have no reason to be linked against it! [1] http://dbus.freedesktop.org/doc/dbus-specification.html -- catwell