Что такое Apache Karaf?
Я немного запутался в том, что такое Apache Karaf.
Можете ли вы сказать, что Apache Karaf включает, помимо прочего:
- Apache Felix (который является реализацией платформы OSGi 4.2)
- Apache Aries (который является реализацией стандарта Blueprint)
2 ответа
TLDR: Apache Karaf гораздо более "включен в комплект батарей". Он также может работать в любой среде OSGI.
Apache Felix (который является реализацией платформы OSGi 4.2)
Вроде, как бы, что-то вроде. Apache Karaf может использовать Apache Felix. Apache Karaf также может использовать Equinox или другую ОС OSGi. По умолчанию стандартная загрузка Apache Karaf идет с Apache Felix.
Apache Aries (который является реализацией стандарта Blueprint)
Опять вроде. Стандартная загрузка Apache Karaf поставляется с Apache Aries по умолчанию.
Теперь давайте поговорим о том, что такое OSGI (Apache Felix, Equinox) и что такое Apache Karaf:
OSGI очень прост. Вы можете запустить OSGI runtime в вашем приложении и даже не заметить этого. Оболочка, возможность горячего развертывания из папки, установки из репозитория Maven и т. Д. Это все дополнительные функции, которые OSGI не должны делать, и предоставляются дополнительными проектами, такими как Karaf, GOGO или Pax.
Теперь перейдем к Apache Karaf:
Это в основном среда OSGI, которая предоставляет некоторые дополнительные возможности поверх стандартной реализации OSGI. Поскольку Apache Karaf просто построен на стандартном OSGI, теоретически он может работать в любой среде исполнения OSGI. Это дает вам единый интерфейс для работы с OSGI.
Некоторые полезности Apache Karaf обеспечивают то, что вы не увидите в Apache Felix без дополнительной работы:
- Папка горячего развертывания
- А (имхо) лучше по умолчанию консоль, чем гого. (Org.apache.karaf.shell)
- Удаленный доступ SSH к этой консоли. (Org.apache.karaf.shell.ssh)
- Централизованная система ведения журнала. (Org.apache.karaf.log)
- У него есть свой собственный способ предоставления пакетов и начальных уровней. (org.apache.karaf.features)
- У Karaf также есть собственные плагины Maven.
Почти все, что здесь:
http://mvnrepository.com/search.html?query=org.apache.karaf*
Я упомянул, что у Карафа есть свой собственный способ предоставления пакетов и стартовых уровней. Apache Karaf также поставляется с кучей предопределенных, с которых можно начать. Я знаю, что Apache Felix также поставляется с некоторыми из них через OBR, но Apache Karaf поставляется гораздо более "с батарейками".
Apache Karaf - это швейцарский армейский нож для запуска "OSGi" и не OSGi, связанных как OSGi.
Феликс и Овен по умолчанию, но рамки являются подключаемыми, так что равноденствие работает также.
- Оболочка "Unix like" доступна из CLI или SSH
- Горячее развертывание пачек
- Может разворачивать почти все в виде пакета (обычный.jar, spring xml, blueprint и т. Д.)
- Файлы WAR
- Развертывание из maven - включая автоматическую упаковку не OSGi-пакетов.
- Веб-консоль
- Функции Karaf - ".kar файлы", которые включают в себя комплекты и пользовательские функции / команды karaf.
Отметим также, что Karaf является частью ServiceMix (первоначальное имя - ядро ServiceMix), поэтому он очень тесно интегрирован с Apache Camel, Apache CXF и Apache ActiveMQ. Превратить Караф в ESB с этими функциями тривиально.
Apache Karaf - это просто OSGi-фреймворк (это может быть равноденствие, felix .etc) с кучей предопределенных модулей.