OSGi:В чем различия между Apache Felix и Apache Karaf?
-
05-07-2019 - |
Вопрос
Апач Караф является подпроектом Апач Феликс.Он определяется как "облегченный контейнер OSGi".
Я не понимаю, когда мне следует использовать тяжелый вес, а когда легкий.Их сайт не слишком подробно объясняет это.
Решение
Ярлык «облегченного контейнера OSGi» контрастирует Karaf с более функциональными контейнерами OSGi, нет с Феликсом .
Цитировать Гийома Ноде (автора Карафа) отсюда : р>
Felix - это просто время выполнения ядра OSGi. Караф обеспечивает «распределение» основанный на Феликсе, путем добавления других функций, таких как консоль, механизм удаленного взаимодействия SSH, средство развертывания файлов и многое другое.
На этой схеме архитектуры Karaf Феликс (или другая реализация OSGi - в настоящее время Equinox также поддерживается) - это окно OSGi, остальные - функции, добавленные Karaf:
Поэтому, если у вас нет особых потребностей, которые не удовлетворяются Karaf (требующих доступа к базовой реализации), обычно имеет смысл использовать это, так как это обеспечивает больше «из коробки».
Другие советы
@Marcel Karaf не монолитен и не огромен, как Java EE-сервер.Это очень тонкая и минималистичная реализация.Это базовый продукт без особых функциональных возможностей, кроме базовой консоли, загрузки файлов, чтобы вы действительно могли читать файлы конфигурации, и т.д.Последний его zip-файл составляет 19,1 МБ.Да.Маленький.Он может легко запускаться на небольших устройствах и работать во встроенных.
Возможно, вы думаете о чем-то больше похожем на ServiceMix, который использует Karaf в качестве ядра.Но он включает в себя CXF, ActiveMQ, Camel и другие библиотеки в своей полной конфигурации.Даже тогда они имеют минимальные, средние и полные размеры.
Действительно, для 99% существующих проектов не имело бы смысла начинать непосредственно с Felix и не использовать вместо этого Karaf.
В настоящее время существует три популярных контейнера OSGi с открытым исходным кодом:
- Equinox. It is the modular Java runtime at the heart of the Eclipse IDE, - Knopflerfish, Is an open source implementation of the OSGi R3 and OSGi R4 specifications. - Apache Felix. Is the open source OSGi container from the Apache Software Foundation.
Проект Apache поддерживает контейнер OSGi общего назначения под названием Felix. Здесь используется как ServiceMix и
Основное различие между ServiceMix и Karaf заключается в том, что ServiceMix объединяет множество других компонентов интеграции & # 8212; ActiveMQ брокер сообщений, механизм маршрутизации Camel и некоторые другие вещи
Согласно: http://kevinboone.net/osgitest.html