D-Bus is a message bus, used for sending messages between applications.
Conceptually, it fits somewhere in between raw sockets and CORBA in terms of
complexity.

D-Bus supports broadcast messages, asynchronous messages (thus decreasing
latency), authentication, and more. It is designed to be low-overhead; messages
are sent using a binary protocol, not using XML. D-Bus also supports a method
call mapping for its messages, but it is not required; this makes using the
system quite simple.

It comes with several bindings, including GLib, Python, Qt and Java.
