Записи, связанные с тегом «OSGi»

Описание модулей 0.5.0 - jimbot.core

Все нижесказанное относится к состоянию бота на 10.04.2010. В последстивии нужно иметь ввиду, что структура и логика работы может поменяться.

Начнем с описания работы ядра - модуля jimbot.core.

Для начала советую прочитать про основы OSGi.

Бандл ядра состоит из нескольких пакетов.

  • jimbot.core - содержит активатор бандла и коннекторы сервисов. Название пакета отличается от общепринятого из-за того, что этот пакет не нужно экспортировать для других бандлов.
  • ru.jimbot - несколько общих классов, которые я не смог отнести к другим пакетам. Самые важные из них: MainConfig и Manager.
  • ru.jimbot.core - тут собраны общие классы, которые должны быть использованы при работе других бандлов. Часть из классов абстрактные и должны быть расширены.
  • ru.jimbot.core.api - тут собраны все интерфейсы, которые должны реализовываться бандлами.
  • ru.jimbot.core.events - в данном пакете содержатся классы событий. Я планирую переделать систему коммуникации между частями бота, т.к. в OSGi есть собственные средства обмена сообщениями и событиями между бандлами, но с этим еще предстоит разбираться.
  • ru.jimbot.db - содержит общие абстрактные классы для работы с БД. Возможно, они тоже будут переписаны.
  • ru.jimbot.utils - некоторые сервисные классы, реализующие функции общего назначения.

Метод кирпича

Все в реальной жизни состоит из маленьких кусочков. Частичек. Кирпичиков. Модулей...

Очевидно что строить большой объект из нескольких маленьких гораздо проще, чем создавать его сразу на пустом месте. При этом так же понятно, что эти кирпичики должны обладать определенным согласованным интерфейсом друг с другом. Например, при строительстве дома все кирпичи обладают одинаковыми размерами, иначе построить дом неполучится.

В области разработки программного обеспечения ситуация аналогичная. Систему, обеспечивающую поддержку функций загрузки модулей, их запуска, разрешения зависимостей между ними, изоляцией молулей друг от друга называют плагинной шиной. В JimBot начиная с версии 0.5.0 будет также использована полноценная плагинная шина, реализованная на основе технологии OSGi.

Подробнее об этой технологии можно прочитать по ссылкам, указанным в конце данной статьи, а пока я опишу некоторые функции и назначение существующих на данный момент модулей.

1
Loading

Смотрите новые записи на главной странице или загляните в архив, где есть ссылки на все сообщения.

Хостинг для чата

Рейтинг@Mail.ru службы мониторинга серверов