SlideShare una empresa de Scribd logo
1 de 33
- Mayo 2019
Sergio Hernández Mancebo
@shmancebo – Azure MVP
Webhooks y Dynamics 365,
abriendo el producto a Azure en
Real Time
Sergio Hernández Mancebo
@shmancebo
shernandez@encamina.com
Principal Team Leader / Encamina
Autor en la revista Compartimoss
Organizador de Crossdvlup
Microsoft Azure MVP
EXTENDIENDO NUESTRO 0365
Webhooks
Integración de datos
• Visualización de nuestros datos externos en Dynamics con PowerApps
• Extracción de datos hacia a fuera
Extender nuestros procesos en un backend externo
¿Qué entendemos por Extender nuestro 0365?
Webhooks, para capturar a Dynamics
• Permite notificar eventos decambios en Dynamics, mediante unsistema de
suscripciones.
• Este sistema permite disparar ejecuciones de códigoen aplicaciones externas.
• Es un modelo universal quese usa nosolo en O365,sino también en
GitHub,MailChimp,Slack o WordPress entre otros.
• Permite eventos asíncronos o síncronos
Webhooks es un patrón HTTP ligero para conectar servicios y API web con un modelo de
publicación/suscripción. Los remitentes de webhook envían a los receptores notificaciones
sobre eventos realizando solicitudes a los extremos de los receptores con información sobre
los eventos
Plugin registration Cliente Webhook
• Cliente que permita recibir peticiones HTTP
• Síncrono o asíncrono
• Autenticación: Cabecera, Webhookey o QueryString
¿Cómo nos suscribimos a un evento?
Azure Service Bus sirve para controlar una recepción masiva de
mensajes y recepcionarlos en un sistema de colas
Los webhooks solo se pueden escalar al punto en el que el
servicio web hospedado puede controlar los mensajes.
Los webhooks permiten pasos sincrónicos y asincrónicos. Bus
de servicio de Azure solo permite pasos asincrónicos.
Los webhooks envían solicitudes POST con carga JSON y
pueden ser consumidos por cualquier lenguaje de
programación o aplicación web hospedada en cualquier lugar.
Los webhooks y Bus de servicio de Azure se pueden invocar
desde un complemento o una actividad personalizada de flujo
de trabajo.
¿No es lo mismo que hacíamos con Azure Service Bus?
• Como cliente vamos a utilizar un Azure Function (para el que no lo conozca lo
veremos en un rato)
• Vamos a tracear eventos de una entidad desde Azure
• Registramos con el Plugin Registration, nuestro cliente Webhook
DEMO: CREANDO NUESTRO PRIMER WEBHOOK!!
La evolución de nuestras aplicaciones
Serverless application platform components
Mi definición resumida del
serverless
PowerApps
Power BI
Common Data Service for
Analytics (CDS for Analytics)
Common Data Service
for Apps (CDS for Apps)
Dynamics 365 Office 365 Standalone Apps
Microsoft Flow
Business Application Platform
Data
connectors
Logic app
Azure Function
Desarrollado en local con las mejores herramientas y desplegado en Azure
Desencadenadores y enlaces para aumentar la productividad: Webhook,http,blob….
Soporta multiples lenguajes de programación
Tiene una determinadas entradas(blog storage,documentDB, table storage..) y genera
una determinadas salidas (http, blobs, event hub….)
Use bindings in your code
DEMO: Proceso basado en un Trigger con
Logic App
Evento creado…
Evento procesado
Características de la prueba
• Evento disparado por la creación de un
evento en
la entidad Eventos
• Se crea una nueva entrada en la entidad
una vez procesado el evento
• El evento se captura por un trigger que hace
un PULLING, para evaluar si tiene que
ejecutar la logic app o no.
DEMO: Proceso basado en
Webhook
Cliente Webhook
Procesamiento evento
POSTPOST
Características de la prueba
• Evento disparado por la creación de un
evento en la entidad Eventos
• Se crea una nueva entrada en la entidad
una vez procesado el evento
• El evento se captura por la suscripción
webhook, de forma SINCRONA en el
momento que se ejecuta el evento.
MAS RÁPIDO QUE EL TRIGGER!!!
Necesitamos una suscripción webhook por
cada cliente
Pedidos
Cuentas
Pedidos
Cuentas
Pedidos
Proceso backend
Proceso backend
Proceso backend
Proceso backend
• Gobierno de todas estas sucripciones
• Invisibles si son asíncronas, y bloqueantes si
son
síncronas
• Difícil trazabilidad
• Difícil gestión del cambio, poco mantenible
Centralizamos los eventos en único servicio
Concetos básicos, Event Grid
Events: Que ha sucedido
Event Publishers: Dónde ha sucedido
Topics: Dónde los publicadores envían el
evento
Event Subscriptions: Como recibimos el
evento
Event Handlers: App o servicio que
recibe el evento
Microsoft Flow PowerApps
Características principales
• Siempre disponible
• Near real-time event delivery
• Asegura al menos una vez el envío del
evento
• Escalado dinámico
• Platform agnostic (WebHook)
• Language agnostic (HTTP protocol)
Capacidades Rendimiento
Suscripción a un evento
1. Elección del Publicador y el topic
Crear la suscripción
Confirmar suscripción
{“validationResponse”:”ValidationCode”}
{“validationResponse”:”ValidationCode”}
¿Qué manda Event Grid?
Dynamics 365 como Custom Event
Handlers
Creación de un suscripción webhook
por cada elemento dado de alta en una entidad
Tratamiento del mensaje recibido y encolado en un custom topic
Centralizando el evento
Pedidos
Cuentas
Pedidos
Cuentas
Pedidos
Proceso backend1
Proceso backend1
Proceso backend2
Proceso backend3
Pedidos
Cuentas
Proceso backend 1, 2 ,3
Routes
MODELO WEBHOOKS INDIVIDUALES
MODELO EVENT GRID
Custom E
DEMO:Conectando Dynamics 365 y Azure por Event
Grid
Cliente webhook
+ Custom Event
Procesado evento
+ Evento
1. Suscribimos un webhook a nuestra entidad Eventos
2. El cliente manda un mensaje al topic de evento grid
3. Ambos procesos de backend están suscriptos al topic de Event grid
4. Se disparan en paralelo tanto una logic App como un Azure Function
5. Se procesan dos eventos, uno desde Event Grid Logic App, y otro desde Function
Debemos ponernos en alerta!!!
¿Cómo será el mundo dentro de 20 años?
Yo por si acaso voy a prepararme………
Posibilidad remota pero posible, un Holocausto nuclear puede
transformar nuestra raza en temibles ZOMBIES / CAMINANTES BLANCOS
al estilo WALKING DEAD o JUEGO DE TRONOS
Sitema de seguridad basado en Geovallas anti
ZOMBIES
CAM 1
CAM 2
[
-3.805466569868088,
40.421971651360735
], [
-3.7964328875018793,
40.421971651360735
],
[
-3.7964328875018793,
40.4162152644422
],
[
-3.805466569868088,
40.4162152644422
],
[
-3.805466569868088,
40.421971651360735
]
40.418601767133936,
-3.80094523982757
Demo: Localizando a los intrusos
Cliente webhook
CAM 1 CAM 2
Clasifica la imagen, y manda coordenadas de la cámara
LATITUD, LONGITUD,
ID_PERSONAJE_DETEC
TADO
Si entra o sale
alguien de
FINCA, se genera
Una alerta
En Dynamics
guardamos todas
las capturas de la
cámara 1 y 2, las
imágenes y la
clasificación de los
personajes
El sistema
manda a
Dynamics la
alerta y se
visualiza en una
entidad ALERTS
PowerApps
¿PREGUNTAS?
¡Muchas gracias!

Más contenido relacionado

La actualidad más candente

WorkShop Android + Amazon Web Services
WorkShop Android + Amazon Web ServicesWorkShop Android + Amazon Web Services
WorkShop Android + Amazon Web ServicesPatricio Cornejo A.
 
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Amazon Web Services LATAM
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsAmazon Web Services LATAM
 
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...Amazon Web Services
 

La actualidad más candente (6)

WorkShop Android + Amazon Web Services
WorkShop Android + Amazon Web ServicesWorkShop Android + Amazon Web Services
WorkShop Android + Amazon Web Services
 
Comenzando a usar el Continuous Delivery
 Comenzando a usar el Continuous Delivery Comenzando a usar el Continuous Delivery
Comenzando a usar el Continuous Delivery
 
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
Transformation Track AWS Cloud Experience Argentina - Despegando y Desarrolla...
 
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer ToolsDevOps en AWS: acelarando el desarrollo de software con Developer Tools
DevOps en AWS: acelarando el desarrollo de software con Developer Tools
 
Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables Construyendo APIs Seguras y Escalables
Construyendo APIs Seguras y Escalables
 
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
AWS Summit Bogotá Track Avanzado: Sin servidores: Mobile backend como servici...
 

Similar a Dynamics saturday madrid 2019 sergio hernandez

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
 
Máquinas de estado con Logic App & Automate sobre CDS
Máquinas de estado con Logic App & Automate sobre CDSMáquinas de estado con Logic App & Automate sobre CDS
Máquinas de estado con Logic App & Automate sobre CDSDemian Raschkovan
 
Arquitectura basada a Eventos para principiantes con Apache Kafka
Arquitectura basada a Eventos para principiantes con Apache KafkaArquitectura basada a Eventos para principiantes con Apache Kafka
Arquitectura basada a Eventos para principiantes con Apache KafkaSoftware Guru
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latamGaston Cruz
 
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.Lorenzo Jose Mota Garcia
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineMario Cortés Flores
 
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 DayPlain Concepts
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service FabricGuillermo Javier Bellmann
 
Event Grid, colega que pasa en mi nube?
Event Grid, colega que pasa en mi nube?Event Grid, colega que pasa en mi nube?
Event Grid, colega que pasa en mi nube?[T]echdencias
 
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
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSAmazon Web Services LATAM
 
Charla LogicApps en el CEUS
Charla LogicApps en el CEUSCharla LogicApps en el CEUS
Charla LogicApps en el CEUSrobertogg
 
Serverless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeServerless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeQuito Lambda
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSAmazon Web Services LATAM
 

Similar a Dynamics saturday madrid 2019 sergio hernandez (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
 
Máquinas de estado con Logic App & Automate sobre CDS
Máquinas de estado con Logic App & Automate sobre CDSMáquinas de estado con Logic App & Automate sobre CDS
Máquinas de estado con Logic App & Automate sobre CDS
 
Arquitectura basada a Eventos para principiantes con Apache Kafka
Arquitectura basada a Eventos para principiantes con Apache KafkaArquitectura basada a Eventos para principiantes con Apache Kafka
Arquitectura basada a Eventos para principiantes con Apache Kafka
 
04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam04 17-2021 - procesando modelos tabulares global azure latam
04 17-2021 - procesando modelos tabulares global azure latam
 
Why Azure is so MEAN?
Why Azure is so MEAN?Why Azure is so MEAN?
Why Azure is so MEAN?
 
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
Provisionamiento de un RAC de 2 nodos en la nube de Oracle.
 
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint onlineAplicaciones Autohosted, el nuevo modelo para extender SharePoint online
Aplicaciones Autohosted, el nuevo modelo para extender SharePoint online
 
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
 
.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric.Net Conf UY 2017: Un paseo por Azure Service Fabric
.Net Conf UY 2017: Un paseo por Azure Service Fabric
 
Descubriendo windows azure
Descubriendo windows azureDescubriendo windows azure
Descubriendo windows azure
 
Event Grid, colega que pasa en mi nube?
Event Grid, colega que pasa en mi nube?Event Grid, colega que pasa en mi nube?
Event Grid, colega que pasa en mi nube?
 
Event Grid, colega que pasa en mi nube?
Event Grid, colega que pasa en mi nube?Event Grid, colega que pasa en mi nube?
Event Grid, colega que pasa en mi nube?
 
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...
 
Comenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWSComenzando con los servicios móviles en AWS
Comenzando con los servicios móviles en AWS
 
Charla LogicApps en el CEUS
Charla LogicApps en el CEUSCharla LogicApps en el CEUS
Charla LogicApps en el CEUS
 
Serverless Wars
Serverless WarsServerless Wars
Serverless Wars
 
Serverless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nubeServerless: La evolucion de la arquitectura a la nube
Serverless: La evolucion de la arquitectura a la nube
 
Técnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWSTécnicas para la Implementación de Desarrollo Continuo en AWS
Técnicas para la Implementación de Desarrollo Continuo en AWS
 
Backbeam
BackbeamBackbeam
Backbeam
 
Comenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidoresComenzando con Arquitecturas sin servidores
Comenzando con Arquitecturas sin servidores
 

Más de Demian Raschkovan

Power automate como solucion para integraciones
Power automate como solucion para integracionesPower automate como solucion para integraciones
Power automate como solucion para integracionesDemian Raschkovan
 
Dynamics saturday online 2020 gestion de credito v1.0
Dynamics saturday online 2020   gestion de credito v1.0Dynamics saturday online 2020   gestion de credito v1.0
Dynamics saturday online 2020 gestion de credito v1.0Demian Raschkovan
 
Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020Demian Raschkovan
 
Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Demian Raschkovan
 
Alm orientado a power platform
Alm orientado a power platformAlm orientado a power platform
Alm orientado a power platformDemian Raschkovan
 
Humanizacion de java script con typescript para d365
Humanizacion de java script con typescript para d365Humanizacion de java script con typescript para d365
Humanizacion de java script con typescript para d365Demian Raschkovan
 
Dynamics 365 human resources and business continuity pdf
Dynamics 365 human resources and business continuity pdfDynamics 365 human resources and business continuity pdf
Dynamics 365 human resources and business continuity pdfDemian Raschkovan
 
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...Demian Raschkovan
 
Automatizando flujos con teams y power automate
Automatizando flujos con teams y power automateAutomatizando flujos con teams y power automate
Automatizando flujos con teams y power automateDemian Raschkovan
 
Definir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo controlDefinir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo controlDemian Raschkovan
 
Todo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique RomeroTodo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique RomeroDemian Raschkovan
 
Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!Demian Raschkovan
 
Empower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platformEmpower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platformDemian Raschkovan
 
Solución estándar: ¿Amigo o enemigo? PAC(K)
Solución estándar: ¿Amigo o enemigo? PAC(K)Solución estándar: ¿Amigo o enemigo? PAC(K)
Solución estándar: ¿Amigo o enemigo? PAC(K)Demian Raschkovan
 
Mejora tus procesos de negocio con Adaptive Cards
Mejora tus procesos de negocio con Adaptive CardsMejora tus procesos de negocio con Adaptive Cards
Mejora tus procesos de negocio con Adaptive CardsDemian Raschkovan
 
Dynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datos
Dynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datosDynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datos
Dynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datosDemian Raschkovan
 

Más de Demian Raschkovan (20)

Que ha sido de wally
Que ha sido de wallyQue ha sido de wally
Que ha sido de wally
 
Power automate como solucion para integraciones
Power automate como solucion para integracionesPower automate como solucion para integraciones
Power automate como solucion para integraciones
 
Dynamics saturday online 2020 gestion de credito v1.0
Dynamics saturday online 2020   gestion de credito v1.0Dynamics saturday online 2020   gestion de credito v1.0
Dynamics saturday online 2020 gestion de credito v1.0
 
Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020Victor sanchez saturdaymadrid2020
Victor sanchez saturdaymadrid2020
 
Hjp saturday 2020_v2
Hjp saturday 2020_v2Hjp saturday 2020_v2
Hjp saturday 2020_v2
 
Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365Despliegue continuo en dev ops para multiples entornos de dync 365
Despliegue continuo en dev ops para multiples entornos de dync 365
 
Chateando con power apps
Chateando con power appsChateando con power apps
Chateando con power apps
 
Alm orientado a power platform
Alm orientado a power platformAlm orientado a power platform
Alm orientado a power platform
 
Humanizacion de java script con typescript para d365
Humanizacion de java script con typescript para d365Humanizacion de java script con typescript para d365
Humanizacion de java script con typescript para d365
 
Dynamics 365 human resources and business continuity pdf
Dynamics 365 human resources and business continuity pdfDynamics 365 human resources and business continuity pdf
Dynamics 365 human resources and business continuity pdf
 
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
Dynamics for marketing 365 desde cero y como extender nuestro customer journe...
 
Automatizando flujos con teams y power automate
Automatizando flujos con teams y power automateAutomatizando flujos con teams y power automate
Automatizando flujos con teams y power automate
 
Power bi fromzeroto bi hero
Power bi fromzeroto bi heroPower bi fromzeroto bi hero
Power bi fromzeroto bi hero
 
Definir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo controlDefinir un Gobierno en Power Platform: todo bajo control
Definir un Gobierno en Power Platform: todo bajo control
 
Todo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique RomeroTodo lo que te gustaría saber de Field Services - Enrique Romero
Todo lo que te gustaría saber de Field Services - Enrique Romero
 
Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!Real CI/CD para MSDyn365FO… Be a hero!
Real CI/CD para MSDyn365FO… Be a hero!
 
Empower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platformEmpower digital transformation in your organization with the power platform
Empower digital transformation in your organization with the power platform
 
Solución estándar: ¿Amigo o enemigo? PAC(K)
Solución estándar: ¿Amigo o enemigo? PAC(K)Solución estándar: ¿Amigo o enemigo? PAC(K)
Solución estándar: ¿Amigo o enemigo? PAC(K)
 
Mejora tus procesos de negocio con Adaptive Cards
Mejora tus procesos de negocio con Adaptive CardsMejora tus procesos de negocio con Adaptive Cards
Mejora tus procesos de negocio con Adaptive Cards
 
Dynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datos
Dynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datosDynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datos
Dynamics saturday madrid 2019 - que tus modelos en PBI no sean solo datos
 

Último

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
 
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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
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
 
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
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
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
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxRogerPrieto3
 

Último (15)

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
 
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
 
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
 
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
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
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
 
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...
 
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
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
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
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
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
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Herramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptxHerramientas de corte de alta velocidad.pptx
Herramientas de corte de alta velocidad.pptx
 

Dynamics saturday madrid 2019 sergio hernandez

  • 1. - Mayo 2019 Sergio Hernández Mancebo @shmancebo – Azure MVP Webhooks y Dynamics 365, abriendo el producto a Azure en Real Time
  • 2.
  • 3. Sergio Hernández Mancebo @shmancebo shernandez@encamina.com Principal Team Leader / Encamina Autor en la revista Compartimoss Organizador de Crossdvlup Microsoft Azure MVP
  • 5. Integración de datos • Visualización de nuestros datos externos en Dynamics con PowerApps • Extracción de datos hacia a fuera Extender nuestros procesos en un backend externo ¿Qué entendemos por Extender nuestro 0365?
  • 6. Webhooks, para capturar a Dynamics • Permite notificar eventos decambios en Dynamics, mediante unsistema de suscripciones. • Este sistema permite disparar ejecuciones de códigoen aplicaciones externas. • Es un modelo universal quese usa nosolo en O365,sino también en GitHub,MailChimp,Slack o WordPress entre otros. • Permite eventos asíncronos o síncronos Webhooks es un patrón HTTP ligero para conectar servicios y API web con un modelo de publicación/suscripción. Los remitentes de webhook envían a los receptores notificaciones sobre eventos realizando solicitudes a los extremos de los receptores con información sobre los eventos
  • 7. Plugin registration Cliente Webhook • Cliente que permita recibir peticiones HTTP • Síncrono o asíncrono • Autenticación: Cabecera, Webhookey o QueryString ¿Cómo nos suscribimos a un evento?
  • 8. Azure Service Bus sirve para controlar una recepción masiva de mensajes y recepcionarlos en un sistema de colas Los webhooks solo se pueden escalar al punto en el que el servicio web hospedado puede controlar los mensajes. Los webhooks permiten pasos sincrónicos y asincrónicos. Bus de servicio de Azure solo permite pasos asincrónicos. Los webhooks envían solicitudes POST con carga JSON y pueden ser consumidos por cualquier lenguaje de programación o aplicación web hospedada en cualquier lugar. Los webhooks y Bus de servicio de Azure se pueden invocar desde un complemento o una actividad personalizada de flujo de trabajo. ¿No es lo mismo que hacíamos con Azure Service Bus?
  • 9. • Como cliente vamos a utilizar un Azure Function (para el que no lo conozca lo veremos en un rato) • Vamos a tracear eventos de una entidad desde Azure • Registramos con el Plugin Registration, nuestro cliente Webhook DEMO: CREANDO NUESTRO PRIMER WEBHOOK!!
  • 10. La evolución de nuestras aplicaciones
  • 12. Mi definición resumida del serverless
  • 13. PowerApps Power BI Common Data Service for Analytics (CDS for Analytics) Common Data Service for Apps (CDS for Apps) Dynamics 365 Office 365 Standalone Apps Microsoft Flow Business Application Platform Data connectors
  • 15. Azure Function Desarrollado en local con las mejores herramientas y desplegado en Azure Desencadenadores y enlaces para aumentar la productividad: Webhook,http,blob…. Soporta multiples lenguajes de programación Tiene una determinadas entradas(blog storage,documentDB, table storage..) y genera una determinadas salidas (http, blobs, event hub….)
  • 16. Use bindings in your code
  • 17. DEMO: Proceso basado en un Trigger con Logic App Evento creado… Evento procesado Características de la prueba • Evento disparado por la creación de un evento en la entidad Eventos • Se crea una nueva entrada en la entidad una vez procesado el evento • El evento se captura por un trigger que hace un PULLING, para evaluar si tiene que ejecutar la logic app o no.
  • 18. DEMO: Proceso basado en Webhook Cliente Webhook Procesamiento evento POSTPOST Características de la prueba • Evento disparado por la creación de un evento en la entidad Eventos • Se crea una nueva entrada en la entidad una vez procesado el evento • El evento se captura por la suscripción webhook, de forma SINCRONA en el momento que se ejecuta el evento. MAS RÁPIDO QUE EL TRIGGER!!!
  • 19. Necesitamos una suscripción webhook por cada cliente Pedidos Cuentas Pedidos Cuentas Pedidos Proceso backend Proceso backend Proceso backend Proceso backend • Gobierno de todas estas sucripciones • Invisibles si son asíncronas, y bloqueantes si son síncronas • Difícil trazabilidad • Difícil gestión del cambio, poco mantenible
  • 20. Centralizamos los eventos en único servicio
  • 21. Concetos básicos, Event Grid Events: Que ha sucedido Event Publishers: Dónde ha sucedido Topics: Dónde los publicadores envían el evento Event Subscriptions: Como recibimos el evento Event Handlers: App o servicio que recibe el evento Microsoft Flow PowerApps
  • 22. Características principales • Siempre disponible • Near real-time event delivery • Asegura al menos una vez el envío del evento • Escalado dinámico • Platform agnostic (WebHook) • Language agnostic (HTTP protocol) Capacidades Rendimiento
  • 23. Suscripción a un evento 1. Elección del Publicador y el topic Crear la suscripción Confirmar suscripción {“validationResponse”:”ValidationCode”} {“validationResponse”:”ValidationCode”}
  • 25. Dynamics 365 como Custom Event Handlers Creación de un suscripción webhook por cada elemento dado de alta en una entidad Tratamiento del mensaje recibido y encolado en un custom topic
  • 26. Centralizando el evento Pedidos Cuentas Pedidos Cuentas Pedidos Proceso backend1 Proceso backend1 Proceso backend2 Proceso backend3 Pedidos Cuentas Proceso backend 1, 2 ,3 Routes MODELO WEBHOOKS INDIVIDUALES MODELO EVENT GRID Custom E
  • 27. DEMO:Conectando Dynamics 365 y Azure por Event Grid Cliente webhook + Custom Event Procesado evento + Evento 1. Suscribimos un webhook a nuestra entidad Eventos 2. El cliente manda un mensaje al topic de evento grid 3. Ambos procesos de backend están suscriptos al topic de Event grid 4. Se disparan en paralelo tanto una logic App como un Azure Function 5. Se procesan dos eventos, uno desde Event Grid Logic App, y otro desde Function
  • 28. Debemos ponernos en alerta!!!
  • 29. ¿Cómo será el mundo dentro de 20 años? Yo por si acaso voy a prepararme……… Posibilidad remota pero posible, un Holocausto nuclear puede transformar nuestra raza en temibles ZOMBIES / CAMINANTES BLANCOS al estilo WALKING DEAD o JUEGO DE TRONOS
  • 30. Sitema de seguridad basado en Geovallas anti ZOMBIES CAM 1 CAM 2 [ -3.805466569868088, 40.421971651360735 ], [ -3.7964328875018793, 40.421971651360735 ], [ -3.7964328875018793, 40.4162152644422 ], [ -3.805466569868088, 40.4162152644422 ], [ -3.805466569868088, 40.421971651360735 ] 40.418601767133936, -3.80094523982757
  • 31. Demo: Localizando a los intrusos Cliente webhook CAM 1 CAM 2 Clasifica la imagen, y manda coordenadas de la cámara LATITUD, LONGITUD, ID_PERSONAJE_DETEC TADO Si entra o sale alguien de FINCA, se genera Una alerta En Dynamics guardamos todas las capturas de la cámara 1 y 2, las imágenes y la clasificación de los personajes El sistema manda a Dynamics la alerta y se visualiza en una entidad ALERTS PowerApps