Knopflerfish упаковка - PullRequest
       31

Knopflerfish упаковка

1 голос
/ 03 апреля 2010

Я сейчас создаю матрицу, которая показывает, насколько Knopflerfish, Equinox и Felix соответствуют OSGi 4.2.

До сих пор я изучал документацию Knopflerfish ( Ссылка 1 , Ссылка 2 ), чтобы понять, сколько спецификаций Core и Compendium действительно реализовано.

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

Что меня удивляет, так это то, насколько все спецификации Compendium реализованы:

  • Удаленные службы
  • Служба журналов
  • Сервис Http
  • Доступ к устройству
  • Конфигурация Admin Service
  • Метатип Сервис
  • Сервис настроек
  • Служба администрирования пользователей
  • Wire Admin Service
  • IO Connector Service
  • Начальная подготовка
  • Сервис устройств UPnP
  • Декларативные услуги
  • Служба администрирования событий
  • Администратор развертывания
  • Автоматическая настройка
  • Администратор приложений
  • DMT Admin Service
  • Служба администрирования монитора
  • Доступ к иностранным приложениям
  • Blueprint Container
  • Tracker
  • Служба синтаксического анализа XML
  • Должность
  • Измерение и состояние
  • Среда исполнения

Чтобы узнать больше, я скачал ( Страница загрузки ) исходный код Knopflerfish и посмотрел его. Похоже, что некоторые части спецификации реализованы с помощью «оригинальной» инфраструктуры, предоставляемой OSGi Alliance (org.osgi. *).

Одним из примеров является пакет UPnP:

альтернативный текст http://img6.imageshack.us/img6/5853/screenshot20100403at212.png

Означает ли это, что недостающие части, которые непосредственно не реализованы Knopflerfish, добавляются через "оригинальную" среду OSGi? И относится ли это также к другим фреймворкам, таким как Felix или Equinox?

1 Ответ

1 голос
/ 05 апреля 2010

Большинство спецификаций OSGi определяют классы интерфейса для сервисов. Вы можете скачать эти классы вместе со спецификацией прямо с сайта OSGi Alliance.

Такие реализации, как Knopflerfish, должны обеспечивать базовые функциональные возможности, например фактическая реализация для администратора службы UPnP, которую вы упомянули в своем примере. Некоторые из классов интерфейсов также предоставляют интерфейсы, которые должны быть реализованы разработчиком пользовательской службы, например, BundleActivator.

Все платформы, которые претендуют на совместимость с OSGi, должны предоставлять реализации для этих интерфейсов. Не существует "оригинальной" платформы OSGi (ну, кроме эталонной реализации, конечно). Интерфейсы не обеспечивают реализации.

...