< Volver al curso

Punto de Control 2


En el punto de control 2 vamos a repasar los conceptos teóricos para poder pasar al siguiente nivel y no perderos con definiciones que no acabáis de entender. Ya sé que la teoría es un rollo, pero voy a intentar que no se os atragante con algún que otro dibujito. ¿Os parece?

En este bloque hemos aprendido a estructurar una Mule Application con tal de seguir el estándar definido por Mulesoft, la arquitectura API-Led.

Estructurar una Mule Application

En estas clases hemos aprendido a estructurar una Mule Application de la siguiente forma:

  • Componente APIKit Router para enrutar en la Mule Application a los Flows en base a los métodos definidos en la API Spec . El archivo definido era interface.xml.
  • Desarrollo de los métodos definidos en la API Spec. El archivo definido era implementation.xml.
  • Definición de los elementos que parametrizarán los conectores y propiedades de la Mule Application. El archivo definido era global.xml.

 

Estructurar una Mule Application correctamente facilita el desarrollo y mantenimiento de la misma. Los puntos fuertes de realizar esta estructuración son los siguientes:

  • Encapsular los elementos globales en un archivo de configuración para ubicarlos más rápidamente.
  • Configurar los parámetros globales en un archivo .YAML, para no tener que estar definiendo constantemente nuevos valores en todos los elementos globales. *
  • Ubicar en los directorios correspondientes cada parte de la Mule Application. Por ejemplo, el package con las clases de Java, el RAML con la API Specification, etc.
  • Administrar los metadatos de la Mule Application. El archivo que contiene esta configuración es el application-types.xml.
  • Encontrar las dependencias de la Mule Application en el archivo pom.xml.*
Mis queridos asteriscos

Si os habéis fijado en el listado anterior, hay 2 asteriscos que voy a explicaros en detalle, ya que no se ha dicho en las clases anteriores del módulo.

Cuando se despliega una aplicación en CloudHub, existen una serie de parámetros globales que están reservados por Mulesoft y que no son necesarios definirlos en el archivo .YAML. Os dejo un enlace donde hay una tabla con todos los parámetros reservados.

Por otra parte, el archivo pom.xml contiene todo el listado de dependencias de un proyecto de Mule (las referencias), que están contenidas en librerías java descargadas del repositorio de Maven.

Estas librerías, con formato .jar, las puedes encontrar dentro de las siguientes secciones del proyecto:

 

 

Las librerías se incluyen en el paquete que se genera para desplegarse en Cloudhub como parte de las dependencias del proyecto.

Que se defina correctamente en el archivo pom.xml es importante, ya que es donde está referenciada la ubicación de las librerias, y el worker donde está desplegada la aplicación utilizará los propios recursos que existen en el paquete del proyecto generado, no irá a descargar las librerias en el repositorio de Maven.

Flows, SubFlows y PrivateFlows

En este apartado aprendimos la diferencia entre un Flow, SubFlow y un PrivateFlow. Si queréis refrescar la memoria, podéis acceder a la clase donde se explica, Diferencia entre Flow, SubFlow y Private Flow

Colas síncronas y asíncronas

Con el componente Flow Reference conseguíamos referenciar a otro Flow, SubFlow o PrivateFlow, el problema que teníamos era el siguiente.

¿Cómo hacemos para que se ejecuten al mismo tiempo 2 Flows?

Con el componente que referenciaba a otro Flow, teníamos que esperar su respuesta, por lo que para poder llamar a otro Flow y seguir ejecutando los componentes del Flow que realizaba esta llamada, se introduce el concepto de colas síncronas y asíncronas.

La principal diferencia entre un Flow Reference y un VM Connector es la posibilidad de realizar llamadas a un Flow de forma asíncrona y no tener que esperar a que finalice ese evento, para continuar con los siguientes componentes del Flow que ha realizado la llamada.

Os enseñé el siguiente ejemplo gráfico para que os hicieseis una idea, igualmente, si no os acordáis, podéis visitar la clase donde se habla de ello, Pasar eventos con colas síncronas y asíncronas.

 

Espero que os haya gustado este bloque y el nivel 3 de Mulesoft. Para finalizar, os dejo un pequeño test del punto de control 2 para validar vuestros conocimientos y poder seguir dándole caña en el siguiente nivel.

Si quieres saber más o necesitas ayuda personalizada, puedes suscribirte a mis servicios en el siguiente enlace

➡️ SUSCRIBIRSE A INGENIERO BINARIO ⬅️


¡Ponte a prueba con el test del punto de control 2!

 

Solamente sabréis todas las respuestas correctas si sacáis un 10.

Vamos a por la nota perfecta ¿no?

Mucha suerte, aunque no deberíais necesitarla 🙂

Nombre
Introduce tu correo para que puedas ver el resultado de tu prueba

 


Clases del curso


< Volver al curso