2009-10-23 19 views

Respuesta

194

La etiqueta 'contenedor OSGi ligero' está contrastando Karaf con contenedores rica OSGi más características, no con Felix.

Para citar Guillaume Nodet (autor de Karaf) from here:

Felix es sólo 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 aplicación OSGi - Actualmente Equinox también es compatible) es la caja de OSGi, las otras cajas son las características agregadas por Karaf:

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

+2

Gracias. Eso borra la confusión :) – GabiMe

+0

Gracias, excelente y limpia explicación. – eduardohl

+4

Una buena característica de cualquier contenedor OSGi es que puede seleccionar solo los paquetes que necesita y desplegarlos en su contenedor. Así que mi consejo sería primero diseñar su aplicación, y luego elegir lo que necesita. El consejo de "simplemente instalar toda la plataforma porque es rico en funciones" suena un poco como volver a los enormes servidores de aplicaciones Java EE. Ahora no estoy diciendo que Apache Karaf sea tan grande como esos, solo estoy diciendo que puedes y debes implementar lo que realmente necesitas. –

3

@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 usar Karaf en su lugar.

-1

En la actualidad, hay tres contenedores OSGi de código abierto:

- 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 Félix. Aquí se utiliza como ServiceMix y

La principal diferencia entre los ServiceMix y Karaf es que ServiceMix haces un montón de otros componentes de integración - intermediario ActiveMQ mensaje, el motor de enrutamiento camello, y algunas otras cosas

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

Cuestiones relacionadas