D-BUS is an up-and-coming message bus and activation
system that is set to achieve deep penetration in the Linux®
desktop. Learn why it was created, what it can be used for, and
where it is going.D-BUS is essentially an implementation of inter-process
communication (IPC). However, several features distance D-BUS from
the stigma of being “Yet Another IPC Implementation.” The reason
that there are so many different IPC implementations is that they
each aim to solve a particular well-defined problem. CORBA is a
powerful solution for complex IPC in object-orientation
programming. DCOP is a lighter IPC framework, with less power, but
is well integrated into the K Desktop Environment. SOAP and XML-RPC
are designed for Web services, and so use HTTP as the transport
protocol. D-BUS was designed for desktop application and OS
communication.Desktop application communication
The typical desktop has multiple applications running, and they
often need to talk to each other. DCOP is a solution for KDE, but
it is tied to Qt, and so is not used in other desktop environments.
Similarly, Bonobo is a solution for GNOME, but it is quite heavy,
being based on CORBA. It is also tied to GObject, so it is not used
outside of GNOME. D-BUS aims to replace DCOP and Bonobo for simple
IPC and to integrate these two desktop environments. Because the
dependencies for D-BUS are kept as small as possible, other
applications that would like to use D-BUS don’t have to worry about
bloating dependencies.