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!!
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….)
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
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
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
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
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