Últimamente he estado investigando sobre las posibilidades de OSGi para la integración y me he topado con el proyecto Felix que es el enfoque de Apache para la implementación de OSGi. Este proyecto dispone de un entorno de ejecución llamado Karaf, el cual me ha llamado la atención muy positivamente por la sencillez de uso y la flexibilidad que nos ofrece, además de permitir el uso de Felix o Eclipse Equinox como contenedores OSGi
Apache Felix Karaf nos proporciona las siguientes funcionalidades:
- Despliegue en caliente. Se monitoriza el contenido de los ficheros del directorio deploy y cada vez que copia un jar en este directorio el componente es instalado en el entorno de ejecución. De igual manera si se actualiza o borra el mismo estos cambios se controla automáticamente.
- Configuración dinámica. Los servicios se configuran habitualmente a traves del servicio OSGi ConfigurationAdmin el cual es alimentado por karaf a partir de los ficheros properties incluidos en el directorio etc. Y si alguno de estos ficheros es modificado el sistema se encarga de propagar ese cambio a los servicios.
- Sistema de Logging. Dispone de un backend centralizado de jogging gestionado por Log4j.
- Suministro. El suministro de librerías y aplicaciones se puede realizar de diferentes formas a través de las cuales las mismas se descargaran localmente, instalaran e iniciaran.
- Integración nativa con el sistema operativo. Se puede integrar en tu sistema operativo como servicio de cara a vincularlo al ciclo de vida del mismo.
- Consola de shell extensible. Dispone de una consola de texto para gestionar servicio e instalar nuevas funcionalidades así como gestionar su estado. Siendo la misma fácilmente extensible con nuevas características.
- Acceso remoto. Permite el uso de clientes ssh para acceder remotamente a su consola.
- Framework de seguridad. Basado en JAAS.
- Gestión de instancias. Permite gestionar múltiples instancias de karaf a través de la consola.
- Soporta los siguientes contenedores OSGi 4.2: Apache Felix 2.0.0 y Eclipse Equinox 3.5
La consola que nos proporciona dispone de una buena ayuda a la escritura de comandos y es fácilmente extensible:
Es por ello que recomiendo este entorno para aquellos que hagan su primera aproximación a OSGi.



Replica a OSGi y Spring Dynamic Modules « Java Mania Cancelar la respuesta