SlideShare una empresa de Scribd logo
1 de 33
Descargar para leer sin conexión
11 Abril 2019: Patrones de integración y mejores prácticas
Guadalajara Meetup Group
#MuleSoftMeetup
#IOConnect #EducationIsTheKey
All contents © MuleSoft Inc.
Agenda
2
• Introducción
• Caso de uso:
– Big data pipeline
• Solución 1: Híbrida (Mule + Java)
• Solución 2: Completamente Mule
– Patrones de integración
– Mejores prácticas
• ¿Qué sigue?
• Networking
All contents © MuleSoft Inc.
Introducción
3
All contents © MuleSoft Inc.
Introducción
4
Escenario:
Big data pipeline
All contents © MuleSoft Inc.
Requerimientos
6
• Requerimiento funcional (FRs):
– El cliente tiene un proceso que se ejecutará frecuentemente y generará un
archivo, potencialmente de 1M de registros, en formato CSV y se almacenará en
un servidor de archivos.
– Objetivo: Implementar un sistema encargado de importar la información, desde
el archivo CSV, de las cuentas de la compañía hacia un almacenamiento en la
nube en formato JSON. Esta nueva información de la nube funcionará como un
depósito de datos (data lake) para un futuro procesamiento. Además, el cliente
solicita ser notificado de cualquier problema durante el procesamiento.
All contents © MuleSoft Inc.
Requerimientos
7
• Requerimientos no funcionales (NFRs):
– Reliable:
• La información de las cuentas NUNCA deben perderse.
– Secure:
• Las claves y credenciales de acceso deben estar encriptadas.
– Performance:
• Uso de la memoria controlado.
• Mantener bajo el número de conexiones a sistemas externos.
All contents © MuleSoft Inc.
Arquitectura
8
File
Solución Híbrida: Mule + Java
All contents © MuleSoft Inc.
Solución Híbrida (DEMO)
10
All contents © MuleSoft Inc.
Solución Híbrida
11
• Requerimiento Funcional: Logrado
– Complejidad de desarrollo.
– Manejo de punteros manual.
– Difícil de mantener y escalar.
– Experiencia en java es requerida.
• Requerimientos no Funcionales:
– Performance: Logrado
• Bajo control sobre el procesamiento asíncrono.
– Reliable:
• Guaranteed delivery no esta implícito.
– Security: Logrado.
BREAK
15 mins
¡Giveaways en la entrada!
Solución Completamente Mule
All contents © MuleSoft Inc.
Batch
14
All contents © MuleSoft Inc.
Batch
All contents © MuleSoft Inc.
Solución Completamente Mule (DEMO)
16
All contents © MuleSoft Inc.
Solución Completamente Mule
17
• Requerimiento Funcional: Logrado
– Menor tiempo de desarrollo.
– Fácil de escalar y mantener.
• Requerimientos no Funcionales:
– Performance: Logrado
– Reliability:
• Internal batch queues.
• Mejor manejo de errores.
– Security: Logrado
¿Patrones de integración?
All contents © MuleSoft Inc. 19
• Service activator – Conecta
cualquier pieza de información a
un canal de entrada.
Patrones de diseño en integración
• Polling consumer – La
aplicación necesita mensajes,
pero necesita controlar cuando
los recibe.
All contents © MuleSoft Inc. 20
• Point-to-point channel – La aplicación usa mensajería para
transferir documentos de información, es decir el payload.
Patrones de diseño en integración
All contents © MuleSoft Inc. 21
• Document message – La aplicación quiere enviar información a
otra aplicación u otra fase de procesamiento
Patrones de diseño en integración
All contents © MuleSoft Inc. 22
• Guaranteed delivery – Sin importar las circunstancias, la aplicación
siempre se asegura que la información nunca se puede perder
Patrones de diseño en integración
All contents © MuleSoft Inc. 23
• Content Enricher – Dados ciertos parámetros, agregar datos al
payload actual, generalmente de una fuente de datos externa
Patrones de diseño en integración
All contents © MuleSoft Inc. 24
• Dead-letter Channel – Cuando un mensaje no puede o no debe ser
entregado, debe ser movido a un canal especializado en fallos
Patrones de diseño en integración
All contents © MuleSoft Inc. 25
• Poisoned message – Información errónea o inválida que no puede
ser procesada por que no hace sentido a la lógica de negocios
Patrones de diseño en integración
All contents © MuleSoft Inc.
Mejores Prácticas
26
• Estrategias de reintento (until-successful).
• Estrategias de reconexión (File configuration, reconnection strategy).
• Estrategia de manejo de errores (error scopes).
• Externalización de propiedades.
• Asegurar las credenciales de autenticación (secure configuration
properties).
• Desacoplamiento de procesamiento y de manejo de errores.
• Manejo de transacciones.
• Optimización de memoria a través de streamming.
• Uso de las funciones nativas de Mule (datawave)
Q&A
Quiz time!
All contents © MuleSoft Inc.
What’s next
29
• Share:
– Tweet your pictures with the hashtag #MuleMeetup
– Join us: https://meetups.mulesoft.com/guadalajara/
• Feedback:
– Contact your organizer larisa.arenas@ioconnectservices.com
salvador.zalapa@ioconnectservices.com to suggest topics
– Contact MuleSoft at meetup@mulesoft.com for ways to improve the program
• Our next meetup:
– Date: <August>
– Location: <TBD>
– Topic: <TBD>
All contents © MuleSoft Inc. 30
"Hola desde las Meetups de MuleSoft"
Networking time
Introduce yourself to your neighbors!
See you next time
Please send topic suggestions to the organizer
20190411 meetup

Más contenido relacionado

Similar a 20190411 meetup

Implementacion del departamento de help desk marvin zumbado
Implementacion del departamento de help desk   marvin zumbadoImplementacion del departamento de help desk   marvin zumbado
Implementacion del departamento de help desk marvin zumbado
Marvin Zumbado
 
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
ssuserc860fb
 
Ucv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redesUcv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redes
Taringa!
 

Similar a 20190411 meetup (20)

Soluciones Innovation Strategies
Soluciones Innovation StrategiesSoluciones Innovation Strategies
Soluciones Innovation Strategies
 
SGCE 2014 micro services
SGCE 2014 micro servicesSGCE 2014 micro services
SGCE 2014 micro services
 
IaaS + PaaS Cloud Solutions
IaaS + PaaS Cloud Solutions IaaS + PaaS Cloud Solutions
IaaS + PaaS Cloud Solutions
 
MuleSoft y las arquitecturas orientadas a microservicios
MuleSoft y las arquitecturas orientadas a microserviciosMuleSoft y las arquitecturas orientadas a microservicios
MuleSoft y las arquitecturas orientadas a microservicios
 
CTOs Lidres de Tecnología
CTOs Lidres de TecnologíaCTOs Lidres de Tecnología
CTOs Lidres de Tecnología
 
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
Como sacar el máximo partido a los Cores de MuleSoft - optimización y buenas ...
 
02 Avanade VI Semana CMMI
02 Avanade VI Semana CMMI02 Avanade VI Semana CMMI
02 Avanade VI Semana CMMI
 
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
MuleSoft y la Arquitectura Orientada a Microservicios (MSA)
 
Implementacion del departamento de help desk marvin zumbado
Implementacion del departamento de help desk   marvin zumbadoImplementacion del departamento de help desk   marvin zumbado
Implementacion del departamento de help desk marvin zumbado
 
Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014 Experiencias de migraciones a sql server 2012-2014
Experiencias de migraciones a sql server 2012-2014
 
Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure Integración continua y despliegue automático en Azure 
Integración continua y despliegue automático en Azure 
 
Especificación de requisitos
Especificación de requisitosEspecificación de requisitos
Especificación de requisitos
 
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
Demostración: ¿Cómo acelera la plataforma Denodo su tiempo para obtener infor...
 
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
Orquestación de Microservicios Introducción a arquitecturas de desarrollo mod...
 
Gestión del ciclo de vida de desarrollo
Gestión del ciclo de vida de desarrollo Gestión del ciclo de vida de desarrollo
Gestión del ciclo de vida de desarrollo
 
KronOps - Perfil Corporativo
KronOps - Perfil CorporativoKronOps - Perfil Corporativo
KronOps - Perfil Corporativo
 
Ucv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redesUcv sesion 15 diseño optimiz -redes
Ucv sesion 15 diseño optimiz -redes
 
Integración SAP ERP HCM & SuccessFactors BizX
Integración SAP ERP HCM & SuccessFactors BizXIntegración SAP ERP HCM & SuccessFactors BizX
Integración SAP ERP HCM & SuccessFactors BizX
 
metodologias de desarrollo.ppt
metodologias de desarrollo.pptmetodologias de desarrollo.ppt
metodologias de desarrollo.ppt
 
Derribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev DayDerribando la torre de marfil - Plain Concepts Dev Day
Derribando la torre de marfil - Plain Concepts Dev Day
 

Último

TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
UPSE
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
UPSE
 

Último (9)

Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
Tipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdfTipos de datos en Microsoft Access definiciones.pdf
Tipos de datos en Microsoft Access definiciones.pdf
 
Modelado de Casos de uso del negocio
Modelado de  Casos  de  uso  del negocioModelado de  Casos  de  uso  del negocio
Modelado de Casos de uso del negocio
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdfTECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
TECNOLOGÍA DE LA INFORMACIÓN SLIDESHARE INVESTIGACION.pdf
 
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptxTECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
TECNOLOGIA DE LA INFORMACION Y MULTIMEDIA 15 MAYO.pptx
 
El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)El necesario mal del Legacy Code (Drupal Iberia 2024)
El necesario mal del Legacy Code (Drupal Iberia 2024)
 
Especificación casos de uso del negocio
Especificación  casos de uso del negocioEspecificación  casos de uso del negocio
Especificación casos de uso del negocio
 

20190411 meetup

  • 1. 11 Abril 2019: Patrones de integración y mejores prácticas Guadalajara Meetup Group #MuleSoftMeetup #IOConnect #EducationIsTheKey
  • 2. All contents © MuleSoft Inc. Agenda 2 • Introducción • Caso de uso: – Big data pipeline • Solución 1: Híbrida (Mule + Java) • Solución 2: Completamente Mule – Patrones de integración – Mejores prácticas • ¿Qué sigue? • Networking
  • 3. All contents © MuleSoft Inc. Introducción 3
  • 4. All contents © MuleSoft Inc. Introducción 4
  • 6. All contents © MuleSoft Inc. Requerimientos 6 • Requerimiento funcional (FRs): – El cliente tiene un proceso que se ejecutará frecuentemente y generará un archivo, potencialmente de 1M de registros, en formato CSV y se almacenará en un servidor de archivos. – Objetivo: Implementar un sistema encargado de importar la información, desde el archivo CSV, de las cuentas de la compañía hacia un almacenamiento en la nube en formato JSON. Esta nueva información de la nube funcionará como un depósito de datos (data lake) para un futuro procesamiento. Además, el cliente solicita ser notificado de cualquier problema durante el procesamiento.
  • 7. All contents © MuleSoft Inc. Requerimientos 7 • Requerimientos no funcionales (NFRs): – Reliable: • La información de las cuentas NUNCA deben perderse. – Secure: • Las claves y credenciales de acceso deben estar encriptadas. – Performance: • Uso de la memoria controlado. • Mantener bajo el número de conexiones a sistemas externos.
  • 8. All contents © MuleSoft Inc. Arquitectura 8 File
  • 10. All contents © MuleSoft Inc. Solución Híbrida (DEMO) 10
  • 11. All contents © MuleSoft Inc. Solución Híbrida 11 • Requerimiento Funcional: Logrado – Complejidad de desarrollo. – Manejo de punteros manual. – Difícil de mantener y escalar. – Experiencia en java es requerida. • Requerimientos no Funcionales: – Performance: Logrado • Bajo control sobre el procesamiento asíncrono. – Reliable: • Guaranteed delivery no esta implícito. – Security: Logrado.
  • 14. All contents © MuleSoft Inc. Batch 14
  • 15. All contents © MuleSoft Inc. Batch
  • 16. All contents © MuleSoft Inc. Solución Completamente Mule (DEMO) 16
  • 17. All contents © MuleSoft Inc. Solución Completamente Mule 17 • Requerimiento Funcional: Logrado – Menor tiempo de desarrollo. – Fácil de escalar y mantener. • Requerimientos no Funcionales: – Performance: Logrado – Reliability: • Internal batch queues. • Mejor manejo de errores. – Security: Logrado
  • 19. All contents © MuleSoft Inc. 19 • Service activator – Conecta cualquier pieza de información a un canal de entrada. Patrones de diseño en integración • Polling consumer – La aplicación necesita mensajes, pero necesita controlar cuando los recibe.
  • 20. All contents © MuleSoft Inc. 20 • Point-to-point channel – La aplicación usa mensajería para transferir documentos de información, es decir el payload. Patrones de diseño en integración
  • 21. All contents © MuleSoft Inc. 21 • Document message – La aplicación quiere enviar información a otra aplicación u otra fase de procesamiento Patrones de diseño en integración
  • 22. All contents © MuleSoft Inc. 22 • Guaranteed delivery – Sin importar las circunstancias, la aplicación siempre se asegura que la información nunca se puede perder Patrones de diseño en integración
  • 23. All contents © MuleSoft Inc. 23 • Content Enricher – Dados ciertos parámetros, agregar datos al payload actual, generalmente de una fuente de datos externa Patrones de diseño en integración
  • 24. All contents © MuleSoft Inc. 24 • Dead-letter Channel – Cuando un mensaje no puede o no debe ser entregado, debe ser movido a un canal especializado en fallos Patrones de diseño en integración
  • 25. All contents © MuleSoft Inc. 25 • Poisoned message – Información errónea o inválida que no puede ser procesada por que no hace sentido a la lógica de negocios Patrones de diseño en integración
  • 26. All contents © MuleSoft Inc. Mejores Prácticas 26 • Estrategias de reintento (until-successful). • Estrategias de reconexión (File configuration, reconnection strategy). • Estrategia de manejo de errores (error scopes). • Externalización de propiedades. • Asegurar las credenciales de autenticación (secure configuration properties). • Desacoplamiento de procesamiento y de manejo de errores. • Manejo de transacciones. • Optimización de memoria a través de streamming. • Uso de las funciones nativas de Mule (datawave)
  • 27. Q&A
  • 29. All contents © MuleSoft Inc. What’s next 29 • Share: – Tweet your pictures with the hashtag #MuleMeetup – Join us: https://meetups.mulesoft.com/guadalajara/ • Feedback: – Contact your organizer larisa.arenas@ioconnectservices.com salvador.zalapa@ioconnectservices.com to suggest topics – Contact MuleSoft at meetup@mulesoft.com for ways to improve the program • Our next meetup: – Date: <August> – Location: <TBD> – Topic: <TBD>
  • 30. All contents © MuleSoft Inc. 30 "Hola desde las Meetups de MuleSoft"
  • 32. See you next time Please send topic suggestions to the organizer