- Подписка на печатную версию:
- Подписка на электронную версию:
- Подшивки старых номеров журнала (печатные версии)
LXF107:Что за штука
Материал из Linuxformat.
Что за штука… Akonadi
- Где найти тот электронный адрес? А какой номер телефона у босса? Когда следующая летучка по проекту? Марко Фиоретти объяснит, откуда Akonadi знает все это, и не только…
- Akonadi – это очередное KDE-название, тупо выбранное из-за наличия буквы K?
А вот и нет! Akonadi – имя пророческой богини справедливости у народов Ганы, но выбрали его просто потому, что другие имена были заняты. Вот и все!
- И что это такое?
Новая унифицированная служба управления данными PIM для KDE 4.
- Ну, а PIM что означает?
Personal Information Management, управление личными данными, то есть всеми сведениями, которые либо возникают в результате ваших связей с окружающими, либо необходимы для поддержания этих связей и контроля за вашей ежедневной деятельностью: от сообщений электронной почты до адресных книг, календарей, расписаний событий и планов будущих акций. «Управлять» всем этим значит не только поддерживать упорядоченные, организованные всеобъемлющие архивы. Обычно PIM еще включает всякие полуавтоматические функции вроде управления псевдонимами, предупреждения накладок при назначении встреч сотрудников – да хоть бы и окно, напоминающее о дне рождения вашей жены!
- Но ведь в KDE это уже есть: я сам ежедневно пользуюсь KMail и Kontact!
Да, но PIM-компоненты KDE 3 – это самостоятельные программы с независимыми, подчас дублирующими друг друга механизмами управления данными и их хранения. Это создает некоторые проблемы, решить которые и призван Akonadi.
- А какие именно проблемы?
Первая – производительность: чтобы отобразить календарь, KOrganizer загружает все зарегистрированные события, а KAddressBook выводит все почтовые адреса, тогда как нам нужны только некоторые. С персональным компьютером это не проблема, но вообразите, что выдаст сервер коллективной работы, где хранятся данные обо всех 10 000 сотрудников корпорации! Здесь скорость падает вполне ощутимо: частью из-за избыточности архитектуры, частью из-за дублирования кода отдельных библиотек.
- Еще проблемы есть?
Недостаточная поддержка асинхронного доступа от разных приложений и уведомлений об изменении данных. Первое неудобство может привести к порче данных при попытке изменить их двумя приложениями одновременно. Вторая позиция означает, что при обновлении адреса в адресной книге почтовая программа «не замечает» новой записи до тех пор, пока не перезапустится.
- Как же Akonadi устранит эти проблемы?
Программа обеспечит единый подход к чтению, поиску и записи всех видов PIM-данных и метаданных за счет архитектуры, изначально рассчитанной на поддержку совместного доступа, своевременных уведомлений и мощных поисковых механизмов. Несмотря на все это, Akonadi – не сервер: это своего рода банк данных, централизованный кэш с унифицированным асинхронным интерфейсом для доступа. Реальные данные хранятся в отведенных им в файловой системе местах, в неизменных форматах (Maildir для почты или iCal для календаря).
- И как это решает вышеописанные проблемы?
Кэш единый, и в память загружается только по одному экземпляру всех PIM-данных, а сделанные изменения моментально становятся доступны всем программам-клиентам. Кроме того, наличие единого интерфейса для создания запросов разных типов позволяет приложениям рабочего стола запрашивать только те данные, которые им необходимы, что повышает производительность.
А еще, единый асинхронный интерфейс позволяет получать данные, не вмешиваясь в деятельность программ-клиентов.
- Я домашний пользователь, и оперативной памяти на моем компьютере полно. Нужна ли мне Akonadi?
Если вы интенсивно пользуетесь KMail и Kontact и у вас много друзей – вероятно, да. Akonadi может существенно снизить потребление памяти, а это никогда не помешает. Кроме того, Akonadi способен упростить решение других задач, от синхронизации адресных книг и календарей с удаленными серверами до интеграции PIM-системы с интеллектуальными поисковыми механизмами рабочего стола.
- Ладно, давайте выясним, как Akonadi работает. Что там внутри?
Akonadi состоит из четырех основных компонентов: отдельного хранилища для всех PIM-данных и связанного с ним кэша; менеджера уведомлений; элементов поискового механизма и библиотеки API (Application Programming Interface, интерфейса прикладной программы). Каждый компонент – это отдельный процесс, который в случае зависания или сбоя может быть перезапущен независимо от других.
- Могут ли другие приложения получать доступ к банку данных не через Akonadi?
Строго говоря, да: ведь данные хранятся в стандартных форматах, и к ним по-прежнему будет открыт доступ самых разнообразных программ. Но успех не гарантируется – по крайней мере, первые версии Akonadi могут не справиться с такими вторжениями. Еще в Akonadi есть менеджер уведомлений – он немедленно сообщает всем связанным программам о добавлении, удалении и изменении любого PIM-объекта, хранящегося в кэше – и поисковые программы, это внешние утилиты, фильтрующие PIM-данные по запросам других приложений.
- Есть еще что-нибудь интересное?
Да: можно использовать так называемые «агенты» и «ресурсы». Первые – это модули, обрабатывающие данные в хранилище Akonadi, а ресурсы – модули, подключающие это самое хранилище к внешним источникам данных, например, серверам коллективной работы (groupware).
- Очень уж сложно звучит. Как же я, не будучи программистом, смогу проверить исправность Akonadi?
Akonadi снабжается утилитой системного лотка, с помощью которой можно будет, по крайней мере, остановить или запустить программу, а также проверить ее состояние. При необходимости эта утилита сможет выдать сообщение об ошибке от Akonadi.
- Стоп, мы совсем забыли о библиотеке!
Точно! Именно библиотека делает возможным все это: позволяет Akonadi взаимодействовать с другими программами на языке сравнительно высокого уровня (в стиле Qt-библиотек), независимом от платформы.
Библиотека, вполне предсказуемо называемая libakonadi, может использоваться как приложениями рабочего стола (Kontact, KOffice или Evolution), так и другими службами, направляющими данные в Akonadi и использующими их.
- Akonadi «признает» только KDE?
Теоретически, нет: этим может пользоваться любая программа. Akonadi предлагается, в частности, как замена Evolution Data Server (EDS). На практике, хотя основные компоненты не зависят ни от KDE, ни от Qt, для libakonadi библиотеки Qt необходимы. Эта зависимость, а также зависимость от сервера баз данных, снизит популярность Akonadi за пределами KDE.
- Какие преимущества могут получить (не-KDE) программисты от использования Akonadi?
Akonadi предоставляет улучшенные средства запроса, отображения и изменения PIM-данных для любой программы, которой они могут понадобиться. Это существенно упрощает написание прикладных программ. Например, разработчикам Mailody – одного из почтовых клиентов KDE – благодаря наличию Akonadi хватило десяти минут для написания простейшего просмотрщика почты (см. http://www.omat.nl/drupal/creating-mail-reader-10-minutes).
- Вы упомянули, что Akonadi можно интегрировать с интеллектуальными поисковыми программами для рабочего стола…
Да, это конечная цель. Чтобы достичь ее, Akonadi потребуется координация с Nepomuk (http://nepomuk.kde.org), KDE-версией семантического рабочего стола. На первом уровне интеграции состоится замена категорий классификации данных, применяемых нынешними PIM-программами KDE, на тэги Nepomuk. Затем можно будет создать «агенты», которые будут автоматически поставлять данные из Akonadi в Nepomuk для должной индексации.
Шквал кодирования приведет к созданию таких вещей, как виртуальные почтовые папки, куда будут поступать результаты поисков Nepomuk. Например, можно будет запросить связанную с Akonadi почтовую программу на выдачу всех сообщений с рисунками во вложениях, или сообщений от тех, кто участвует в совещаниях по теме ‘KDE-PIM’, или даже задать сложный запрос на выдачу сообщений, более или менее близко связанных с указанной темой.
Возможна и еще одна выгода от связки Akonadi и Nepomuk: интеграция с другими, «не-PIM» приложениями. Вообразите, например, отображение фотографий и телефонных номеров своих коллег рядом с их домашними директориями в файловом менеджере…
- Чуть не забыл: раз уж мы говорим о почте, календарях и адресных книгах: будет ли Akonadi совместим с Exchange?
Сейчас ведутся работы по обеспечению совместимости с MS Exchange при помощи библиотеки OpenChange MAPI (http://www.openchange.org). Но это отдельный проект, его целью является применение протоколов Microsoft Exchange программами открытого ПО в среде Unix и Linux.
- Когда же все будет готово?
KDE 4.1, выход которого ожидается в июле 2008, включит Akonadi как платформу для разработчика. Это означает, что API будут стабильны, службы работоспособны, но не все PIM-клиенты смогут использовать возможности Akonadi в полной мере: для этого нужно будет дождаться KDE 4.2. В любом случае, тестировать Akonadi можно будет уже скоро! LXF