< Volver al curso

1. Consumir un servicio web de Anypoint Exchange


En la clase de hoy vamos a aprender a cómo consumir un servicio web de Anypoint Exchange, de regalo también se introducirá nuestro primer SubFlow para poder manipular información del evento de Mule con un Flow Reference.

Si no recordáis lo que era el componente Flow Reference os dejo la clase 15. Enrutar Flows entre Mule App y API Spec en Anypoint Studio donde está explicado.

¿Cómo consumir un servicio web de Anypoint Exchange?

Para poder consumir un servicio web de Anypoint Exchange desde Anypoint Studio o el Flow Designer es necesario añadir el módulo que contiene esta funcionalidad.

Los módulos son extensiones de Mule que nos proporcionan funcionalidades extra de los componentes que podemos encontrar en la Mule Palette por defecto. Un ejemplo claro, que se ha utilizado mucho en el curso, es realizar un SELECT a una base de datos MySQL, que es una de las operaciones que tiene el módulo Database.

El módulo Database es de tipo conector. Existen muchos conectores de este tipo, y estos, nos proporcionan conexión con servidores externos como Salesforce, SAP, Slack, entre otros que podéis consultar en el siguiente enlace.

En esta práctica, sin embargo, utilizaremos una API publicada en AnyPoint Exchange como conector.

Esto es posible gracias a REST Connect, que nos brindará la posibilidad de crear un conector y que esta API pueda transformarse en un servicio web, utilizando todos sus métodos sin necesidad de implementarlos de nuevo en nuestra Mule Application (como veréis en la clase), y así, se podrá consumir el servicio web de Anypoint Exchange.

REST Connect

Como mencionaba, REST Connect es una herramienta que genera conectores para RESTful APIs (tipos de APIs con las que trabajamos en todas las clases).

Esta herramienta está almacenada en Anypoint Exchange y se invoca automáticamente cuando una API se añade en esta sección.

A partir de la generación automática del conector se podrán utilizar desde Anypoint Studio o desde Anypoint Platform en la sección Flow Designer.

En esta imagen se muestra donde puedes descargar el conector.

A pesar de eso, desde Anypoint Studio puedes directamente importarlo desde la sección «Search in Exchange» de la Mule Palette, en la clase utilizamos este método que es mucho más rápido y práctico.

Diferencia entre Flow y SubFlow

Por último, se introducirá por primera vez el componente SubFlow para almacenar el valor de un atributo en una variable.

Los SubFlows son como los Flows, ya que pueden contener componentes y procesar un evento de Mule.

Una de las principales limitaciones es que no puede contener componentes de tipo Event Source, por ejemplo un Listener.  Esto hará que siempre dependa de un Flow para poder ser referenciado, ya que el inicio de un evento nunca será mediante un SubFlow.

Hay otro tipo de limitaciones, como no permitir la manipulación de errores (Error Handling), que veremos más adelante.

Tiene limitaciones, pero ofrece mejor rendimiento que la ejecución del evento de un Flow, por tanto, se utiliza mucho para reutilizar su lógica a lo largo del desarrollo de una Mule Application.

En definitiva, podríamos comparar un SubFlow a un método de programación, en el que se le llama mediante el componente Flow Reference desde un Flow, aunque también es posible que un SubFlow llame a otro SubFlow.

 

Sin más, vamos a consumir un servicio web de Anypoint Exchange ¡dentro vídeo!


El siguiente contenido solo está disponible para los miembros PRO.
Únete ahora

Clases del curso


< Volver al curso