(Jose María, este te lo dedico … eso sí, te costará una cerveza :D)
Karaf es un contenedor OSGI del que ya hablamos en el 2010 y que ofrece un conjunto de funcionalidades que a los descreídos de OSGI como yo permite casi olvidarnos de que es un contenedor OSGI.
Ahí van las que resultan más “interesantes” (las que extienden y casi pervierten OSGI :D):
· Despliegue de aplicaciones WAR
Para desplegar una aplicación WAR basta con instalar la feature WAR y ejecutar un comando como:
![]()
Karaf automáticamente convierte el WAR (adaptado previamente de forma sencilla) a Bundles OSGI:
· Despliegue automático de JARs, aplicaciones Spring y BluePrint: Karaf ofrece deployers que se encargan de OSGIizar JARs clásicos, aplicaciones Spring y BluePrint generando automáticamente el manifest OSGI:
· Consola Remota SSH: Karaf permite acceder al contenedor vía SSH y operarlo
![]()
· Despliegue en Failover: de modo que si se cae una instancia Karaf arranque otra, permite que esté en la misma máquina o en otra (vía BD JDBC)
· Archivos Karaf (KAR): es un formato propio (ZIP) que permite encapsular varios JARs de Bundles y un descriptor y desplegarlo con sólo dejarlo en la carpeta de despliegue de Karaf
· Provisioning ofreciendo diferentes handlers, el más interesante es el Maven Handler que permite instalar bundles desde Repositorios Maven
· Consola Web para realizar desde un UI instalación/des de features, arranques/paradas de bundles, configurar Karaf, ver Logs,…
· Service Wrapper: que permite arrancar el contenedor como servicio en cualquier OS soportado: Windows, Linux, HP, OS X, Sun OS, AIX,…
· Administración y monitorización JMX
· Extensión de la consola Karaf para añadir nueva funcionalidad al contenedor
La última versión es la 2.3.2 que incorpora mejoras, novedades y soluciona un gran número de bugs y podéis descargar desde aquí.
Además Karaf tiene alrededor un pequeño ecosistema muy interesante:
· Karaf Cellar: permite gestionar un cluster de instancias Karaf (basado en Hazelcast) ofreciendo sincronización entre ellas, permitiendo:
-Discovery: permite que los nodos se descubran entre ellos
-Grupos de clusters: cada nodo puede formar parte de uno o más nodos
-Configuración distribuida
-Bundles distribuidos
-Distributed OSGI (opcional)
-Consola web para administrar el cluster vía Web
· Eclipse Integration for Karaf (EIK) que permite desarrollar sobre Karaf en Eclipse ofreciendo perspectivas despliegue, ejecución, depuración,…
· Karaf WebConsole altamente configurable y extendible
· Karaf Cave que ofrece un OSGi Bundle Repository (OBR) y Karaf Features Repository (KFR). Permite automáticamente instalar un bundle



Deja un comentario