Development/Architecture/KDE4/Akonadi/pt-br

From KDE TechBase
Revision as of 19:47, 28 August 2014 by Aracele (talk | contribs) (Created page with "O controle é implementado por um processo chamado '''akonadi_control'''. É o primeiro a iniciar e controlar o ciclo de vida de todos os outros componentes que não os aplica...")


Akonadi

Comunicação, calendário e manter informações sobre os outros são partes fundamentais de seu trabalho diário e vida privada. Como um fornecedor de um framework de desenvolvimento de aplicativos e de um ambiente desktop software livre, o KDE resolve isso com a integração com a infraestrutura do PIM fornecida pelo Akonadi.

Implementação do KDE de uma pilha de biblioteca cliente do Akonadi torna mais fácil para desenvolver aplicativos usando Akonadi como sua fonte de dados, bem como agentes Akonadi para o acesso real ao armazenamento persistente dos dados.

Conceitos

O design do Akonadi segue o princípio da separação de interesses, o que significa que cada componente tem um papel pequeno, bem definido, a cumprir, a fim de alcançar uma configuração totalmente funcional.

Existem três categorias principais de componentes, todos os quais são implementados como processos individuais para o aumento da estabilidade do sistema e independência da implementação:

  • Servidor Akonadi
  • Agentes Akonadi
  • Aplicativos Akonadi

Servidor Akonadi

A categoria de servidor consiste em duas funções: controle e cache.

O controle é implementado por um processo chamado akonadi_control. É o primeiro a iniciar e controlar o ciclo de vida de todos os outros componentes que não os aplicativos do usuário.

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.

All communication with these two roles is implemented in the KDE client libraries for Akonadi and available to developers at different level of abstraction.

Tip
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.


Akonadi Agents

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.

Akonadi Applications

The application category refers to the usual end user visible application, e.g. address book, calendar or e-mail program. Implementations of this category can sometimes be referred to as Akonadi Clients, since agents can be seen as part of the server-like functionality, both from the point of view of users as well as application developers.

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.

Further reading