jueves, 6 de noviembre de 2014

PRIMEROS PASOS CON JBOSS FUSE

JBoss Fuse es una de las soluciones de integración proporcionadas por Red Hat. Incluye tres partes fundamentales:

  • Apache CXF para web services
  • Apache Camel para patrones de integración
  • JBoss A-MQ para mensajería
Todo ello corriendo en contenedores OSGi, Apache Karaf.
En el siguiente tutorial vamos a explicar brevemente cómo realizar la instalación y arrancar JBoss Fuse para empezar a trabajar, tanto en modo standalone como utilizando Fabric.

1. DESCARGA DEL PRODUCTO
Todos los productos de Red Hat JBoss Middleware están disponibles para descarga de forma gratuita en JBoss Developer. Concretamente, el software de JBoss Fuse está disponible aquí.

2. INSTALACIÓN
La instalación es tan sencilla como descomprimir el fichero que acabamos de descargar.

3. CONFIGURACIÓN INICIAL
Antes de arrancar el servicio, hay que hacer unos pequeños cambios de configuración.

El primer paso es establecer la variable de entorno JAVA_HOME si no está establecida ya. En Linux, se puede hacer añadiendo la siguiente línea a $HOME/.bash_profile:

export JAVA_HOME=/usr/lib/jvm/java-openjdk

Tras editar el fichero, hay que ejecutar lo siguiente para que se cojan los cambios:

source $HOME/.bash_profile

Por último, hay que configurar usuarios para la consola de administración. Para ello, hay que editar el fichero $FUSE_HOME/etc/users.properties. El formato de estas entradas es el siguiente: usuario=password[,rol1][,rol2]
Para este ejemplo sencillo vamos a utilizar la opción por defecto:

admin=admin,admin

4. ARRANQUE DEL SERVICIO
Después de realizar los cambios en configuración, está todo listo para arrancar JBoss Fuse por primera vez.
Para ello, vamos al directorio $FUSE_HOME/bin y ejecutamos lo siguiente:

./fuse


Por defecto se arranca un contenedor OSGi standalone con una consola de administración. Si desde un navegador accedemos a la url http://localhost:8181 veremos la consola de administración Hawtio.



Podemos acceder a la consola con las credenciales que hemos configurado anteriormente (admin/admin).



Con este contenedor ya podemos empezar a trabajar. Sin embargo, como parte de esta introducción también vamos a crear un Fabric.
Un Fabric consiste en dos tipos de contenedores:

Fabric Server
Un Fabric Server tiene un status especial; es el responsable de mantener una réplica del registro de Fabric. En cada uno de los Fabric servers se instala un servicio de registro. Este servicio, basado en Apache Zookeper, mantiene una réplica de la base de datos de registros y proporciona un Zookeper Server, a cuyos agentes se pueden conectar para recibir datos del registro.  

Fabric Container Un Fabric Container conoce la localización de todos los Fabric Servers, y puede recibir datos de registro de cualquier Fabric Server. Hay un Fabric Agent en cada Fabric Container. Este agente monitoriza de forma activa el registro de Fabric, y cuando se hace cualquier modificación relevante, inmediatamente actualiza el contenedor para mantenerlo consistente con las opciones del registro.

Estos dos tipos de contenedores forman un Fabric Ensemble. Un Fabric Ensemble es una colección de Fabric Servers y Containers que mantienen de forma colectiva el estado del registro de Fabric. El Fabric Ensemble implementa una base de datos replicada y utiliza un sistema de votación basado en quorum para asegurar que los datos del registro permanecen consistentes en todos los contenedores. Para evitar splits debidos a problemas de red en un sistema basado en quorum, es imprescindible que el número de Fabric Servers sea un número impar.
El número de Fabric Servers es típicamente 1, 3 ó 5. En sistemas en producción, el número tiene que ser al menos 3, instalados en máquinas diferentes para proporcionar tolerancia a fallos.
Para añadir Fabric a nuestro ejemplo, tenemos que ejecutar lo siguiente desde la consola de Fuse:

fabric:create --zookeeper-password=admin --wait-for-provisioning


Una vez creado el Fabric, tendremos una nueva vista en la consola de administración, en la cual vemos todos los contenedores existentes, y que nos permite crear nuevos contenedores:


En siguientes tutoriales iremos mostrando diferentes ejemplos de aplicaciones que podemos crear utilizando JBoss Fuse. 




1 comentario:

  1. The Bet of the Week Baccarat - Worrione
    Bet of the Week Baccarat · 1. “Let” and “O” · 2. “O” · 3. “O” · 4. “O” · worrione 5. “O” deccasino · 1xbet korean 6. “O” · 7. “O” · 8. 5. “O” · 9.

    ResponderEliminar