Communication, calendaring and keeping information about others are fundamental parts of your daily work and private life. As a provider of an application development framework and of a Free Software desktop runtime environment, KDE addresses this by tightly integrating with the PIM infrastructure provided by Akonadi.
The server category consists of two roles: control and cache.
Control is implemented by a process called akonadi_control. It is the first to start and controls the life cycle of all components other than end user applications.
Cache is implemented by a process called akonadiserver. It is the hub for the data flow, tracks changes and is responsible for system consistency, e.g. ensures unique identifiers, etc.
|Thinking about the server as a proxy-like service helps to avoid misinterpreting its task, e.g. it is caching data on behalf of its clients, not interpreting or permanently storing it.|
The agent category describes processes which perform their task without human interaction. This includes a special role also referred to as Akonadi Resources, agents which transport data between the cache and the data's actual persistant storage locations, e.g. files.
The KDE client libraries for Akonadi provide convenience classes to ease development of generic agents as well as the resource subtype. The KDE PIM project provides a set of commonly required implementations as part of their runtime module.
The KDE client libraries for Akonadi provide both a low level job based API as well as high level data models, views and standard actions.