Este tutorial te enseñará a integrar TIBCO ActiveMatrix BusinessWorks Plug-in para Apache Kafka con TIBCO ActiveMatrix BusinessWorks.
También se mostrará que componentes son necesarios para la configuración, qué pasos hay que seguir para instalar y configurar el entorno, y qué opciones posteriores tenemos para crear y lanzar una aplicación. Finalmente, pondremos a prueba toda la ejecución del flujo de mensajes.
Seguiremos el siguiente índice:
|
1. Integración Total
Con TIBCO Software puedes integrar prácticamente cualquier endpoint de tu ecosistema TI con una amplia variedad de conectores comerciales o desarrollados de forma comunitaria para paquetes y plataformas empresariales, así como con tecnologías heredadas. TIBCO ofrece más de 200 conectores compatibles con las capacidades de integración de TIBCO Cloud Integration.
El amplio portfolio de conectores de TIBCO te permite centrarte más en desarrollar lógica empresarial y menos en los detalles de conectividad.
1.1 Componentes necesarios para la configuración
- TIBCO ActiveMatrix BusinessWorks [Ver. 6.7.0/6.5.1]: Descargar
- TIBCO ActiveMatrix BusinessWorks™ es la plataforma de integración principal de TIBCO. Permite que las organizaciones creen y gestionen servicios, y capturen y publiquen eventos de aplicaciones y tecnologías tanto internas como externas. Los desarrolladores pueden fomentar, y probar rápida y gráficamente los procesos en un IDE sin código y basado en estándares. Después despliegan estos procesos en una arquitectura fiable, altamente disponible y escalable para ofrecer apoyo a aplicaciones decisivas.
- Apache Kafka [Ver. 2.6.0]: Descargar:Mac Una plataforma de streaming distribuida, publicada por la Apache Foundation (véase https://kafka.apache.org/).
- TIBCO ActiveMatrix BusinessWorks Plug-in para Apache Kafka [Ver.6.4.1] Descargar TIBCO ActiveMatrix BusinessWorks Plug-in para Apache Kafka integra Apache Kafka con TIBCO ActiveMatrix BusinessWorks. Satisface la necesidad del cliente de TIBCO ActiveMatrix BusinessWorks que busca una manera intuitiva de integrar con Apache Kafka y así crear productores y consumidores, enviar mensajes, y llevar a cabo operaciones de envío y de recepción de mensajes.
- TIBCO Messaging-Schema Repo para Apache Kafka [Ver. 1.2.0]: Descarga:Mac Un componente de TIBCO(R) Messaging para gestionar esquemas de Apache Avro.
1.2. Apache Kafka Plug-in Palette
Puedes emplear las actividades del palette para crear productores y consumidores, y para enviar y recibir mensajes.
- Kafka Send Message Activity:
Esta actividad envía mensajes al consumidor de Kafka. Funciona como un productor de Kafka que envía mensajes a un hilo específico. Los consumidores pueden sacar el mensaje de dichos hilos.
- Kafka Receive Message Activity:
Esta actividad inicia el proceso de ejecución de recepción de un mensaje de Kafka.
- Avro Schema Registry:
Usamos el esquema Avro con o sin el registro para configurar actividades de envío y recepción, para a su vez usar el esquema Avro como formato de mensaje.
- Kafka Transactions:
Usamos Kafka Transactions para apoyar semánticas de «solo una vez» y para el API de Kafka Transaction.
- Kafka Get Messages Activity:
Usamos esta actividad para consumir mensajes de hilos de Kafka. Esta actividad también te permite ajustar el offset de la partición al principio, final o a un valor personalizado.
2. Visión general de la estructura
El siguiente diagrama muestra la relación entre Apache Kafka Server, TIBCO ActiveMatrix BusinessWorksTM Plug-in para Apache Kafka, y TIBCO ActiveMatrix BusinessWorksTM.
La lista describe la relación entre los distintos productos:
- TIBCO ActiveMatrix BusinessWorksTM Plug-in para Apache Kafka se comunica con la instancia del servidor de Kafka.
- TIBCO ActiveMatrix BusinessWorksTM Plug-in para Apache Kafka se enchufa a TIBCO ActiveMatrix BusinessWorksTM y se conecta a la instancia del servidor de Kafka.
- TIBCO ActiveMatrix BusinessWorksTM es un paquete de productos de integración fácil de usar para aplicaciones de empresa.
- TIBCO Business StudioTM es la interfaz gráfica de usuario (GUI) que emplea TIBCO ActiveMatrix BusinessWorksTM y el plug-in para los procesos de empresa de diseño. También es el motor de proceso que se emplea para ejecutarlos.
- TIBCO Enterprise AdministratorTM ofrece una interfaz administrativa y centralizada para gestionar y supervisar las aplicaciones plug-in desplegadas en una empresa.
3. Resumen de instalación de TIBCO ActiveMatrix BusinessWorksTM Plug-in
Esta sección está pensada para que los usuarios se inicien con ActiveMatrix BusinessWorks™ Plug-in para en TIBCO Business Studio. Puedes instalar TIBCO ActiveMatrix BusinessWorks™ Plug-in para Apache Kafka desde TIBCO Universal Installer o desde una página de actualización.
3.1. Instalación con Update Site
Puedes instalar el plug-in desde TIBCO Business Studio™ a través de una página de actualización pública de TIBCO o a través de una página de actualización local gestionada por tu organización.
- Requisitos de instalación:
El paquete de software debe estar disponible en la página de actualización:
http://update.tibco.com/eclipse/bw/version
* La «version» al final de la dirección indica la versión de BusinessWorks que tienes.
Normalmente, el paquete tiene el formato: <plugin_name>_<version>_p2installer.zip.
- Procedimiento de instalación:
1.Inicia TIBCO Business Studio™ si no lo has hecho ya.
- En Microsoft Windows, ve a Start > All Programs > TIBCO > TIBCO_HOME > TIBCO Business Studio version_number > Studio for Designers.
- En Linux o Mac OS, ejecuta el ejecutable de TIBCO Business StudioTM ubicado en el directorio TIBCO_HOME/studio/version_number/eclipse.
2. Desde el menú, ve a Help > Install New Software para abrir el Eclipse Update Manager.
3. Introduce la URL de la página de actualización público, http://update.tibco.com/eclipse/bw/<version>, en el campo «Work with» del diálogo de instalación.
ej. Página de actualización de TIBCO BusinessWorks – http://update.tibco.com/eclipse/bw/6.5/
Puedes guardar la URL en una lista de páginas de software disponibles a través del menú de TIBCO Business Studio™.
Window > Preferences > Install/Update > Available Software Sites.
4. Selecciona el plug-in que quieres instalar de la lista de plug-ins disponibles y pulsa en Next.
Puedes seleccionar más de un plug-in de la lista para instalarlos al mismo tiempo.
(Opcional) También puedes encontrar más software en «Available Software Sites».
5. Selecciona los componentes que quieres instalar del diálogo de instalación. Pulsa Next.
6. Pulsa Next.
7. Revisa las licencias en el diálogo Review Licenses y pulsa sobre I accept the terms of the license agreement (acepto los términos del acuerdo de licencia).
8. Pulsa Finish para iniciar la instalación.
- A continuación:
Reinicia TIBCO Business Studio, si es necesario, tras instalar el software.
3.2. Cómo usar TIBCO Universal Installer
TIBCO ActiveMatrix BusinessWorks™ Plug-in para Apache Kafka – La edición comunitaria ya está disponible.
- El plug-in es compatible en estos momentos con:
TIBCO ActiveMatrix BusinessWorks™ 6.3.4 – 6.3.5 &
TIBCO BusinessWorks™ Container Edition 2.2.x - Puedes descargar el plug-in desde aquí.
- Instala el plug-in en un entorno de instalación existente que ya tenga TIBCO ActiveMatrix BusinessWorks instalado.
- Nos referimos al entorno de instalación de TIBCO ActiveMatrix BusinessWorksTM como TIBCO_HOME.
Modos de instalación:
Puedes ejecutar el TIBCO Universal Installer en GUI, en una consola, o en modo silencioso.
Cada modo es compatible con todas las plataformas.
- Modo GUI: (solo veremos esta opción)
En el modo GUI, el instalador muestra paneles de los que puedes seleccionar un producto, una ubicación de producto, etc. Haz doble-clic sobre el fichero ejecutable para invocar el instalador en modo GUI.
- Modo consola: (fuera del alcance de este artículo)
En el modo consola puedes ejecutar el instalador en una línea de comando. Esto es útil si tu máquina no tiene un entorno GUI.
- Modo silencioso: (fuera del alcance de este artículo)
En el modo silencioso el instalador puede instalar el producto pedirte información. El instalador usa una configuración por defecto o personalizada almacenada en un fichero de respuesta.
Instalación en modo GUI:
En el modo GUI, el instalador te pide información sobre el entorno y el perfil de instalación, y otra información relacionada.
Procedimiento de instalación:
1.Descarga el paquete de instalación de la página de TIBCO eDelivery:
* Atención: necesitaras un nombre de usuario Tibco y una contraseña para acceder a esta página.
2. Extrae el contenido del paquete de instalación a un directorio temporal.
Usa el paquete extraído para iniciar la instalación de una de las siguientes maneras:
- En Windows, haz doble clic en TIBCOUniversalInstaller-x86-64.exe.
- En Linux, ejecuta TIBCOUniversalInstaller-platform_acronym.bin.
- En Mac, haz doble clic en TIBCOUniversalInstaller-mac.command.
3. Pulsa Next en la pantalla «Welcome».
4. Lee el acuerdo de licencia en la pantalla de «License Agreement» y pulsa en
«I accept the terms of the license agreement» (acepto los términos del acuerdo de licencia) y pulsa en Next.
5. Pulsa en «Use an existing TIBCO_HOME» para seleccionar
un entorno de instalación existente en el que instalar TIBCO ActiveMatrix BusinessWorks. Pulsa Next.
6. Selecciona el perfil de instalación en la pantalla «Installation Profile Selection» para especificar los componentes de instalación que deseas instalar. Asegúrate de que has seleccionado las opciones Apache Kafka Design y Runtime.
O selecciona Customize Installation para elegir tú los componentes de instalación. Pulsa Next.
7. Revisa la lista de productos seleccionados para la instalación en la pantalla «Pre-Install Summary». Pulsa en Next & Install.
8. Revisa la lista de información de instalación en la pantalla «Post Install Summary».
9. Pulsa en Finish para completar el proceso de instalación y salir del instalador.
Registro de instalación:
Si tienes problemas con la instalación, asegúrate primero de que tu sistema cumple todos los requisitos necesarios. A continuación, comprueba el registro de instalación para ver los posibles problemas.
El fichero de registro de instalación, tibco_universal_installer.username_install.log, está disponible en las siguientes ubicaciones:
- En Microsoft Windows: C:\Users\username\.TIBCO\install_timestamp
- On Linux: user_home_dir/.TIBCO/install_timestamp
- En Mac OS: Users/user_home_dir/.TIBCO/install_timestamp
El fichero de registro de instalación captura la siguiente información:
- La información detallada sobre el uso que ha invocado el instalador, el hostname, los detalles del sistema operativo, y una lista con todos los conjuntos instalados.
- Especifica la opción -V logFile=”myLogFile” cuando ejecutes el instalador si deseas cambiar la ubicación del archivo de registro de instalación.
3.3. E2E Process Flow
1.Crear un proyecto:
- Abre TIBCO Businessworks Studio y pulsa en New > BusinessWorks Application Module.
Crear un proceso:
Para crear un flujo de proceso con actividades de Kafka de un palette, tal y como muestra la imagen.
2. Crear un recurso de Kafka Connection:
- Rellena los detalles de Bootstrap Servers en el recurso compartido de Kafka y pulsa en «Validate Bootstrap Servers» para confirmar que la conexión con Kafka Broker Server ha sido exitosa.
Atención: asegúrate de que Kafka Zookeeper y Broker Server están ejecutados en consolas de segundo plano.
3. Configurar un recurso de actividad Publish:
- Finalmente, asegúrate de que las Kafka Activities hacen referencia al mismo «recurso compartido de Kafka» que configuramos en el paso anterior.
- Rellena un hilo con «test» y pon un mensaje de entrada como «¡Hola, mundo Kafka!» en la actividad KafkaSendMessage.
4. Configurar un recurso de actividad Subscribe:
5. Configurar la actividad de registro:
- Registra el mensaje entrante de la actividad KafkaGetMessage.
3.4. Pasos para probar E2E Process Flow
Sigue los siguientes pasos:
1.Ejecuta el proyecto BW:
- Inicia el proceso en modo debug.
2. Publica un mensaje:
- La actividad KafkaSendMessage publica un mensaje al hilo ‘test’.
3. Suscríbete a un mensaje:
- La actividad KafkaGetMessage consume el mismo mensaje que, finalmente, quedará registrado en la consola a través de la actividad de registro.
- Además, veremos el mensaje publicado en el servidor de Kafka si ejecutamos el siguiente comando:
«bin/kafka-console-consumer.sh –bootstrap-server localhost:9092 –topic test –from-beginning»
17:43:04.553 INFO [main] com.tibco.thor.frwk - TIBCO ActiveMatrix BusinessWorks version 6.5.1, build V9, 2019-02-06 17:43:18.638 INFO [main] com.tibco.bw.frwk.engine.BWEngine - TIBCO-BW-FRWK-300002: BW Engine [Main] iniciado con éxito. 17:43:18.725 INFO [Framework Event Dispatcher: Equinox Container: a0e5d296-d967-001b-10f5-bf94366cd4af] com.tibco.thor.frwk.Deployer - TIBCO-THOR-FRWK-300001: Started OSGi Framework of AppNode [BWEclipseAppNode] in AppSpace [BWEclipseAppSpace] of Domain [BWEclipseDomain] 17:43:18.891 INFO [Framework Event Dispatcher: Equinox Container: a0e5d296-d967-001b-10f5-bf94366cd4af] com.tibco.thor.frwk.Deployer - TIBCO-THOR-FRWK-300018: Deploying BW Application [Kafka_GeneralSample.application:1.0]. 17:43:22.046 INFO [Job_Executor0] com.tibco.thor.frwk.Application - TIBCO-THOR-FRWK-300021: All Application dependencies are resolved for Application [Kafka_GeneralSample.application:1.0] log4j:WARN No appenders could be found for logger (org.apache.kafka.clients.CommonClientConfigs). log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 17:43:25.020 INFO [Thread-18] com.tibco.thor.frwk.Application - TIBCO-THOR-FRWK-300006: Started BW Application [Kafka_GeneralSample.application:1.0] 17:43:45.873 INFO [bwEngThread:In-Memory Process Worker-3]- Received message from GetMessage Activity : <?xml version="1.0" encoding="UTF-8"?><ns0:KafkaGetMessagesOutput xmlns:ns0="http://www.tibco.com/namespaces/tnt/plugins/getmessages+-bc77-+KafkaGetMessagesOutput"><Records><topic>getmessage</topic><partition>0</partition><offset>0</offset><message>Hello Kafka World!!</message></Records></ns0:KafkaGetMessagesOutput>
4. Conclusiones sobre Apache Kafka con TIBCO AMX BW6.x
En este artículo hemos:
- instalado y configurado el plugin TIBCO BW Kafka con TIBCO AMX BW6.x,
- desarrollado un proceso BW para publicar y suscribir un mensaje al Kafka Topic «test»,
- creado un cliente consumidor que recibe un determinado hilo en Apache Kafka,
- ejecutado un proceso BW, que primero publicó un mensaje en el hilo de Kafka («test») a través de una actividad de Kafka, «Publish»,
- finalmente, hemos recibido el mensaje del consumidor de Kafka, quien lo recibió del mismo hilo «test».