tutorial que osgi apache-felix apache-karaf

osgi - que - apache karaf tutorial



OSGi: ¿Cuáles son las diferencias entre Apache Felix y Apache Karaf? (3)

Actualmente, hay tres contenedores OSGi de código abierto 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

El proyecto Apache mantiene un contenedor OSGi de propósito general llamado Felix. Aquí se usa como ServiceMix y

La principal diferencia entre ServiceMix y Karaf es que ServiceMix incluye muchos otros componentes de integración: el intermediario de mensajes ActiveMQ, el motor de enrutamiento Camel y algunas otras cosas.

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

Apache Karaf es un proyecto secundario de Apache Felix . Se define como "un contenedor OSGi liviano".

No entiendo cuándo debería usar el peso pesado y cuándo usar el peso ligero. Su sitio no explica esto demasiado.


@Marcel Karaf no es monolítico ni enorme como un servidor Java EE. Es una implementación muy delgada y minimalista. Es un producto central sin mucha funcionalidad que no sea una consola básica, la carga de archivos para que pueda leer los archivos de configuración, etc. El último archivo comprimido tiene 19.1 MB. Sí. Pequeña. Se puede ejecutar fácilmente en dispositivos pequeños y trabajar en integrado.

Lo que puede estar pensando es algo más parecido a ServiceMix que utiliza Karaf como núcleo / kernel. Pero incluye CXF, ActiveMQ, Camel y otras bibliotecas en su configuración completa. Incluso entonces tienen tamaños mínimos, medianos y completos.

Realmente, para el 99% de los proyectos no tendría sentido comenzar directamente con Felix y no utilizar Karaf en su lugar.


La etiqueta ''contenedor ligero OSGi'' está contrastando Karaf con contenedores OSGi más ricos en funciones, no con Felix .

Para citar a Guillaume Nodet (autor de Karaf) desde aquí :

Félix es solo el tiempo de ejecución del núcleo OSGi. Karaf proporciona una "distribución" basada en Felix al agregar otras características, como una consola, un mecanismo de comunicación remota SSH, un implementador de archivos y más.

En este diagrama de la arquitectura Karaf, Felix (u otra implementación OSGi - actualmente Equinox también es compatible) es la caja OSGi, las otras cajas son las características agregadas por Karaf:

Por lo tanto, a menos que tenga necesidades específicas que no satisfaga Karaf (que requieren acceso a la implementación subyacente), generalmente tiene sentido usar esto, ya que proporciona más ''listo para usar''.