Seidor
trabajadora presentando un informe en una reunión

13 de febrero de 2023

¿Qué es MuleSoft? ¿Componentes de Anypoint Platform?

Es la pregunta que todos nos hacemos al escuchar este palabro, en este artículo voy a analizar las principales características y ventajas de MuleSoft, el producto de integración de Salesforce, pero para poder entender qué es MuleSoft, debemos primero profundizar en la problemática que trata de solucionar esta herramienta, y solo de esta manera podremos conocer su verdadero significado.

Situación actual

Vivimos en un entorno plagado de diferentes herramientas y decenas de ellas tienen incluso el mismo propósito, y a su vez, esperamos como consumidores que todas ellas estén perfectamente integradas independientemente de la tecnología que utilicen por detrás.

Además, desde NTS como proveedores Salesforce, nos resulta muy habitual encontrarnos con proyectos en los que múltiples sistemas se encuentran integrados entre ellos, y aun así, aunque se nos presente un proyecto con una integración verdaderamente simple, es más que probable que debamos favorecer ese escalado a futuro ya que se irán incorporando progresivamente nuevas plataformas a integrar.

Actualmente, la manera más común de diseñar una integración entre diferentes sistemas es el planteamiento de una integración point-to-point. En ella, un sistema está conectado a otro por medio de código personalizado y a su vez, este otro estará conectado con otro, y este último seguramente es posible que esté conectado con otros dos sistemas más, que se deberán comunicar con otro para otros procesos totalmente diferentes, acabando finalmente con la típica arquitectura espagueti.

Una red gigantesca de integraciones punto a punto altamente acopladas en la que cualquier mínimo cambio en una de ellas implica un gran coste asociado de cambios en toda la red.

Se convierte en un modelo difícilmente escalable, reutilizable y mantenible en el tiempo, y es aquí, donde tiene sentido hacernos la pregunta. ¿Qué es MuleSoft?

iconos de redes sociales i aplicaciones conectados entre si

¿Qué es MuleSoft?

MuleSoft es una compañía de software de integración líder en el mercado, adquirida por Salesforce en marzo de 2018 por 6.500 millones de dólares, que ofrece soluciones para la integración entre sistemas. Su producto estrella es Anypoint Platform, una solución Integration Platform-as-a-Service (iPaaS) reconocida como líder en 2019 en dos Cuadrantes Mágicos de Gartner:

  • Enterprise Integration Platform as a Service (iPaaS)
  • Full Life Cycle API Management
matriz bcg de lIfe Cycle API Managment

La solución estrella de MuleSoft es Anypoint Platform™ es una completa solución para la conectividad gestionada por API que permite a las compañías a crear redes de aplicaciones de datos y de dispositivos, en sus instalaciones como en la nube.

Esta plataforma de integración híbrida incluye:

  • Un middleware (si no sabes qué es un middleware haz clic en el enlace anterior), un punto donde se centraliza todas las integraciones evitando que un sistema se conecte directamente con otro sin pasar por este middleware.
  • Un iPaaS, este middleware se encontrará alojado en la nube sin la necesidad de la gestión asociada de hardware y costes de infraestructura y además, puede ser accesible desde cualquier lugar.

Este software permite la integración de cualquier sistema CRM como Salesforce, ERPs com SAP y muchos más, entre ellos desde ficheros csv o cualquier servidor accesible a través del protocolo HTTP haciendo uso del principio de API-Led Connectivity.

Y, ¿qué es API-Led Connectivity? Es un principio de integración, de hecho, totalmente contrario a la integración point-to-point y que aboga por una integración basada en APIs reusables proporcionando un bajo acoplamiento con la consiguiente mejora en la escalabilidad en nuestra application network, es decir, nuestra red de microservicios.

iconos de nubes y web conectados entre si mediante lineas naranjas

MuleSoft engloba las APIs en 3 grupos claramente diferenciados:

  • Experience APIs: API dedicada a la presentación de la información para que sea más fácilmente consumible.
  • Process APIs: API dedicada al procesamiento de datos obtenidos en la capa de sistema y adaptarlos para cubrir las necesidades de negocio.
  • System APIs: API dedicada a los procesos de más bajo nivel de conexión con las fuentes de datos.
mapa salesforce

Por lo tanto, para relacionar conceptos, podríamos decir que Anypoint Platform™ es la herramienta basada en el principio API-Led Connectivity que nos permite crear una Application Network altamente escalable gracias a la reusabilidad de sus componentes.

Componentes de Anypoint Platform™

La herramienta Anypoint Platform™ está dividida en los siguientes componentes, los cuales coinciden con el ciclo de vida de un proyecto software.

1. Anypoint Design Center

Se trata del centro donde se diseñarán todas las API que se implementarán y desplegarán a posteriori, ofrece una interfaz web que permite a cualquier desarrollador tanto diseñar como documentar una interfaz. Este entorno, a su vez, está compuesto por dos herramientas:
Flow Designer

Herramienta que permite la creación de aplicaciones mule mediante una interfaz drag and drop en la que iremos arrastrando y soltando los diferentes componentes que conforman una integración. El propósito de la herramienta Flow Designer, es la posibilidad de crear aplicaciones totalmente funcionales por usuarios sin conocimientos técnicos.

Aun así, a nivel práctico, es recomendable hacer uso del API Designer y posteriormente importar el RAML generado al AnyPoint Studio, el cual es un IDE de desarrollo similar al Flow Designer pero mucho más potente ya que ofrece funcionalidades que el Flow Designer no posee como la depuración del código. Por lo general el Flow Designer suele ser utilizado para pruebas de concepto.

página aplicacion salesforce

API Designer

Es una herramienta que permite el diseño, la documentación, el testing de especificación de interface, así como su compartición por medio de una interfaz web. La nomenclatura que se utiliza en MuleSoft para la definición de una API es RAML, lenguaje de modelado de definición de APIs REST basado en YAML que permitirá la definición de métodos, recursos y parámetros, así como otros componentes HTTP.

Una vez tengamos lista nuestra especificación de la API en RAML, procederemos a publicarla. ¿Dónde? En el Anypoint Exchange, lo cual enlaza con nuestro siguiente componente de Anypoint Platform™.

página app banking API

2. Anypoint Exchange

No es más que un repositorio Maven, un repositorio central donde se publican los diferentes assets y es donde se guardarán y publicarán todas aquellas aplicaciones que requiera nuestra Application Network.

Dentro de este repositorio de activos (APIs), podremos diferenciar ciertos activos públicos que ofrece MuleSoft a todos los usuarios de su plataforma y aquellos privados que habremos publicado nosotros desde nuestro Design Center.

La ventaja de disponer de estos activos públicos ofrecidos por MuleSoft es la reutilización de estos componentes en nuestros proyectos reduciendo los tipos de construcción de una integración, y no sólo los públicos, sino cualquier API que publiquemos podremos reutilizarla.

Siempre que publiquemos una especificación API desde nuestro Design Center, se creará automáticamente un API Portal en Anypoint Exchange y estos API Portals no se podrán crear manualmente.

exchange

Y, ¿qué es un API Portal? Como su propio nombre indica es un portal, una wiki, un punto de entrada público a la visualización de la API que nos permitirá acceder a toda la información de dicha API, versionado documentación, metadata e incluso testear los diferentes endpoints que ofrece. Y una vez publicada la API, ya estaremos listos para implementarla en el Anypoint Studio.


3. Anypoint Studio

Es el lugar donde implementaremos la lógica de las APIs que previamente hemos diseñado, para ello, MuleSoft nos provee de Anypoint Studio, un IDE de desarrollo más que similar a eclipse en el que por medio de una interfaz drag and drop iremos arrastrando los componentes necesarios para implementar la lógica necesaria.

No entraremos muy en detalle en aspectos técnicos de la herramienta, pero desde ella, podremos importar el RAML previamente diseñado a continuación procederemos a resumir sus principales características.

performance

El IDE divide la implementación en:

  • Listeners, es decir, de escuchadores o puntos de entrada a la aplicación, los cuales coinciden con los verbos HTTP definidos en el documento RAML pero a su vez pueden ser también lecturas periódicas de archivos locales, por ftp, sftp o lecturas de base de datos basadas en ciertos criterios entre otras opciones.
  • Processors, es decir, la parte de procesamiento de dicha consulta y toda la lógica a aplicar dentro del servicio de integración. Dentro de estos procesadores MuleSoft ya nos provee de conectores con los sistemas más utilizados del mercado como Salesforce.
mule event

Por último, destacar el punto en común entre los Listeners y Processors, el Mule Event, el cual será el objeto que poseerá toda la información que entra desde el Listener y todas las modificaciones que pueda ir sufriendo en la parte de procesamiento, a modo de resumen, la estructura de un evento Mule es la siguiente:

  • Los atributos almacenarán toda la metadata de la petición
  • El payload registrará la información específica de negocio
  • Las variables serán las definidas por el desarrollador a lo largo de la aplicación

Dentro de Anypoint Studio destacar la utilización del lenguaje utilizado por MULE, Dataweave, utilizado en ciertos componentes del IDE.

¡Y una vez implementada la aplicación, ya estaremos listos para desplegarla y monitorizar en el Anypoint Management Center!

anypoint API Manager

4. Anypoint Management Center

Es la herramienta utilizada para el control y monitorización de todas aquellas aplicaciones que hemos implementado en Anypoint Studio. Dentro del conjunto de servicios que ofrece esta herramienta, podemos destacar los dos más importantes.

Runtime Manager: para gestionar el despliegue de la aplicación y nos podemos decantar por dos metodologías de despliegue.

  • Despliegue On Premise: La aplicación sería desplegada en los servidores del cliente.
  • Despliegue en Cloudhub: La aplicación se desplegará en los workers de la nube de MuleSoft aprovisionada por AWS.

Y, ¿qué es un worker en MuleSoft? Un Cloudhub Worker es el computador virtual donde se ejecuta la aplicación que hemos desplegado y en un mismo worker únicamente puede desplegarse una aplicación mule.

Cada uno de estos workers, actúan de contenedores y tienen un tamaño en concreto, el cual está definido por una CPU, RAM y almacenamiento. La combinación de estas 3 características es fija y no configurable, por lo que en base a nuestras necesidades deberemos contratar un worker u otro.

instruciones

Preferiblemente, es más óptimo realizar el despliegue en la nube de MuleSoft de cara a mantener un balance con los costes, despreocupación de la infraestructura a utilizar, configuración de servidores etc.

De cara al despliegue, estas aplicaciones MULE son empaquetadas únicamente en formato JAR, y estos jars ya poseen todas las dependencias necesarias para desplegar la información.

API Manager: es una herramienta que permite realizar toda la gestión de las APIs publicadas en el exchange, entre las diferentes funcionalidades que ofrece, destacamos:

  • Configuración de un proxy para nuestra API
  • Configuración de SLAs
  • Configuración de políticas de autenticación y seguridad.
  • Configuración de alertas basadas en SLAs o políticas definidas
  • Revisión de informes de actividad de uso de la API
graficos y mapamundi

Licencias

El Licenciamiento de la herramienta Anypoint Platform™ se divide en los planes Gold, Platinum y Titanium.

planes de partners

Para más información, puedes acceder a la página de Salesforce o de MuleSoft.

Certificación Mulesoft

MuleSoft como productos de Salesforce ofrece 7 certificaciones en diferentes niveles que ayudan a validar el expertise y la experiencia de los partners de MuleSoft, clientes y profesionales que buscan trabajar en un entorno de MuleSoft. Son necesarios para varias funciones y están dirigidas a Desarrolladores especialistas en implantación e integración y Arquitectos:

  • MuleSoft Certified Developer – Level 1 (Mule 4)
  • MuleSoft Certified Developer – Level 1 (Mule 4) DELTA
  • MuleSoft Certified Developer – Integration and API Associate (Mule 3)
  • MuleSoft Certified Developer – API Design Associate (RAML 1.0)
  • MuleSoft Certified Developer – Integration Professional (Mule 3)
  • MuleSoft Certified Platform Architect – Level 1
  • MuleSoft Certified Integration Architect – Level 1

El programa de certificación MuleSoft te permite demostrar tus competencias y acreditar que cumples todos los requisitos necesarios para ejercer como Desarrollador o Arquitecto MuleSoft.

Por este motivo, las certificaciones Mulesoft puede abrirte puertas en tu carrera profesional ya que con él podrás demostrar que tienes las habilidades necesarias para desempeñar tu función de forma correcta en un proyecto de integraciones.

página inicio

Para tener los conocimientos para poder acceder al nivel necesario para la certificación, MuleSoft propone varias opciones de formación:

  • Cursos de pago con un instructor certificado MuleSoft o gratuitos “self study”, ambos en modalidad virtual o presencial
  • Itinerarios formativos, son artículos, webinars, vídeos explicativos con contenidos adaptado a cada perfil: desarrolladores, operaciones IT, partners, arquitectos, managers y administradores.
  • Trailhead, encontramos módulos y trails exclusivos de MuleSoft.

Contar con una buena formación es imprescindible para la obtención de la certificación o como complemento de una experiencia anterior trabajando con MuleSoft. En estos cursos se suele ofrecer material y un acceso a un sistema de test donde practicar con los conocimientos teóricos impartidos.

Una vez terminada la realización del curso o la preparación de la certificación, podemos inscribirnos al examen en la web de Webassessor.

Conclusión

MuleSoft es la herramienta perfecta para la orquestación de las comunicaciones entre múltiples sistemas, permite disponer de un punto común donde gestionar todas las integraciones de nuestro ecosistema de aplicaciones sin necesidad de tener conocimientos técnicos avanzados, abstrayéndose en cierta medida, de la tecnología utilizada.

Esto, junto con la reusabilidad de componentes permite acortar los tiempos de construcción de un proyecto de software, así como favorecer la escalabilidad para fases posteriores.

Las empresas tienen de media más de 900 sistemas; y la capacidad de integrar rápidamente estos sistemas, unificar los datos y crear experiencias conectadas marcan la diferencia y son claves en las compañías líderes del mercado. En el último Dreamforce, Join Uri Sarid CMO de MuleSoft presentó la keynote de integraciones donde junto con los trailblazers BMW, HSBC y Ashley Stewart hizo hincapié en cómo la integración junto con las API aceleran las estrategias IT, aumentan la agilidad de la organización y como MuleSoft facilita el despliegue del “poder” de Salesforce Customer 360.

Quizá te puede interesar

10 de febrero de 2023

Los 5 Mejores CRM de ventas 2023

Una herramienta CRM ofrece información para crear campañas de marketing más prometedoras y efectivas, así como potenciar la productividad. El resultado es garantizar la satisfacción de los clientes y su fidelización, al mismo tiempo que mejoramos nuestras ventas.

SEIDOR
13 de febrero de 2023

¿Qué es Microsoft Intune? ¿Para qué sirve?

Con el paso del tiempo, las empresas se han dado cuenta de las ventajas que supone ofrecer a los empleados entornos de trabajo flexibles, ya sea en ordenadores de sobremesa o en dispositivos móviles para poder utilizarlos en diferentes entornos. Ello ha dado lugar a buscar fórmulas para consolidar la administración del hardware utilizando una sola consola.

SEIDOR
08 de marzo de 2023

¿Qué es OAuth? ¿Qué proporciona su protocolo?

Uno de los aspectos críticos de la seguridad informática es poder proporcionar una experiencia de acceso sin interrupciones y de inicio de sesión único (SSO) entre varios dispositivos.

SEIDOR