Журнал LinuxFormat - перейти на главную

LXF107:Что за штука

Материал из Linuxformat
(Различия между версиями)
Перейти к: навигация, поиск
(Новая: ==Что за штука… Akonadi== : Где найти тот электронный адрес? А какой номер телефона у босса? Когда следующа...)
 
(викификация, оформление)
Строка 2: Строка 2:
  
 
: Где найти тот электронный адрес? А какой номер телефона у босса? Когда следующая летучка по проекту? '''Марко Фиоретти''' объяснит, откуда ''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'''

Версия 08:50, 16 октября 2009

Что за штука… 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

Персональные инструменты
купить
подписаться
Яндекс.Метрика