3. MuleSoft en el mundo real: ejemplos de casos de éxito
Jorge Lebrato
Digital Architecture
Manager at NTTDATA
Felipe Pérez
Lead Architect at NTTDATA
¡Bienvenidos!
4. MuleSoft en el mundo real: ejemplos de casos de éxito
El “happy path” para Implementar
y Adoptar MuleSoft
David Blanco Paris
Responsable de Integración
Grupo VARMA
A CONTINUACIÓN ….
5. El “happy path” para
Implementar y
Adoptar MuleSoft
David Blanco Paris
Responsable de Integración
Grupo VARMA
6. Desafío
Partimos de la nada en
sistemas de integración
Adoptar MuleSoft Implementar
MuleSoft
7. Complejidad
DEFINIR APIS
CLARAS Y
COHERENTES
USO E INSTALACIÓN
DE LAS
HERRAMIENTAS DE
TRABAJO DE MuleSoft
CREACIÓN E
IMPLANTACIÓN DE UN
PROYECTO DE MuleSoft.
(INFRAESTRUCTURA)
CREAR EL CI/CD
DEL PROYECTO
TESTING
OPERAR
ANYPOINT
PLATFORM
9. Solución
Palancas
● Dirección del departamento
● Formación en MuleSoft:
○ RoadMap de la formación
○ Tips
○ Mas de un mes y medio de formación en un año entero.
● Experiencia implantando sistema de inicio a fin (Cerrar el círculo).
● Conocimiento del negocio.
● Habilidades blandas
16. Resultados
• Delegar uno de los proyectos a otra persona del equipo.
4 Proyectos en un 1 año y medio. (8 apis)
2 personas con capacidad de trabajar en el equipo de MuleSoft.
• Actualmente: 3 sistemas y 2 subsistemas.
• Dos de ellos en un mes se han puesto en producción.
• Integramos con terceros.
• 4 apis
• 50>
Agilidad a la hora de integrar nuevos sistemas en tiempo y forma.
18. MuleSoft en el mundo real: ejemplos de casos de éxito
Automatiza como una Rockstar:
Domina tu Ciclo de Vida con
Azure DevOps
Clara Madrigal
MuleSoft Product Owner
avvale
César Fernández
MuleSoft Product Specialist
avvale
A CONTINUACIÓN ….
21. Falta de control de
Versiones y entornos
desalineados
Administración manual del
API Manager
Falta de planificación y de
gestión del proyecto
Dificultades en el día a día con MuleSoft
22. Dificultades en el día a día con MuleSoft
● Dificultad para
Troubleshooting
● Errores en despliegues por
no realizar test unitarios
(MUnit)
● Tareas manuales que
provocan errores
23.
24. ¡ Dos pipelines para dominarlos a todos !
Footer
1. Azure Pipeline para creación
de releases
2. Azure Pipeline para despliegue
de aplicaciones en Cloudhub
25. Azure Pipeline para creación de releases
★ Separación de código en un
estado estable
★ Facilita la implementación de
pruebas y validaciones
★ Mayor control y visibilidad del
proceso de despliegue
★ Registro histórico claro y
documentado
Footer
27. Azure Pipeline para despliegue de
aplicaciones en Cloudhub
Generación de
documentación
automáticamente en
Anypoint Exchange a través
de IA
Repositorio común para la
gestión de las
dependencias
Administración versiones
en Anypoint Exchange
28. Azure Pipeline para despliegue de
aplicaciones en Cloudhub
Automatización de
pruebas MUnit
Ejecutadas automáticamente
durante los pipelines de
despliegue
Automatización del
análisis de calidad de
código con SonarQube
Automatización de la
gestión del API Manager
Olvídate de promocionar
aplicaciones entre entornos
Footer
29. Azure Pipeline para despliegue de
aplicaciones en Cloudhub
Actualización del Project Board
32. MuleSoft en el mundo real: ejemplos de casos de éxito
DRY Data Transformation
Don't repeat yourself
Lucas Buyo
MuleSoft Architect
S4G Consulting
Alberto López
Snr MuleSoft Consultant
S4G Consulting
A CONTINUACIÓN ….
33. DRY DataWeave
Simplify Data Mapping
Lucas Buyo
MuleSoft Architect
in/lucasbuyo
Alberto López
Senior MuleSoft Consultant
in/alberto-d-lopez
34. Types of data transformation
● Format
eg: CSV > JSON > XML
● Structural
eg: Array multilevel to plain Object
● Field & value Mapping
eg: “field_name”: ”Dataweave” > “FieldName__c”: “dwl”
35. DataMapper
A DataWeave library, it is a lightweight and
agile solution for data transformation and
value mapping of disparate system
integrations.
37. DataMapper
Library features
Reverse mapping
Same systems mapping in inverse
order
Mapping hosting
Your mapping file could be stored
within the application or loaded from
network
Property reader
Set values defined in property files
Collection or elements
It allows processing for payloads with
Array and Object
Fields Mapping
Matching different data field names
across the systems
Exhaustive
Returns all fields or only those
matching in mapping file
Values Mapping
Matching different data field names
across the systems
Value path
Search for values in a nested structure
46. MuleSoft en el mundo real: ejemplos de casos de éxito
Replicación de datos desde DB2
(Mainframe) hacia Salesforce y
Core Asegurador
Pablo Pardo Riveira
Snr Specialist Lead
Deloitte
A CONTINUACIÓN ….
47. Descripción
Replicación de datos desde DB2 (Mainframe) hacia Salesforce y Core Asegurador
● Una compañía de seguros desea implantar Salesforce como su nuevo
sistema de atención CRM. El sistema Core actual se basa en un
Mainframe y se desea exportar los datos de clientes, pólizas y otras
entidades desde la base de datos principal DB2 hacia Salesforce y a
futuro al nuevo Core Asegurador.
● El objetivo es replicar los datos a los nuevos sistemas de tal manera que
se descargue de consultas al DB2 (Mainframe), se agilice el acceso a los
datos y se mantenga la sincronización de los sistemas.
● La sincronización hacia el Mainframe se realiza vía servicios web ya
existente.
● NOTA: La carga inicial de datos se realiza por fuera de MuleSoft.
48. Solución Técnica
Replicación de datos desde DB2 (Mainframe) hacia Salesforce y Core Asegurador
● Se dispone de un software de CDC - Change Data Capture que recoge los datos de
los cambios en las tablas, y dichos cambios son publicados en tópicos Kafka.
● Cada entidad tiene datos en mas de una tabla de base de datos, por lo que cada
vez que se actualiza una entidad se actualizan varias tablas. Además, no siempre
se actualizan las mismas tablas sino que depende de los datos actualizados. Todos
los mensajes relacionados con una misma transacción tienen un id de transacción
único.
● Una aplicación Mule lee de los tópicos, filtra los mensajes inválidos y procesa los
correctos.
● Para el control de las transacciones y evitar actualizaciones repetidas se crea una
base de datos de control donde la aplicación Mule consulta si una transacción ya ha
sido procesada.
● Cuando un mensaje es procesado y según la clase de información, se consulta al
mainframe de la última foto actualizada de los datos y los mismos son mapeados e
insertados en Salesforce realizado la adaptación necesaria en los modelos de
datos.
● El modelo es fácilmente ampliable para la sincronización de otros sistemas.
MAINFRAME
DB2
CDC
TABLA 1
TABLA N
KAFKA
TOPIC 1 TOPIC N
BBDD
CONTROL
49. Resultados
Replicación de datos desde DB2 (Mainframe) hacia Salesforce y Core Asegurador
● Se desarrollaron más de 15 APIs para este
proceso y se consiguió garantizar la entrega de
todos los mensajes.
● Ha sido necesaria una configuración avanzada
tanto del servidor Kafka como de la conexión
desde MuleSoft.
● A través de la base de datos de control se
dispuso de una trazabilidad y control del
proceso, así como de la posibilidad de la
implementación de reintentos.
● El modelo ha seguido evolucionando con más
entidades y sistemas a sincronizar.
51. MuleSoft en el mundo real: ejemplos de casos de éxito
Haciendo mejor a SAP con MuleSoft
Juan Manuel Blázquez Quintanilla
Interface Expert
HOLCIM EMEA DIGITAL CENTER
A CONTINUACIÓN ….
52. Cómo hacer mejor a
SAP con MuleSoft
HOLCIM EMEA Digital Center
Juan Manuel Blazquez Quintanilla
juanmanuel.blazquez@holcim.com
Integration Expert
53. Cómo hacer mejor a SAP con MuleSoft
Holcim EMEA Digital Center
About — Somos el socio tecnológico de Holcim para las
empresas del grupo en las regiones de Europa, África y Medio
Oriente. Brindamos servicios innovadores a más de 36.000
usuarios en los 40 países de la región permitiendo el éxito
empresarial a través de confiabilidad, eficiencia e innovación
54. Cómo hacer mejor a SAP con MuleSoft
Background - Desde el punto de vista de integración
SAP ECC
SAP Process Orchestration
SAP Cloud Platform Integration
Legacy systems
Salesforce
55. Cómo hacer mejor a SAP con MuleSoft
Background - Transformación Digital
Holcim EMEA Digital Center inicia un proceso de transformación digital
● Resiliencia
● Disponibilidad de las aplicaciones
● Reusabilidad
● Observabilidad
2021 2024
2 vCores non-production
2 vCores production
2 DLBs
API Manager
SAP Connector
>100 APIS
● 28 vCores non-production
● 27 vCores production
● 4 DLBs
● API Manager
● SAP Connector
● Anypoint Datagraph
● Edifact, AS2 Connector
57. Data backbone
Non-sap backend
SAP backend
Replicación
Exposición
Directa
Indirecta
Cómo hacer mejor a SAP con MuleSoft
Caso de Uso de Exito - Data backbone
58. Cómo hacer mejor a SAP con MuleSoft
Data backbone con MuleSoft
Datos maestros
Repositorio central
de datos maestros
para sistemas
SAP/Non-SAP
Punto de acceso
común a la
información
Un único punto
para acceder a los
datos sin
problemas de
sincronización
Datos disponibles
24*7 online
Soportado por
AWS services
Gracias a los
servicios de AWS
SNS, SQS
podemos
sincronizar los
datos con cualquier
aplicación
Servicios de
integración
desacoplados
Al tener los
servicios
funcionando de
manera
desacoplada, un
fallo en servicio no
provoca la caída
total de la
integración
59. Resultado
Cómo hacer mejor a SAP con MuleSoft
Gracias a la combinación de la plataforma SAP y
las capacidades de integración/apificación de
MuleSoft, hemos incrementado la satisfacción de
nuestros clientes, gracias a:
- Accesibilidad del dato 24x7, para cualquier
aplicación
- Mayor rapidez de implementación
- Resiliencia
- Observabilidad
63. MuleSoft en el mundo real: ejemplos de casos de éxito
¡Alto policía, usted no está
autorizado! (autorización de grano fino)
Rafael González Rodríguez
Lead Architect
NTT DATA
A CONTINUACIÓN ….
64. ¡Alto policía, usted no
está autorizado!
(autorización de grano fino)
Rafael González Rodríguez
Lead Architect
NTT DATA
65. Solución: Integración con OpenFGA
La autenticación confirma que los usuarios son quienes dicen
ser, validando la identidad del usuario.
La autorización otorga a los usuarios autenticados permiso
para obtener acceso a un recurso.
En nuestro caso teníamos la necesidad de una autorización
muy pormenorizada. Acceso a recursos dependiendo
parámetros de entrada de las llamadas que podían venir en la
query o en el body.
66. Solución: Integración con OpenFGA
OpenFGA es una solución de autorización de grano fino que expone un API
desde el cual se le pueden hacer consultas para conocer la autorización del
usuario/máquina para consumir unos recursos.
¿Como funciona?
OpenFGA determinan el acceso a partir de la relación de un usuario con un
objeto . Las decisiones de autorización son entonces respuestas de sí o no a
la pregunta: "¿Puede el usuario U realizar la acción A en el objeto O?"
● Elija la característica más importante
● Listar los tipos de objetos
● Listar relaciones para esos tipos.
● Definir relaciones
● Probar el modelo
● Iterar
67. Solución: Integración con OpenFGA
Definir bien el modelo:
- Un proyecto puede ser creado por un técnico.
- Puede ser aprobado por el gerente del técnico.
- El miembro del equipo puede ver el proyecto.
Equipo
Gerente
Miembro del
Equipo
Creador
Técnico
68. Solución: Integración con OpenFGA
Para integrar de una manera sencilla esta herramienta se decidió utilizar MuleSoft. Es algo rápido
y sencillo. A través de una política custom se validará el acceso de los usuarios a los recursos,
métodos definidos.
¿Qué hace esta política?
● Validar contra el API de OpenFGA si tiene acceso al API de MuleSoft
● Validar contra el API de OpenFGA si tiene acceso al recurso
● Validar contra el API de OpenFGA si tiene acceso al Metodo
● Validar contra el API de OpenFGA si tiene acceso al objecto en función del grupo al que pertenece.
69. Solución: Integración con OpenFGA
Equipo
Creador
Gerente Jorge
Técnico Felipe
Miembro del equipo Rafa
70. Solución: Integración con OpenFGA
¿Como valida?
Se envian tuplas de datos para validar la relacion entre el usuario y el objeto.
{
"usuario" : “miembro del
equipo:Felipe" ,
"relación" : “Creador" ,
"objeto" : “proyecto_001"
} True
{
"usuario" : "miembro del
equipo :Rafa" ,
"relación" : "aprobador" ,
"objeto" : " miembro del
equipo:Felipe "
}
False
{
"usuario" : "miembro del
equipo:Rafa" ,
"relación" : “lector" ,
"objeto" : "proyecto_001 "
} True
72. MuleSoft en el mundo real: ejemplos de casos de éxito
Protección de APIs con AWS WAF
y Entra ID
Jose Ramón Huerga Ayuso
Lead of Integration Engineering
AXPO Group
A CONTINUACIÓN ….
74. Introducción
● Cliente en el sector farmacéutico.
● MuleSoft fue elegido ya que ofrece tanto una buena gestión de
APIs como unas capacidades potentes para implementar todo
tipo de patrones de integración.
● La mayor parte del software utilizado por el cliente está en la
nube, haciendo que la mayor parte de las APIs - aún sin ser
públicas - se tengan que poder acceder desde internet para
que puedan ser invocadas por aplicaciones SaaS.
Footer
75. Desafíos de seguridad en las APIs expuestas en
Internet
● Las APIs accesibles desde Internet se han convertido en uno
de los blancos habituales de los hackers.
● Según OWASP, la lista de los 10 ataques más habituales
incluye SQL Injection, exposición de datos sensibles,
vulnerabilidades de autenticación, denegación de servicio
(DoS), etc.
● La falta de seguridad adecuada puede afectar la reputación
de la empresa y la confianza del cliente.
● El uso de un identity provider y un WAF puede mejorar la
seguridad de las APIs.
76. Gestión de identidades - Entra ID
● Anteriormente conocido como Azure AD
● Proporciona capacidades para generar tokens OAuth2
(JWT), mantener un catálogo de aplicaciones consumidoras,
gestionar identidades, grupos, autenticación, autorización,
SSO, etc.
● Tradicionalmente, ha carecido de OpenID Connect Dynamic
Client registration, dificultando su integración con Anypoint.
● Los tokens se pueden validar en las APIs usando o bien la
política JWT o la OIDC.
● La rotación de secrets implica operaciones de
mantenimiento manuales
77. Entra ID y MuleSoft Anypoint
Mule API 1
C4E member
OIDC policy
Microsoft Entra ID
MuleSoft Exchange
App Registration
Client ID
Client Secret
Consuming application
Client ID
Client Secret
API
Consumer
Vault
Client Secret
2 Create application in Entra ID
7 Rotate secret
twice per year
6 Client ID
validation
3 Store secret
in Vault
1 Creation of consuming
application
4 Obtain OAuth2 token
5 Add token in
Authorization
header
Nuevo Client Secret
78. AWS WAF y AWS CloudFront
● Las políticas de MuleSoft ofrecen protección a nivel de
ataques JSON, XML, CORS, etc.
● Para ofrecer otro tipo de protecciones más avanzadas
como DDoS, XSS o SQL injection, es necesario utilizar
otros productos como AWS WAF
● AWS WAF puede ayudar a implementar las
recomendaciones de seguridad de OWASP para proteger
las aplicaciones contra vulnerabilidades conocidas.
● Es común utilizar AWS WAF desde AWS CloudFront
79. AWS CloudFront - Configuración básica
AWS
CloudFront
MuleSoft
VPC
Dedicated
Load Balancer
AWS IP ranges
IP white list
Mule API 1
Mule API 2
API
Consumer
Public
internet
Manual
update
La lista de IPs utilizada por AWS tiene numerosas entradas y cambia
con frecuencia. Si no se reflejan las nuevas IPs en la white list del
dedicated load balancer, se pueden producir errores de conexión.
80. AWS CloudFront - Actualización de IPs
AWS
CloudFront
MuleSoft
VPC
Dedicated
Load Balancer
AWS SNS AmazonIp
SpaceChanged
AWS IP ranges
IP white list
Mule API 1
Mule API 2
AWS Process API
API
Consumer
Public
internet
New IP
New IP
Un potencial atacante podría sencillamente contratar CloudFront y
dar de alta una instancia que apuntara al dedicated load balancer,
haciendo llamadas directas.
81. AWS WAF - Custom headers
AWS
CloudFront
MuleSoft
VPC
Dedicated
Load Balancer
AWS SNS AmazonIp
SpaceChanged
AWS IP
ranges
IP white list
Header
Header
Database
Mule API 1
Mule API 2
Custom Policy
Custom Policy
AWS Process API
Header
Header
API
Consumer
Public
internet
New IP
New IP
Header
rotation
Header
rotation
Header
check
82. Conclusion
● MuleSoft por sí solo ofrece unas potentes capacidades
de seguridad.
● Entra ID puede ayudar a mejorar la gestión de
aplicaciones consumidoras y OAuth2 tokens
● La rotación de secretos sigue siendo una asignatura
pendiente.
● AWS Cloudfront y AWS WAS enriquecen las políticas de
seguridad de MuleSoft, bloqueando ataques de SQL
injections, DDoS, etc.
84. MuleSoft en el mundo real: ejemplos de casos de éxito
MuleSoft, el mejor amigo de SAP
Germán Martín Gómez
MuleSoft Integ & Architecture Dr
devoteam
A CONTINUACIÓN ….
85. MuleSoft, el mejor
amigo de SAP
Germán Martín Gómez, Directo de Arquitectura e Integración con
MuleSoft
german.martin.gomez@devoteam.com
He/Him
87. Tipos de Integraciones SAP
SAP tiene la necesidad de integrarse con otros sistemas.
SAP es un sistema de planificación de recursos empresariales (ERP) que ayuda a las empresas
a gestionar procesos de negocio complejos, desde contabilidad y compras hasta producción y
servicio al cliente, a través de un conjunto integrado de aplicaciones y módulos de software.
88. Tipos de Integraciones SAP
Tipos de integraciones con SAP
● ALE (Application Link Enable.):Usada para comunicación directa entre sistemas
SAP.
● EDI (Electronic Document Interchange.): Utilizada para comunicaciones con
entornos NO SAP
● IDOC (Intermediate Document.): Documento contenedor de Datos.
● FTP y SFTP: Protocolo de transferencia de ficheros
● RFC (Remote funtion Call): Llamadas a funciones dentro de SAP desde fuera de
SAP
● BAPI (Business Application Programming Interface): APIs estandares de
negocio
● WS/WSDL/SOAP/API REST: Estos métodos se pueden consumir sin problema en
cualquier desarrollo sobre el entorno SAP, utilizando los métodos de las clases
generadas tras la importación del WSDL.
90. Abstracción de
Complejidad: Como
hemos visto SAP es
poderoso pero
complejo,MuleSoft nos
ofrece una capa de
abstracción que simplifica
estas integraciones,
permitiendo a los
desarrolladores trabajar sin
sumergirse en los detalles
técnicos específicos de
SAP.
Conectividad API-Led:
MuleSoft promueve un
enfoque de conectividad
liderado por API, lo que
facilita exponer
funcionalidades de SAP de
manera segura y
controlada. Permitiendo
una integración más ágil y
mantenible con otros
sistemas.
Conectores
Preconstruidos: MuleSoft
proporciona conectores
preconstruidos para SAP,
lo que reduce
significativamente el tiempo
y el esfuerzo necesarios
para establecer
conexiones, permitiendo a
los desarrolladores
centrarse en la lógica de
negocio en lugar de en los
detalles de integración.
MuleSoft, el mejor amigo de SAP
¿Qué nos ofrece MuleSoft?
91. Flexibilidad y Escalabilidad: MuleSoft
permite una fácil reconfiguración y
escalabilidad de estas integraciones para
satisfacer las necesidades cambiantes de la
empresa, todo ello sin interrumpir los
procesos de negocio existentes.
Seguridad Mejorada: La seguridad es una
preocupación primordial en la integración de
sistemas. MuleSoft ofrece robustas
capacidades de seguridad,asegurando que
las integraciones con SAP no solo sean
funcionales sino también seguras.
MuleSoft, el mejor amigo de SAP
¿Qué nos ofrece MuleSoft?
92. MuleSoft, el mejor amigo de SAP
Conclusión
Gracias a la flexibilidad, al conector y a
la abstracción que nos ofrece
MuleSoft, transformamos la integración
de SAP de un desafío a tu triunfo
diario. MuleSoft te lleva de la mano
hacia una vida de desarrollo sin
complicaciones de cómo integrar con
SAP permitiendote así avanzar más
rápido y seguro hacia el éxito de los
proyectos.
94. MuleSoft en el mundo real: ejemplos de casos de éxito
Custom Policies: Verificando
webhook signatures de Stripe
Leonardo González
South Europe Practice Leader
Cognizant
A CONTINUACIÓN ….
95. Custom Policies
Verificando Webhook Signatures de Stripe
Leonardo Gonzalez, MuleSoft Ambassador/South
Europe Practice Leader
https://www.linkedin.com/in/bellrauthien/
He/Him
98. Tipos de Eventos
Datos que pueden informar actividad en la cuenta de Stripe.
Cuentas Tarifas Facturas Cargos
Cupones
Notas de
Crédito
Clientes Tarjetas
Pagos Precios Promociones Reportes
99. Out-of-the-box — MuleSoft Security Policies
Agrega Seguridad a los Endpoints
¿Cómo asegurar que los requests son generados por Stripe?
Basic
Authentication
(LDAP/Simple)
Access Token
Enforcement
(Oauth 2.0/Open
ID Connect)
XML/JSON
Threat
JWT Validation IP Blocklist IP Allowlist
100. Validar Signature de Stripe
¿Cuales son las opciones?
Librerías oficiales — Ruby, Python, PHP, Java, Node, Go, .NET.
Verificación Manual — Stripe Signature Header
101. Extraer
timestamp y
signatures del
header
Preparar el
signed-
payload
(string)
Determinar
expected-
signature
Comparar
signatures
MuleSoft Custom Policies
Stripe genera Signatures Hash-Based Message Authentication Code (HMAC) con SHA-256.