Cómo crear un conector personalizado en Mulesoft

February 01, 2023

Tags: Tecnologías, Staff Augmentation

mulesoft

 

Mulesoft es una de las herramientas tecnológicas más útiles del mercado en cuanto a integración de datos y conectores se trata. Es capaz de integrar varias aplicaciones web y softwares en un solo lugar, incluso ofrece la posibilidad de conectores personalizados trabajando con Anypoint Connectors.

 

Anypoint Connectors es una función de Mulesoft que proporciona a sus usuarios la posibilidad de crear una conexión entre un flujo Mule y un sistema externo, como por ejemplo con una fuente de contenido o base de datos. Además de esto, en paralelo a los conectares ya listos que tiene disponibles para usar, se puede crear un personalizado que mejor se adapte a las necesidades del proyecto.

 

Puede que en ocasiones no se consiga el conector correcto para integrar los sistemas o el que termine siendo el elegido eventualmente no tenga las funcionalidades necesarias para mantenerse con el paso del tiempo, por lo que se necesite cambiarlo y así tener que trabajar extra.

 

 

mulesoft

 

Crear conector personalizado en Mulesoft

 

Antes de explicar los pasos para la creación, se debe estar familiarizado con Anypoint Studio 7+ y tener instaladas las versiones de JDK, Anypoint Studio 7+ y Maven.

 

Ahora sí, para crear el conector se debe ejecutar el comando a continuación en el símbolo donde se quiera crear el proyecto. Debido a que no puede hacerse desde Anypoint Studio, se debe utilizar un arquetipo de Maven.

 

Paso 1: Abra el símbolo del sistema/git bash donde desea crear el proyecto y ejecute el siguiente comando como se muestra a continuación:

 

mvn org.mule.extensions:mule-extensions-archetype-maven-plugin:generate

 

Paso 2: Configuración

 

Luego de ejecutado el comando anterior, le pedirá configurar lo siguiente:

 

  • Nombre de la extensión
  • ID de grupo de la extensión
  • Id. de artefacto de la extensión
  • Versión de la extensión
  • Paquete principal de la extensión

 

Estos datos deben proporcionarse de esta manera: 

 

  • Nombre de la extensión: DemoConnector
  • ID de grupo de la extensión: com.Demo.muleConnector
  • Artefacto de la extensión: mulesoft-demo-connector
  • Versión de la extensión: 1.0.0
  • Paquete principal de la extensión: org.mule.extension.Demo

 

Paso 3: Importar

 

En este paso, se debe importar el proyecto a su lugar de trabajo.

 

Paso 4: Instalar el proyecto

 

Luego de que se importó el proyecto, ve al espacio de trabajo y ejecuta este comando para construir el jar: 

 

mvn clean install –DskipTests

 

Paso 5: Actualizar las dependencias


El usuario ahora debe dirigirse a la aplicación Mule donde se instalará el conector y actualizar la dependencia de la siguiente manera: 

 

<dependency>
<groupId> com.Demo.muleConnector</groupId>    
<artifactId> mulesoft-demo-connector</artifactId>
<version>1.0.0</version>     
<classifier>mule-plugin</classifier>
</dependency>

 

Paso 6: Paleta Mule

 

Luego de agregar la dependencia, se hace clic en guardar para que el conector se agregue a la paleta Mule. Así: 

 

mulesoft

 

Paso 7: Instalar conector

 

El siguiente paso consiste en agregar la versión del conector en la aplicación pom.xml donde se desea instalar el conector y guardarlo para que se actualice y se pueda mostrar de la siguiente manera:

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.Demo.muleConnector</groupId>
<artifactId>mulesoft-demo-connector</artifactId>
<version>1.0.1 </version>
<packaging>mule-extension</packaging>
<name>Demo Extension-Project</name>
<parent>
<groupId>org.mule.extensions</groupId>
<artifactId>mule-modules-parent</artifactId>
<version>1.1.3</version>
</parent>
</project>


Paso 8: Configuración de conector personalizada

 

Para crear configuración en el conector personalizado se deben seguir los siguientes pasos:

 

/**
* Example of an operation that uses the configuration and a connection instance to perform some action.
*/
@MediaType(value = ANY, strict = false)
public String retrieveInfo(@Config DemoConfiguration configuration, @Connection DemoConnection connection){
return "Using Configuration [" + configuration.getConfigId() + "] with Connection id [" + connection.getId() + "]";
}

 

Paso 9: Creación de configuración y las clases de conexión

 

Existe un campo para la configuración y dos campos para las clases de conexión, y se pueden crear de la siguiente manera:

 

Configuración:

 

/**
* This class represents an extension configuration, values set in this class are commonly used across multiple
* operations since they represent something core from the extension.
*/
@Operations(DemoOperations.class)
@ConnectionProviders(DemoConnectionProvider.class)
public class DemoConfiguration {
@Parameter
private String configId;
public String getConfigId(){
return configId;
}
}

 

Clases de conexión:

 

/**
* A parameter that is always required to be configured.
*/
@Parameter
private String requiredParameter;
/**
* A parameter that is not required to be configured by the user.
*/
@DisplayName("Friendly Name")
@Parameter
@Optional(defaultValue = "100")
private int optionalParameter;

 

De esta manera es posible crear un conector personalizado con Mulesoft.

 

Te recomendamos en video