Project

General

Profile

Actions

Design » History » Revision 1

Revision 1/25 | Next »
Алексей Филиппов, 02/22/2012 12:27 AM


Проект архитектуры

Модель архитектуры представлена на следующей схеме:

Описание уровней архитектуры

Сетевой уровень (Network layer) объединяет используемые социальные сервисы и среду передачи данных. В архитектуре представлены сервисы ВКонтакте, Facebook и Flickr. Каждый сервис предоставляет доступ к данным посредством собственного протокола. В настоящий момент в проекте MySocials реализована поддержка протоколов на основе XML и JSON.

Транспортный уровень (Transport layer) представляет собой набор библиотек доступа к социальным сервисам (драйверов). Основная задача драйвера - выполнять запросы к сервису для получения или отправки данных. Один запрос к драйверу может быть реализован в виде серии запросов к сервису.

Промежуточный уровень (Middleware layer) обеспечивает единый программный интерфейс (MySocials API) доступа к социальным сервисам. API реализован на основе XML. Для более удобной реализации приложений с использованием социальных сервисов реализована Qt библиотека (Core). Библиотека предоставляет набор базовых классов, средства кэширования для автономной работы и объединяет составные запросы.

Пользовательский уровень (User layer) объединяет разработанные приложения и плагины.
  • Плагины для Qt Messaging Framework (QMF plugins) предоставляют доступ к социальным сервисам аналогично доступу к почтовым сервисам.
  • Плагины приложений (Application plugins) реализуют работу с социальными сервисами в различных приложениях. В настоящий момент реализован плагин для Telepathy framework и плагин импорта контактов в адресную книгу Maemo.
  • Консольное тестовое приложение (Console application) позволяет проверить работоспособность драйверов и выполнять запросы на основе MySocials API.
  • Приложение для просмотра изображений социальных сервисов (Gallery)
  • Приложение для работы с социальными сервисами (MySocials)

Описание подсистем

Ядро (Core) – Подпрограмма, отвечающая за перенаправление запросов от других модулей к драйверам и наоборот, контроль использования оперативной памяти программой, выполнение повторяющихся задач(проверка сообщений, проверка друзей и т.д.)
Включает в себя:

  • Менеджер Событий - модуль, выполняющий через определенный промежуток времени повторяющиеся задача (проверка на новые сообщения и т.д.)
  • Модуль перенаправления запросов - модуль, который перенаправляет запросы, полученные от подпрограмм к драйверам

Драйвер (Driver) - подпрограмма реализующая взаимодействие с определенным сервисом или их группой
Включает в себя:

  • Модуль получения запросов от ядра
  • Отправка запросов и получение ответов от сервиса
  • Обработка ответа от сервиса
  • Модуль отправки ответа ядру

Интерфейс пользователя (UI) - Подпрограмма содержащая графический интерфейс пользователя. Содержит функции по выводу информации пользователю, вызывает функции из виджетов. Включает в себя:
Включает в себя:

  • Формы с компонентами из виджетов

Виджеты (Widgets) - Набор компнентов, содержащих логику работу интерфейса. Виджеты располагаются на уровне конечного приложения. Включают в себя:

  • модули(менеджеры) для соединения графического интерфейса и ядра
  • модели данных полученные от ядра и методы доступа к ним
  • функции обработки событий, поступающих от графического интерфейса

Updated by Алексей Филиппов over 12 years ago · 1 revisions