Many people are confused about the concepts in DBus. This page gives an analogy to the web which should help to explain things.

Concepts

  • unique bus name
  • well-known bus name
  • object path
  • interface
  • method name
  • in parameters
  • out parameters

Web Server Analogy

  • unique bus name is like an IP address. In particular it is dynamic.
  • well-known bus name is like a hostname. It can be held by different programs at different times, but they should all implement the same API
  • object path is like the path on the server
  • interface/method name is like GET or POST
  • in parameters are like like GET/POST variables
  • out parameters are like the page which is returned.

Object-Oriented Language Analogy

  • an object path refers to an object, such as a java.lang.Object
  • an interface is exactly like a Java interface
  • in parameters are method arguments
  • out parameters are method return values
  • unique bus name identifies the running process or application uniquely (these bus names are never re-used by a different process)
  • well-known bus name is a "symlink" that points to the process providing a particular API
  • an API is made up of objects that are expected to exist, which are expected to implement certain interfaces
  • see also http://log.ometer.com/2007-05.html#17