В чем разница между равноденствием и девой? - PullRequest
14 голосов
/ 01 февраля 2012

Я уверен, что пойму разницу, когда начну заниматься большим количеством вещей, связанных с OSGi, но я подумал, что это хороший вопрос, потому что он неясен для меня после нескольких быстрых поисков в Google. Если у кого-то есть четкий, краткий ответ ...

Ответы [ 2 ]

25 голосов
/ 01 февраля 2012

Неточная аналогия: Равноденствие - это двигатель, Дева - это машина.

Equinox - это среда выполнения проекта Eclipse (альтернативные реализации включают Felix (из Apache) и Knopflerfish).

Дева использует Equinox в своей основе, но предоставляет множество вещей, которые могут потребоваться при использовании его в производстве. Virgo - это в основном проект SpringSource dm Server, пожертвованный Eclipse Foundation, поэтому он, очевидно, имеет сильную поддержку для всего, что есть в Spring. Существует много подобных продуктов (Karaf (ServiceMix), а также многочисленные серверы приложений Java EE).

Среда выполнения OSGi, как правило, представляет собой очень маленькую (среду выполнения) среду, достаточную для запуска / предоставления платформы OSGi. Такие продукты, как Virgo, предлагают общие производственные / корпоративные функциональные возможности в согласованном, проверенном виде и часто включают в себя удаленный доступ к оболочке, поддержку веб-приложений, безопасность и т. Д.

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

8 голосов
/ 03 февраля 2012

Технически Equinox - это OSGi Framework, а Virgo - контейнер. Контейнер движется поверх каркаса и добавляет функциональность. Конкурирующими технологиями для этого являются Felix и Karaf, которые являются платформой Apache Software Foundation OSGi (Felix) и контейнером (Karaf). Разница между предложением ASF и предложением Eclipse заключается в том, что предложения Eclipse являются эталонной реализацией спецификации OSGI 4.2.

Эталонная реализация Virgo "подсистем" действительно является значительным улучшением для скоординированного развертывания наборов пакетов. В Карафе они используют механизм развертывания «функций». Основное различие между механизмом развертывания «подсистем» и «функций» заключается в том, что в подсистемах вы можете отделять определенные наборы библиотек и не использовать их пакеты вне определенной подсистемы. Благодаря функциям все пакеты, доступные для других библиотек, становятся доступными для всего контейнера.

...