karaf - what is osgi




OSGi: Quais são as diferenças entre o Apache Felix e o Apache Karaf? (2)

O Apache Karaf é um subprojeto do Apache Felix . É definido como "um contêiner OSGi leve".

Eu não entendo quando devo usar o peso pesado e quando usar o peso leve. Seu site não explica isso demais.


Atualmente, existem três recipientes OSGi de código aberto populares:

  - 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.

http://www.javaworld.com/article/2077837/java-se/java-se-hello-osgi-part-1-bundles-for-beginners.html

O projeto Apache mantém um contêiner OSGi de propósito geral chamado Felix. Aqui é usado como ServiceMix e

A principal diferença entre o ServiceMix e o Karaf é que o ServiceMix agrupa vários outros componentes de integração - o message broker do ActiveMQ, o mecanismo de roteamento Camel e algumas outras coisas.

De acordo: http://kevinboone.net/osgitest.html


@Marcel Karaf não é monolítico ou enorme como um servidor Java EE. É uma implementação muito pequena e minimalista. É um produto central sem muita funcionalidade além de um console básico, carregamento de arquivos para que você possa realmente ler arquivos de configuração, etc. O arquivo zip mais recente é de 19,1 MB. Sim. Pequeno. Ele pode facilmente ser executado em dispositivos pequenos e funcionar em dispositivos embutidos.

O que você pode estar pensando é algo mais como ServiceMix, que usa o Karaf como núcleo / kernel. Mas inclui CXF, ActiveMQ, Camel e outras bibliotecas em sua configuração completa. Mesmo assim, eles têm tamanhos mínimos, médios e completos.

Realmente, para 99% dos projetos lá fora, não faria sentido começar diretamente com o Felix e não usar o Karaf.