Apache Karaf es un subproyecto de Apache Felix . Se define como "un contenedor OSGi ligero".
No entiendo cuándo debo usar el peso pesado y cuándo usar el peso ligero. Su sitio no explica esto demasiado.
Apache Karaf es un subproyecto de Apache Felix . Se define como "un contenedor OSGi ligero".
No entiendo cuándo debo usar el peso pesado y cuándo usar el peso ligero. Su sitio no explica esto demasiado.
Respuestas:
La etiqueta de 'contenedor OSGi liviano' contrasta a Karaf con más contenedores OSGi ricos en funciones, no con Felix .
Para citar a Guillaume Nodet (autor de Karaf) desde aquí :
Felix es solo el tiempo de ejecución principal de OSGi. Karaf proporciona una "distribución" basada en Felix al agregar otras características como una consola, un mecanismo de control remoto SSH, un desplegador de archivos y más.
En este diagrama de la arquitectura Karaf, Felix (u otra implementación de OSGi, actualmente Equinox también es compatible) es el cuadro OSGi, los otros cuadros son las características agregadas por Karaf:
Por lo tanto, a menos que tenga necesidades específicas que Karaf no satisfaga (que requieren acceso a la implementación subyacente), por lo general, tiene sentido usar esto, ya que proporciona más "fuera de la caja".
@Marcel Karaf no es monolítico o enorme como un servidor Java EE. Es una implementación muy delgada y minimalista. Es un producto básico sin mucha funcionalidad que no sea una consola básica, carga de archivos para que realmente pueda leer los archivos de configuración, etc. El último archivo zip es de 19.1 MB. Si. Pequeña. Puede ejecutarse fácilmente en dispositivos pequeños y trabajar en forma integrada.
En lo que puede estar pensando es en algo más como ServiceMix que usa Karaf como núcleo / núcleo. 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 que existen, no tendría sentido comenzar directamente con Felix y no usar Karaf.
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.
El proyecto Apache mantiene un contenedor OSGi de uso general llamado Felix. Aquí se usa como ServiceMix y
La principal diferencia entre ServiceMix y Karaf es que ServiceMix incluye otros componentes de integración: el agente de mensajes ActiveMQ, el motor de enrutamiento Camel y algunas otras cosas.
De acuerdo: http://kevinboone.net/osgitest.html