SlideShare una empresa de Scribd logo
1 de 109
¡BIENVENIDOS!
MuleSoft en el mundo real: ejemplos de casos de éxito
2
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!
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 ….
El “happy path” para
Implementar y
Adoptar MuleSoft
David Blanco Paris
Responsable de Integración
Grupo VARMA
Desafío
Partimos de la nada en
sistemas de integración
Adoptar MuleSoft Implementar
MuleSoft
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
Solución
Palancas
Equipos implicados, sistemas y arquitectura
Plan de Desarrollo
CI/CD
Operaciones
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
Solución
Equipos
Solución
Plan de Desarrollo del Producto
Solución
CI/CD
Solución
CI/CD
CD
Pipeline
CI
Plan
Code
Build
Package
DEV
Cloudhub 2.0
1. deploy
2. deploy
Version
Test
Release
UAT
deploy
PROD
deploy
Test end to
end
EAX
UAT
feedback
Solución
Operaciones
correlation-id
Bitácora de operaciones.
Notificaciones por correo y errores graves por slack.
Beneficios
Reducción de errores
Proactividad al corregir errores
Agilidad empresarial: Permite aprovechar
rápidamente la información nueva
Reutilización de las apis
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.
Thank you
Any questions?
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 ….
Automatiza como una
Rockstar!
Domina tu ciclo de vida con
Azure DevOps
Clara Madrigal
Avvale MuleSoft Product Owner
César Fernández
Avvale MuleSoft Product Specialist
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
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
¡ Dos pipelines para dominarlos a todos !
Footer
1. Azure Pipeline para creación
de releases
2. Azure Pipeline para despliegue
de aplicaciones en Cloudhub
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
Azure Pipeline para despliegue de
aplicaciones en Cloudhub
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
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
Azure Pipeline para despliegue de
aplicaciones en Cloudhub
Actualización del Project Board
Thank you
Any questions?
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 ….
DRY DataWeave
Simplify Data Mapping
Lucas Buyo
MuleSoft Architect
in/lucasbuyo
Alberto López
Senior MuleSoft Consultant
in/alberto-d-lopez
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”
DataMapper
A DataWeave library, it is a lightweight and
agile solution for data transformation and
value mapping of disparate system
integrations.
DataWeave Library
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
“Demo” time
Let’s see how it works
Initial setup
Input Payload
[
{
"ExternalId__c": "0011X00000",
"Id": "8011X000002gQduQAE",
"ChannelType__c": "01",
"OrderNumber": "00000101",
"CurrencyIsoCode": "EUR",
"Account": {
"attributes": {
"type": "Account",
"url": "Account/0011X00000"
},
"SAP_Number__c": "PKO_2024"
},
"EffectiveDate": "2021-11-08",
"EndDate": "2022-05-07",
"SalesOrganization__c": "OCAZ_32",
"Sector__c": "AT",
"OfferType__c": "YOFU",
"SAPOfferStartDate__c": "2022-04-19",
"Description__c": "sdfdsfdsfd",
"PaymentWay__c": "00",
"PaymentExpirationDate__c": "2022-06-04",
"DateOfServiceDelivery__c": "2022-05-17"
}
]
[
{
"source": "ExternalId__c",
"destination": "sap_id"
},
{
"source": "Id",
"destination": "salesforce_id"
},
{
"source": "ChannelType__c",
"destination": "channel"
}
]
%dw 2.0
output application/json
import * from DataMapper
var orderSapSF =
createMapper("classpath://fieldMapping.json")
---
orderSapSF.mapElement(payload)
Mapping File Transform Script
[
{
"source": "ExternalId__c",
"destination": "sap_id"
},
{
"source": "Id",
"destination": "salesforce_id"
},
{
"source": "ChannelType__c",
"destination": "channel"
}
]
mapping section
Fields mapping
[
{
"sap_id": "0011X00000",
"salesforce_id": "8011X000002gQduQAE",
"channel": "01",
"Account": {
"attributes": {
"type": "Account",
"url": "api/path"
},
"SAP_Number__c": "PKO_2024"
},
"OrderNumber": "00000101",
"CurrencyIsoCode": "EUR",
"EffectiveDate": "2021-11-08",
"EndDate": "2022-05-07",
"SalesOrganization__c": "OCAZ_32",
"Sector__c": "AT",
"OfferType__c": "YOFU",
"SAPOfferStartDate__c": "2022-04-19",
"Description__c": "sdfdsfdsfd",
"PaymentWay__c": "00",
"PaymentExpirationDate__c": "2022-06-04",
"DateOfServiceDelivery__c": "2022-05-17"
}
]
output Payload
[
{
"ExternalId__c": "0011X00000",
"Id": "8011X000002gQduQAE",
"ChannelType__c": "01",
.. ..
partial payload affected
%dw 2.0
output application/json
import * from DataMapper
var orderSapSF = createMapper("classpath://valueMapping.json")
---
orderSapSF.mapElement(payload, "sap", "salesforce")
DataWeave script
Exhaustive
%dw 2.0
output application/json
import * from DataMapper
var orderSapSF = createMapper("classpath://fieldMapping.json", true)
---
orderSapSF.mapElement(payload)
[
{
"sap_id": "0011X00000",
"salesforce_id": "8011X000002gQduQAE",
"channel": "01"
}
]
DataWeave script
output Payload
[
{
"source": "ExternalId__c",
"destination": "sap_id"
},
{
"source": "Id",
"destination": "salesforce_id"
},
{
"source": "ChannelType__c",
"destination": "channel"
}
]
mapping section
[
{
"ExternalId__c": "0011X00000",
"Id": "8011X000002gQduQAE",
"ChannelType__c": "01",
.. ..
partial payload affected
{
"source": "CurrencyIsoCode",
"destination": "currency_iso_code",
"valuesMap": [
{
"sap": "EUR",
"salesforce": "Euros"
},
{
"sap": "ARS",
"salesforce": "Pesos Argentinos"
}
]
}
mapping section
Value mapping
%dw 2.0
output application/json
import * from DataMapper
var orderSapSF = createMapper("classpath://valueMapping.json", true)
---
orderSapSF.mapElement(payload, "sap", "salesforce")
[
{
"sap_id": "0011X00000",
"salesforce_id": "8011X000002gQduQAE",
"channel": "01",
"currency_iso_code": "Euros"
}
]
DataWeave script
output Payload
...
"CurrencyIsoCode": "EUR",
partial payload affected
{
"source": "Account",
"destination": "account_sap_id",
"valuePath": "attributes.url"
}
mapping section
Value path
%dw 2.0
output application/json
import * from DataMapper
var orderSapSF = createMapper("classpath://valuePath.json", true)
---
orderSapSF.mapElement(payload, "sap", "salesforce")
[
{
"sap_id": "0011X00000",
"salesforce_id": "8011X000002gQduQAE",
"channel": "01",
"currency_iso_code": "Euros",
"account_sap_id": "Account/0011X00000tnqdzQAA"
}
]
DataWeave script
output Payload
"Account": {
"attributes": {
"type": "Account",
"url": "Account/0011X00000tnqdzQAA"
},
"SAP_Number__c": "PKO_2024"
},
partial payload affected
[
{
"source": "ExternalId__c",
"destination": "sap_id"
},
{
"source": "Id",
"destination": "salesforce_id"
},
{
"source": "ChannelType__c",
"destination": "channel"
},
{
"source": "CurrencyIsoCode",
"destination": "currency_iso_code",
"valuesMap": [
{
"sap": "EUR",
"salesforce": "Euros"
},
{
"sap": "ARS",
"salesforce": "Pesos Argentinos"
}
]
}
]
External mapping section
Reverse mapping
%dw 2.0
output application/json
import * from DataMapper
var orderSapSF =
createReverseMapper("https://my.api.mockaroo.com/pko.json?key=74b4790
0", true)
---
orderSapSF.mapElement(payload, "salesforce", "sap")
[
{
"ExternalId__c": "0011X00000",
"Id": "8011X000002gQduQAE",
"ChannelType__c": "01",
"CurrencyIsoCode": "EUR"
}
]
DataWeave script
output Payload
[
{
"sap_id": "0011X00000",
"salesforce_id": "8011X000002gQduQAE",
"channel": "01",
"currency_iso_code": "Euros"
}
]
partial payload affected
Thank you
Any questions?
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 ….
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.
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
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.
Thank you
Any questions?
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 ….
Cómo hacer mejor a
SAP con MuleSoft
HOLCIM EMEA Digital Center
Juan Manuel Blazquez Quintanilla
juanmanuel.blazquez@holcim.com
Integration Expert
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
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
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
api-led
Git
Maven
Logging
(log4j) Observability
Terraform
Munit
Github
Action
AWS
Elasticsearc
h
Cómo hacer mejor a SAP con MuleSoft
Adaptación del equipo a una nueva metodología de trabajo
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
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
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
Subtitle placeholder
Process
layer
Experience
layer
System
layer
Credit
APP
Customer
portal
Integration
layer
RF
C
RF
C
IDOC IDOC IDOC IDOC IDOC
Production
Order
Taking Comercial B2B Customers Transport Document
Repository
Resultado
Cómo hacer mejor a SAP con MuleSoft
Value Realization 2023
Summary
35%
Less cost
Platform Savings
5.4 FTEs
Saving
58%
Time to Market
improvement
54% Reuse rate
Thank you
Any questions?
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 ….
¡Alto policía, usted no
está autorizado!
(autorización de grano fino)
Rafael González Rodríguez
Lead Architect
NTT DATA
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.
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
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
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.
Solución: Integración con OpenFGA
Equipo
Creador
Gerente Jorge
Técnico Felipe
Miembro del equipo Rafa
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
Thank you
Any questions?
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 ….
PROTECCIÓN DE APIs
CON AWS WAF Y
ENTRA ID
Jose Ramón Huerga
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
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.
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
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
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
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.
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.
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
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.
Thank you
Any questions?
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 ….
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
Tipos de
Integraciones SAP
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.
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.
¿Mule el mejor amigo?
¿Por qué?
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?
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?
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.
Thank you
Any questions?
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 ….
Custom Policies
Verificando Webhook Signatures de Stripe
Leonardo Gonzalez, MuleSoft Ambassador/South
Europe Practice Leader
https://www.linkedin.com/in/bellrauthien/
He/Him
¿Que es Stripe?
Infraestructura de Pagos para Internet.
Registrar
Webhook
Endpoint
Real-time
events
(Stripe)
Event
(Webhook)
HTTP POST
(JSON
Event)
API
Stripe Webhooks
Un caso de uso más resuelto a través de integración.
Integraciones — Cuando construimos integraciones con Stripe,
podríamos necesitar que nuestras aplicaciones reciban eventos
tan pronto como sucedan en nuestra cuenta de Stripe, de esta
forma otros sistemas podrían ejecutar acciones de forma
automática.
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
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
Validar Signature de Stripe
¿Cuales son las opciones?
Librerías oficiales — Ruby, Python, PHP, Java, Node, Go, .NET.
Verificación Manual — Stripe Signature Header
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.
Extraer timestamp y signatures del header
Extracción de t y v1
Preparar el signed-payload (string)
t + “.” + payload (as String)
Determinar expected-signature
Calcular HMAC con SHA256 (función Hash)
Usar el signing secret del endpoint como key y el signed payload como mensaje.
Comparar signatures
¿v1 es igual al expected signature?
Conclusiones
Stripe Header Signature Validation
Diseñar
Verificar
lógica de
validación
Definir
componentes
a utilizar
Definir flujo
de validación
Implementar Dataweave
Selectores de
metadata
(^raw)
Módulo
Crypto
Módulo
Validation
Empaquetar Maven:
Package
Publicar Maven:
Deploy
Gobernar
API Manager:
Aplicar
Política
https://www.linkedin.com/pulse/MuleSoft-custom-policies-MuleSoftdevelopers/
Thank you
Any questions?
MuleSoft en el mundo real: ejemplos de casos de éxito
A CONTINUACIÓN ….
¡Nos vemos en la próxima!

Más contenido relacionado

Similar a Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de éxito

Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeBruno Capuano
 
ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.Julio Cejas
 
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014eCommerce Institute
 
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...SpanishPASSVC
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL ServerJohn Bulla
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasRodrigo Corral
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxLuis Fernando Aguas Bucheli
 
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...COIICV
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...SOFTENG
 
Presentación IGALIA
Presentación IGALIAPresentación IGALIA
Presentación IGALIAalberto_silva
 
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red
Anexo 18  actividad 5 adminsitracion de sistemas operativos en redAnexo 18  actividad 5 adminsitracion de sistemas operativos en red
Anexo 18 actividad 5 adminsitracion de sistemas operativos en redLuis Gerardo Carvajal
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)Yadith Miranda Silva
 
ETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.pptETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.pptVAOC1984
 
Estudio tecnico fep
Estudio tecnico fepEstudio tecnico fep
Estudio tecnico fepYazmin Waldo
 

Similar a Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de éxito (20)

Visual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero CodeVisual Studio 2010 Ligthswitch + AZURE + Zero Code
Visual Studio 2010 Ligthswitch + AZURE + Zero Code
 
ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.ESB y SOA, Plataforma de integracion.
ESB y SOA, Plataforma de integracion.
 
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
Presentación Fabio Schimidt - eCommerce Day Guayaquil 2014
 
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
24 HOP edición Español - Alm para el desarrollo de base de datos sql server -...
 
Memoria
MemoriaMemoria
Memoria
 
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
24 Horas Español 2014 - ALM para el desarrollo de base de datos SQL Server
 
Práctica no1.1
Práctica  no1.1Práctica  no1.1
Práctica no1.1
 
Práctica no1.1
Práctica  no1.1Práctica  no1.1
Práctica no1.1
 
ALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas PrácticasALM09 - Scrum, Visual Studio y Buenas Prácticas
ALM09 - Scrum, Visual Studio y Buenas Prácticas
 
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptxEFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
EFC-Programación .net-Luis Fernando Aguas - 15012022 1500.pptx
 
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
Raul Coria. IPM. Cómo optimizar su infraestructura virtual. Semanainformatica...
 
Lanzamiento Omni Chile
Lanzamiento Omni ChileLanzamiento Omni Chile
Lanzamiento Omni Chile
 
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
RoadShow-Azure-PartnersMicrosoft-Nov-2010-Caso de éxito de Softeng Portal Bul...
 
Presentación IGALIA
Presentación IGALIAPresentación IGALIA
Presentación IGALIA
 
1057571401
10575714011057571401
1057571401
 
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red
Anexo 18  actividad 5 adminsitracion de sistemas operativos en redAnexo 18  actividad 5 adminsitracion de sistemas operativos en red
Anexo 18 actividad 5 adminsitracion de sistemas operativos en red
 
MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)MODELO COCOMO (INGENIERA DE SOFTWARE)
MODELO COCOMO (INGENIERA DE SOFTWARE)
 
Iy cnet guia_rapida_controllogix_5000
Iy cnet guia_rapida_controllogix_5000Iy cnet guia_rapida_controllogix_5000
Iy cnet guia_rapida_controllogix_5000
 
ETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.pptETL Aplicado a Empresas.ppt
ETL Aplicado a Empresas.ppt
 
Estudio tecnico fep
Estudio tecnico fepEstudio tecnico fep
Estudio tecnico fep
 

Último

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (19)

Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Meetup Madrid 6 Marzo 2024 - MuleSoft en el mundo real: ejemplos de casos de éxito

  • 1. ¡BIENVENIDOS! MuleSoft en el mundo real: ejemplos de casos de éxito
  • 2. 2
  • 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
  • 8. Solución Palancas Equipos implicados, sistemas y arquitectura Plan de Desarrollo CI/CD Operaciones
  • 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
  • 13. Solución CI/CD CD Pipeline CI Plan Code Build Package DEV Cloudhub 2.0 1. deploy 2. deploy Version Test Release UAT deploy PROD deploy Test end to end EAX UAT feedback
  • 15. Beneficios Reducción de errores Proactividad al corregir errores Agilidad empresarial: Permite aprovechar rápidamente la información nueva Reutilización de las apis
  • 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 ….
  • 19. Automatiza como una Rockstar! Domina tu ciclo de vida con Azure DevOps
  • 20. Clara Madrigal Avvale MuleSoft Product Owner César Fernández Avvale MuleSoft Product Specialist
  • 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
  • 26. Azure Pipeline para despliegue de aplicaciones en Cloudhub
  • 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
  • 30.
  • 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
  • 39. Initial setup Input Payload [ { "ExternalId__c": "0011X00000", "Id": "8011X000002gQduQAE", "ChannelType__c": "01", "OrderNumber": "00000101", "CurrencyIsoCode": "EUR", "Account": { "attributes": { "type": "Account", "url": "Account/0011X00000" }, "SAP_Number__c": "PKO_2024" }, "EffectiveDate": "2021-11-08", "EndDate": "2022-05-07", "SalesOrganization__c": "OCAZ_32", "Sector__c": "AT", "OfferType__c": "YOFU", "SAPOfferStartDate__c": "2022-04-19", "Description__c": "sdfdsfdsfd", "PaymentWay__c": "00", "PaymentExpirationDate__c": "2022-06-04", "DateOfServiceDelivery__c": "2022-05-17" } ] [ { "source": "ExternalId__c", "destination": "sap_id" }, { "source": "Id", "destination": "salesforce_id" }, { "source": "ChannelType__c", "destination": "channel" } ] %dw 2.0 output application/json import * from DataMapper var orderSapSF = createMapper("classpath://fieldMapping.json") --- orderSapSF.mapElement(payload) Mapping File Transform Script
  • 40. [ { "source": "ExternalId__c", "destination": "sap_id" }, { "source": "Id", "destination": "salesforce_id" }, { "source": "ChannelType__c", "destination": "channel" } ] mapping section Fields mapping [ { "sap_id": "0011X00000", "salesforce_id": "8011X000002gQduQAE", "channel": "01", "Account": { "attributes": { "type": "Account", "url": "api/path" }, "SAP_Number__c": "PKO_2024" }, "OrderNumber": "00000101", "CurrencyIsoCode": "EUR", "EffectiveDate": "2021-11-08", "EndDate": "2022-05-07", "SalesOrganization__c": "OCAZ_32", "Sector__c": "AT", "OfferType__c": "YOFU", "SAPOfferStartDate__c": "2022-04-19", "Description__c": "sdfdsfdsfd", "PaymentWay__c": "00", "PaymentExpirationDate__c": "2022-06-04", "DateOfServiceDelivery__c": "2022-05-17" } ] output Payload [ { "ExternalId__c": "0011X00000", "Id": "8011X000002gQduQAE", "ChannelType__c": "01", .. .. partial payload affected %dw 2.0 output application/json import * from DataMapper var orderSapSF = createMapper("classpath://valueMapping.json") --- orderSapSF.mapElement(payload, "sap", "salesforce") DataWeave script
  • 41. Exhaustive %dw 2.0 output application/json import * from DataMapper var orderSapSF = createMapper("classpath://fieldMapping.json", true) --- orderSapSF.mapElement(payload) [ { "sap_id": "0011X00000", "salesforce_id": "8011X000002gQduQAE", "channel": "01" } ] DataWeave script output Payload [ { "source": "ExternalId__c", "destination": "sap_id" }, { "source": "Id", "destination": "salesforce_id" }, { "source": "ChannelType__c", "destination": "channel" } ] mapping section [ { "ExternalId__c": "0011X00000", "Id": "8011X000002gQduQAE", "ChannelType__c": "01", .. .. partial payload affected
  • 42. { "source": "CurrencyIsoCode", "destination": "currency_iso_code", "valuesMap": [ { "sap": "EUR", "salesforce": "Euros" }, { "sap": "ARS", "salesforce": "Pesos Argentinos" } ] } mapping section Value mapping %dw 2.0 output application/json import * from DataMapper var orderSapSF = createMapper("classpath://valueMapping.json", true) --- orderSapSF.mapElement(payload, "sap", "salesforce") [ { "sap_id": "0011X00000", "salesforce_id": "8011X000002gQduQAE", "channel": "01", "currency_iso_code": "Euros" } ] DataWeave script output Payload ... "CurrencyIsoCode": "EUR", partial payload affected
  • 43. { "source": "Account", "destination": "account_sap_id", "valuePath": "attributes.url" } mapping section Value path %dw 2.0 output application/json import * from DataMapper var orderSapSF = createMapper("classpath://valuePath.json", true) --- orderSapSF.mapElement(payload, "sap", "salesforce") [ { "sap_id": "0011X00000", "salesforce_id": "8011X000002gQduQAE", "channel": "01", "currency_iso_code": "Euros", "account_sap_id": "Account/0011X00000tnqdzQAA" } ] DataWeave script output Payload "Account": { "attributes": { "type": "Account", "url": "Account/0011X00000tnqdzQAA" }, "SAP_Number__c": "PKO_2024" }, partial payload affected
  • 44. [ { "source": "ExternalId__c", "destination": "sap_id" }, { "source": "Id", "destination": "salesforce_id" }, { "source": "ChannelType__c", "destination": "channel" }, { "source": "CurrencyIsoCode", "destination": "currency_iso_code", "valuesMap": [ { "sap": "EUR", "salesforce": "Euros" }, { "sap": "ARS", "salesforce": "Pesos Argentinos" } ] } ] External mapping section Reverse mapping %dw 2.0 output application/json import * from DataMapper var orderSapSF = createReverseMapper("https://my.api.mockaroo.com/pko.json?key=74b4790 0", true) --- orderSapSF.mapElement(payload, "salesforce", "sap") [ { "ExternalId__c": "0011X00000", "Id": "8011X000002gQduQAE", "ChannelType__c": "01", "CurrencyIsoCode": "EUR" } ] DataWeave script output Payload [ { "sap_id": "0011X00000", "salesforce_id": "8011X000002gQduQAE", "channel": "01", "currency_iso_code": "Euros" } ] partial payload affected
  • 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
  • 56. api-led Git Maven Logging (log4j) Observability Terraform Munit Github Action AWS Elasticsearc h Cómo hacer mejor a SAP con MuleSoft Adaptación del equipo a una nueva metodología de trabajo
  • 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
  • 60. Subtitle placeholder Process layer Experience layer System layer Credit APP Customer portal Integration layer RF C RF C IDOC IDOC IDOC IDOC IDOC Production Order Taking Comercial B2B Customers Transport Document Repository Resultado Cómo hacer mejor a SAP con MuleSoft
  • 61. Value Realization 2023 Summary 35% Less cost Platform Savings 5.4 FTEs Saving 58% Time to Market improvement 54% Reuse rate
  • 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 ….
  • 73. PROTECCIÓN DE APIs CON AWS WAF Y ENTRA ID Jose Ramón Huerga
  • 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.
  • 89. ¿Mule el mejor amigo? ¿Por qué?
  • 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
  • 96. ¿Que es Stripe? Infraestructura de Pagos para Internet.
  • 97. Registrar Webhook Endpoint Real-time events (Stripe) Event (Webhook) HTTP POST (JSON Event) API Stripe Webhooks Un caso de uso más resuelto a través de integración. Integraciones — Cuando construimos integraciones con Stripe, podríamos necesitar que nuestras aplicaciones reciban eventos tan pronto como sucedan en nuestra cuenta de Stripe, de esta forma otros sistemas podrían ejecutar acciones de forma automática.
  • 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.
  • 102. Extraer timestamp y signatures del header Extracción de t y v1
  • 103. Preparar el signed-payload (string) t + “.” + payload (as String)
  • 104. Determinar expected-signature Calcular HMAC con SHA256 (función Hash) Usar el signing secret del endpoint como key y el signed payload como mensaje.
  • 105. Comparar signatures ¿v1 es igual al expected signature?
  • 106. Conclusiones Stripe Header Signature Validation Diseñar Verificar lógica de validación Definir componentes a utilizar Definir flujo de validación Implementar Dataweave Selectores de metadata (^raw) Módulo Crypto Módulo Validation Empaquetar Maven: Package Publicar Maven: Deploy Gobernar API Manager: Aplicar Política https://www.linkedin.com/pulse/MuleSoft-custom-policies-MuleSoftdevelopers/
  • 108. MuleSoft en el mundo real: ejemplos de casos de éxito A CONTINUACIÓN ….
  • 109. ¡Nos vemos en la próxima!