Что такое 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) с кучей предопределенных модулей.

Архитектура Apache Karaf:

Другие вопросы по тегам