¿Qué es fusible?
JBoss Fuse es una solución ESB de código abierto de Redhat. Es una solución empresarial basada en un proyecto comunitario, Apache Servicemix.
Integración a Fuse
JBoss Fuse es una plataforma de integración ligera y flexible que permite una rápida integración de aplicaciones empresariales.
Fuse fue desarrollado inicialmente por Progressive software Inc., que fue adquirida por Redhat en 2012. JBoss Fuse 6.1.0.redhat-379 GA es una versión estable de Fuse que se puede descargar desde su sitio web oficial.
Arquitectura
Fuse combina varias tecnologías juntas como un solo producto.
Componentes
Apache CXF
Apache CXF es un marco de desarrollo de servicios web de código abierto que también admite el desarrollo de servicios web SOAP & Rest.
Camello apache
Apache Camel es un marco de integración basado en EIP. Los patrones de integración empresarial o EIP son soluciones identificadas para los problemas recurrentes en la integración empresarial. La solución de integración completa se puede lograr meteóricamente con combinaciones de estos patrones predefinidos listos para usar.
Permite escribir lógica de enrutamiento en varios lenguajes específicos de dominio como Java, Spring DSL y Scala, etc.
Apache AMQ
Apache AMQ es un JMS que proporciona un sistema de mensajería confiable según los estándares JMS. No solo admite la especificación JMS, sino que también proporciona algunas características interesantes y útiles que no están incluidas en las especificaciones JMS.
Apache Karaf
Apache Karaf es un contenedor OSGi ligero que actúa como tiempo de ejecución para los artefactos. Apache Karaf es de naturaleza más dinámica en comparación con JVM. Permite instalar o desinstalar módulos en tiempo de ejecución. Todos los artefactos en Fuse se implementan en Karaf.
Tela
Fabric proporciona una forma sencilla de administrar las implementaciones de artefactos en un entorno grande y distribuido. Proporciona administración centralizada para todas las instancias de fusibles múltiples.
Instalación de fusible
Instalar Fuse es bastante simple. Al igual que otros productos JBoss, Fuse viene como un archivo zip que se puede extraer y después de algunos cambios menores de configuración, se puede iniciar directamente.
La instalación de Fuse es un proceso de cuatro pasos:
Descargar
Descargue Fuse 6.1.0 GA desde el siguiente enlace. http://www.jboss.org/
Abrir la cremallera
Como todos los demás productos de JBoss, Fuse también es un zip independiente de la plataforma.
Descomprima el archivo descargado en el directorio de destino que desea que sea el directorio de instalación de Fuse. Elija este directorio con prudencia, ya que debería permanecer igual durante la vida útil de la instancia de Fuse.
Note - Aunque Fuse se abre y se inicia como otros productos JBoss, no se recomienda mover la instalación de Fuse de un lugar a otro después de que se complete la instalación.
Configurar
Después de descomprimir Fuse, encontrará los siguientes directorios dentro del directorio extraído:
- bin
- etc
- deploy
- lib
- licenses
- extras
- quickstarts
De los cuales vamos a utilizar solo dos directorios bin Y etc.
Prácticamente después de extraer Fuse, deberíamos poder iniciar Fuse directamente, pero esto iniciará Fuse con todas las configuraciones predeterminadas, lo que no es recomendable para el entorno de producción. Se recomienda encarecidamente realizar los siguientes cambios antes de iniciar Fuse.
Establecer variables de entorno
Establezca las siguientes variables de entorno: JAVA_HOME
La variable debe apuntar al directorio de instalación de Java - M2_HOME
La variable debe apuntar al directorio de instalación de Maven - PATH
Configure la variable de ruta para incluir ejecutables Java y Maven.
Ventanas
En Windows, la configuración se puede realizar siguiendo las instrucciones que se dan a continuación:
Inicio → Mi PC → Clic derecho → Propiedades → Configuración avanzada del sistema → Variables de entorno.
UNIX y clones
Para cada usuario hay un perfil bash en el *nixsistemas operativos. Podemos agregar o editar la variable del sistema existente cambiando este archivo.
$ vi ~/.bash_proflle
Note- Cualquier cambio en este archivo es permanente. Se recomienda realizar una copia de seguridad del archivo existente antes de cambiar el original.
Configuracion basica
Discutiremos sobre la configuración básica de JBoss Fuse y para eso tenemos que comenzar con el siguiente comando Edit $FUSE_INSTALLATION_DIR/etc/
En user.properties
#admin=admin,admin
Esto debe cambiarse de acuerdo con el primer administrador con el nombre de usuario que queremos, el segundo administrador con la contraseña, el tercero podría mantenerse como está porque indica un rol y no olvide eliminar #
Por ejemplo: FuseAdmin = FusePAss, admin
En System.properties
karafName = raíz
Esto indica el nombre que desea darle a la instancia de Karaf.
Podemos nombrarlo como queramos como Cont1.
Asegúrese de que este nombre que proporcione sea un nombre único y que no esté siendo utilizado por otra instancia de Fuse.
En org.ops4j.pax.web.cfg
Org.osgi.service.http.port = 8181
Esta propiedad indica el puerto que se utilizará para acceder a la interfaz basada en navegador HAWTIO proporcionada por Fuse
HAWTIO es una interfaz de navegador incorporada para Fuse que está disponible a partir de 6.0
En org.ops4j.pax.url.mvn.cfg
org.ops4j.pax.url.mvn.localRepository = D: / repositorio
Esta propiedad indica la ruta al repositorio local de nuestro Maven desde donde Fuse instalará sus artefactos.
org.ops4j.pax.url.mvn.settings = D: /Maven/conf/settings.xml
Esta propiedad indica settings.xml que Fuse debe usar para obtener artefactos de Maven.
Configurando Maven
Maven es un requisito previo para instalar Fuse. Si no sabe qué es maven, consultehttp://www.tutorialspoint.com/maven/
Maven es una herramienta construida que se utiliza para construir artefactos Fuse. Fuse las primeras búsquedas de artefactos en el repositorio local de Maven cuando emitimos un comando para instalar el artefacto. Por lo tanto, debemos informar a Fuse dónde está instalado Maven y la ruta del repositorio local de Maven.
Edite $ FUSE_INSTALLATION_DIR / etc /org.ops4j.paxurl.mvn.cfg
Actualice las siguientes dos propiedades:
- org.ops4j.pax.url.mvn.settings = $ M2_HOME / conf /settings.xml
- org.ops4j.pax.url.mvn.localRepository = $ local_repo
Note - Por favor cambie $local_repo con la ruta real de su repositorio local mencionado en Mavens settings.xml.
correr
Después de hacer cambios de configuración básicos, ahora podemos iniciar Fuse. Todos los archivos binarios para trabajar con Fuse se encuentran en$FUSE_INSTALLATION_DIR.
Hay dos formas de iniciar Fuse:
Utilizando ./fuse
Esto le permitirá ver todo el progreso y los registros en la misma ventana en la que inició Fuse.
Le dará la consola Karaf en la misma terminal que se muestra a continuación.
Note- Esto iniciará la fusión en el modo de consola, lo que significa que el proceso de fusión también se detendrá cuando el usuario cierre la sesión o cierre la Terminal, lo que no es deseable en un escenario de producción o desarrollo. Este script debe usarse solo para depurar Fuse.
Utilizando ./start
Esto no mostrará ningún registro en la pantalla, ni siquiera el progreso, pero esto iniciará Fuse en segundo plano y el servicio Fuse no se detendrá cuando el usuario salga de la sesión o cierre la terminal.
En la aplicación del mundo real, se desea este tipo de comportamiento. El fusible debería estar funcionando en segundo plano incluso si cerramos la terminal.
Si desea conectarse a Fuse ejecutándose en segundo plano, puede usar client script que se encuentra en la misma carpeta.
Debería obtener la pantalla como se muestra en la siguiente captura de pantalla.
Salir del script del cliente no detendrá el servicio Fuse. Simplemente cerrará la consola Fuse.
HAWTIO
Fuse también proporciona acceso completo a la GUI mediante FMC (consola de administración de fusibles). Puede encontrar GUI en la siguiente URLhttp://localhost:8181.
Todo lo que hicimos ejecutando comandos también se puede hacer accediendo a esta GUI basada en navegador. Se vuelve extremadamente útil cuando tenemos más de un contenedor y nos estamos ejecutando en un entorno Fabric.