SCI + Enterprise messaging, lanzando mensajes al aire (Parte 2)
Llegamos a la segunda parte, en esta entrada configuraremos el servicio de enterprise messaging y mandaremos nuestro primer mensaje mediante SAP BTP Integration.
Si te perdiste la primera parte, aquí la tienes:
Lo primero que haremos es crear la instancia de enterprise messaging. Posteriormente accederemos a la configuración para crear un nuevo mensaje. Por último crearemos un iFlow que lanzara un mensaje a la cola.
Configurando Enterprise Messaging
Una vez tenemos nuestra instancia apunto ( entrada parte 1 ) podemos acceder a la configuración del servicio mediante la opción «View Dashboard»

Una vez accedemos al dashboard podremos crear las colas de mensajes y los «topics». (Como comente en la entrada anterior, esta vista esta fuera de mantenimiento, pero es la que nos dan con la cuenta trial).
Lo primero que crearemos es la cola de mensajes, para luego assignar el «tema», hacemos un momento memoria del esquema de envio de mensajes que seguiremos:

Aunque parezca empezar la casa por el tejado, vamos a la opción queues y añadimos pulsamos en «Create».

En el Wizard ponemos un nombre, en mi caso pondre «EmpReceiver1» y pulsamos create.
Una vez creada la cola, es momento de crear el tema y asignarle una cola. Para ello vamos a «Queue Subscriptions» y pulsamos el botón «Create»:

En mi caso, pondré como nombre de Topic «EmployeeChanges». Le damos a crear y ya tenemos nuestro servicio apunto.

Creando un Iflow para lanzar mensajes des de SCI
Ahora que ya tenemos el servicio apunto, vamos a crear un pequeño Iflow que nos permitirá lanzar un mensaje a las colas. Este punto, que sera a modo ejemplo, lo podríamos hacer directamente des de Postman, pero es la excusa perfecta para mostrar lo fácil que es crear la conexión con el servicio de enterprise messaging.
Otro punto importante es que el envio del mensaje lo realizaremos con un adaptador HTTP pero el receptor capturara los mensajes mediante un adaptador AMQP para que veáis varias maneras de utilizar este servicio.
Una vez explicada la letra pequeña, vamos a construir nuestro Iflow. Primero, accedemos a SCP Integration y creamos un nuevo package y un nuevo evento. En mi caso, no le he dado muchas vueltas, únicamente le diré «em».
Como contenido este sera nuestro iFlow. Un conten modifier para darle contenido al mensaje y un request Reply para enviar el mensaje:

Si entramos en detalle, este sera el contenido de cada uno de los pasos:
- Content modifier: Añadiremos en la cabecera los parámetros «Content-Type» y «x-qos» y como body el contenido que queramos, en mi caso en formato XML.


- Adaptador HTTP: El adaptador sera del tipo HTTP con los datos que extraeremos de nuestro servicio de enterprise messaging.

A tener en cuenta:
- Las credenciales y la URL la obtendremos de la service key creada en el post de preparación.


- A la URL que nos da la service key con el parámetro «uri» concatenaremos el siguientepath, donde añadiremos el id del topic configurado anteriormente. Una cosa importante, seleccionaremos los datos del protocolo «httprest».
/messagingrest/v1/topics/EmployeeChanges/messages
- Las credenciales y la url para la generación del token con oauth2 lo añadiremos como security material deployando las credenciales:


Ya tenemos todo apunto para lanzar el mensaje. Solo falta hacer deploy del iflow y se mandara el mensaje.
Como vemos en el monitor, se ha ejectuado nuestro Iflow.


Si vamos de nuevo al servicio de enterprise messaging podemos ver que hay en la cosa mensajes pendientes, ya que no tenemos suscrito ningun receptor.

En mi caso, como podéis ver, he creado dos colas que apuntan al mismo «Topic» y ya tenia un una de las colas un mensaje añadido, por eso vemos estos resultados en el log.
Con esta entrada ya tenemos el servicio de mensajes funcionando y hemos enviado nuestros primeros mensajes a la cola.
En la próxima entrada recibiremos con dos receivers distintos, uno sera un microservicio en SCP y el otro un iFlow que estará escuchando la cola.