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