Mi primera aplicación MuleSoft

Francisco Javier Toscano Lopez
Another Integration Blog
6 min readJul 13, 2021

Buenas después de unas mini vacaciones vuelvo a la carga con esta primera serie de artículos para explicar desde un punto de vista muy básico como se puede empezar a desarrollar aplicaciones MuleSoft.

En este caso voy a explicar como crear una aplicación MuleSoft con dos de los componentes que más vais a utilizar a lo largo de vuestra experiencia con MuleSoft.

  1. Listener: Este componente crea el Listener o escuchador que a través de un puerto configurado en la aplicación mulesfot proporciona el mecanismo de entrada de información a la aplicación MuleSoft desde el exterior.
  2. Transform Message: este componente es capaz de transformar el objeto Message que es el centro de todo flujo creado dentro de una aplicación MuleSoft.

APLICACIÓN MULESOFT

Una aplicación MuleSoft es un proyecto basado en Java, que puede contener API´s , Servicios Rest, SOAP, ETL´s (Procesos Batch).

En nuestro caso y sobre lo que nos voy a centrar, será en servicios síncronos, que se encuentran alojados en lo que se denomina Flow, que no dejan de ser flujos en los que centraremos cada uno de las API que podamos desarrollar dentro de una misma aplicación MuleSoft.

CREACIÓN DE UNA APLICACIÓN MULESOFT

Para ello lo primero que tenemos que hacer es abrir nuestro Anypoint Studio (AS) y acceder al menú File -> New Project.

Lo siguiente es poner un nombre a nuestra aplicación, en mi caso “firstapp”

El resto de opciones las explicaré más adelante, ya que es necesario saber más sobre RAML que es el lenguaje de declaración y diseño de API´s que utiliza MuleSoft para diseñar el esqueleto de nuestras API´s.

Pulsamos el botón Finish y nos encontramos con lo siguiente

  1. Como todo buen proyecto Java nos encontramos con el panel Package Explorer donde podremos acceder a cualquier elemento que componen nuestro proyecto MuleSoft. Ficheros de configuracion Xml, componentes, librerías, ficheros de propiedades, etc.
  2. El panel Canvas, donde podremos crear con los componentes MuleSoft nuestras aplicaciones.
  3. El panel de componentes, aquí es donde se encuentran alojados toda la magia que hace que podamos desarrollar nuestras API´s en tiempo record.
  4. El panel de configuración de los componentes, donde aparecerán todas las opciones de cada unos de los componentes sobre lo que nos posicionamos en el panel Canvas.

No quiero entrar en más detalle sobre los paneles y diferentes configuraciones que podemos tener en AS, porque para ello publicaré otros artículos mucho más centrados en esta temática.

PASAMOS A LA ACCIÓN COMPONENTE LISTENER

Lo primero que vamos a hacer es crear en punto de entrada para que nuestro servicio pueda recibir datos del exterior, es decir Postman o cualquiera que quiera comunicarse con nuestro servicio.

Para ello solo tenemos que pulsar sobre el panel de componentes seleccionar el componente HTTP, y dentro de este el componente Listener

Pulsando sobre componente Listener y arrastrándolo hasta el panel Canvas de nuestra “fisrtapp” nos aparecerá lo siguiente.

Esto que visualmente vemos como un conjunto ordenado de elementos en pantalla, es en realidad XML, que si pulsamos sobre la pestaña Configuration XML podremos verlo.

Pasamos a configurar el componente listener, pulsamos sobre el componente en el Canvas,y nos vamos al panel 4 Mule Properties y haremos lo siguiente:

  • Apartado General->Basic Setting -> pulsamos sobre el icono + y nos abrirá un panel donde configuraremos el los aspectos generales.

Aquí como podemos ver se configura la entrada a nuestra API, con los siguientes parámetros:

  • Protocolo HTTP
  • Host: Localhost, porque estamos trabajando en nuestra máquina local.
  • Port: el puesto porque el que queremos que nos llamen.

Finalmente pulsamos OK

Con esto hemos configurado los aspectos generales del listener, esta configuración podrá ser compartida por otros listener, siempre y cuando el path que se configure a nivel de Listener no sean iguales.

Ahora pasamos a indicar el path del listener, para ello nos vamos de nuevo al panel 4 y ponemos en el campo General -> Path/holamundo

TRANSFORMAMOS EL MENSAJE DE RESPUESTA

Los Flow en las aplicaciones MuleSoft deben de ser entendidos como lo que son, flujos por lo que el mensaje que entra va evolucionando por cada unos de los componentes que se encuentran en dicho flujo y finalmente sale al final del flujo.

En nuestro caso solo vamos a trasformar el contenido del mensaje que entra o payload en otra cosa.Para ello vamos a utilizar el componente Transform Message

Pulsamos sobre el panel Mule Palette -> Core y buscamos el componente Transform Message, finalmente lo arrastramos al Canvas y lo ponemos después del listener.

El componente Transform Message sirve para hacer transformaciones sobre el objeto Message que es el que contiene toda la información de la petición HTTP que se va a realizar dentro de este flujo. Y para ello utiliza un lenguaje que se llama DataWeave en su versión 2.

Aquí os dejo algunos enlaces de tutoriales sobre este lenguaje:

Y finalmente un enlace para un editor online de DW, para poder probar nuestros script DW sin tener que hacerlo sobre el AS que siempre es mas tedioso.

Volviendo a nuestro ejemplo si pulsamos sobre el componente Transform Message y nos vamos a nuestro panel 4 Mule Properties, veremos un editor de Dataweave para poder hacer la transformación que queremos que simplemente será devolver un JSON son la siguiente estructura, {“hola” : “caracola”}

Esto lo que hace es que independientemente de lo que yo mande al servicio este me va a devolver siempre lo mismo, un JSON como el que se ve en la imagen.

HORA DE PROBAR

Bueno pues ahora lo único que tenemos que hacer es guardar los cambios y arrancar la aplicación MuleSoft, para ello nos ponemos sobre el canvas botón derecho del ratón y pulsamos sobre Run project, esto desencadena una serie de pasos que podrás ver en el panel 4 en la pestaña de Console y que finalizan con el siguiente mensaje.

Finalmente pasamos a hacer la prueba con postman, por ejemplo con la siguiente configuración:

Como podemos comprobar le ponemos cualquier cosa en la entrada, que siempre nos va a devolver lo que hemos configurado en nuestro Transform Message.

En con esto y un bizcocho ya tenemos nuestra primera aplicación MuleSoft desarrollada.

Espero que os guste.

Un saludo.

--

--