Apache Karaf es una aplicación basada en el estándar OSGi (Open Services Gateway Initiative) que ofrece un contenedor muy ligero donde desplegar módulos, componentes y aplicaciones de forma aislada e independiente. Entre sus ventajas destaca el despliegue en caliente, configuración dinámica, acceso remoto, gestión de instancias, etc. Es el ESB que viene integrado por defecto con Talend y nos va a permitir publicar y gestionar nuestros Web Services de una forma sencilla y rápida. Para nuestra pequeña guía vamos a utilizar Servicios Web REST que hemos desarrollado también con Talend a través de sus componentes específicos (RESTful), exportándolos como .jar que luego desplegaremos en Karaf. El objetivo es instalar este servidor de componentes como servicio de Windows, de forma que garanticemos que siempre estará levantado aunque se reinicie la máquina. Otra opción es lanzar el .bat con una tarea programada en Windows.
Instalación de Karaf
Como cualquier otra aplicación desarrollada en JAVA, necesitaremos instalar en nuestra máquina un JRE para poder correr la aplicación. Podéis descargar desde aquí la última versión a día de hoy: JRE 7. Karaf viene integrado el paquete Talend Open Studio for ESB (TOS), que podéis descargar de forma gratuita desde aquí. No es necesario descargar el IDE completo a no ser que vayáis a utilizarlo para desarrollar vuestros servicios web, con que descarguemos el Runtime es suficiente (~400 MB). Una vez descargado, descomprimimos el ZIP en nuestro disco duro. El paquete contiene 10 directorios y tres ficheros:
Configuración de Karaf como Servicio de Windows
El equipo de Talend ha desarrollado una pequeña guía que nos explica paso a paso cómo instalar un servicio de Windows que ejecute Talend. Podéis consultarla desde aquí (necesitamos registrarnos). El proceso consiste en instalar una herramienta auxiliar denominada Wrapper, sobre la que vamos a ejecutar varias sentencias para generar e instalar el servicio de Windows. Nos dirigimos al paquete descargado y abrimos la carpeta containerbin, donde encontraremos el fichero TRUN.BAT que ejecutamos. Se abre una consola de línea de comandos, donde deberemos escribir las siguientes instrucciones:
Instalamos el Wrapper:
features:install wrapper
Una vez instalado el Wrapper, lo utilizamos para generar nuestro servicio de Windows. Para ello escribimos:
wrapper:install -s AUTO_START -n Karaf -d Talend-ESB-Container -D "Karaf"
Instalamos el servicio en Windows (importante: la ruta dependerá de donde hayas descomprimido el paquete de Talend):
D:/Talend/5.2.2/Runtime_ESBSE/container/bin/Karaf-service.bat install
Y bingo, lo tendríamos funcionando:
Una vez creado e instalado el Servicio de Windows, necesitamos configurarlo para que siempre esté levantado, aunque se reinicie la máquina.
- Abrimos el panel de control de Servicios de Windows: START > Administrative Tools > SERVICES ó escribimos SERVICES en la ventana de EJECUTAR de la barra de inicio
- Buscamos el servicio recién creado, Karaf, pulsamos con el botón derecho sobre él, y hacemos clic sobre PROPERTIES.
- En la primera pestaña (General) desplegamos la opción de configuración STARTUP TYPE y seleccionamos Automatic (Delayed Start).