Busque respuestas o explore nuestra base de conocimientos.
Pensamiento impulsado por eventos
1. Pensamiento impulsado por eventos
1.1. Introducción
El pensamiento basado en eventos no es familiar para muchos líderes empresariales y tecnológicos, incluso cuando sus organizaciones deben evolucionar hacia 21st Empresas digitales del siglo XIX. Sin realizar esta transición crítica a sistemas basados en eventos, las empresas no pueden satisfacer las necesidades en tiempo real de las operaciones comerciales modernas.
Esta guía presenta los conceptos básicos del pensamiento basado en eventos y cómo la plataforma Vantiq admite aplicaciones basadas en eventos.
1.2. La empresa digital y los eventos
1.2.1. Tendencias empresariales
Muchos líderes empresariales y analistas han declarado que el futuro es la empresa digital en tiempo real. Compromisos con los clientes, interacciones con socios y proveedores, y
Se requiere que todas las operaciones internas sean más receptivas y más eficientes:
· Los clientes esperan interacciones en línea y en tiempo real cuando interactúan con la empresa:
o Teléfono
o Chat
o Web (Opcional)
· Los clientes esperan que la empresa interactúe en sus términos y en sus dispositivos. Concertemos una cita para el próximo miércoles. no vuela; Completemos esta transacción en mi teléfono móvil mientras tengo un par de minutos. es la nueva norma.
· Los productos deben informar el estado en tiempo real, generando respuestas inmediatas a fallas y notificaciones proactivas a los clientes para que puedan optimizar el uso del producto.
· Los socios ofrecen eventos comerciales en tiempo real para gestionar su relación con la empresa.
· Los intermediarios de datos proporcionan contexto adicional en tiempo real con el que la empresa puede interpretar eventos comerciales en tiempo real. Ejemplos:
o Análisis continuo de la reputación de la empresa en las redes sociales.
o Compras y tendencias del mercado
· Los recursos se programan dinámicamente para minimizar el tiempo de respuesta y maximizar la productividad.
· Las cadenas de suministro se monitorean en tiempo real para que las anomalías puedan abordarse inmediatamente antes de que tengan un impacto en las operaciones posteriores.
· Finanzas opera en tiempo real con visibilidad de la situación financiera de la empresa, actualizada continuamente.
Hay una serie de ejemplos bien conocidos de operaciones en tiempo real en los mundos del comercio electrónico y la logística:
· Amazon ofrece a los clientes experiencias de compra bajo demanda vinculadas a la gestión de inventario en tiempo real, seguimiento de compras en tiempo real y entrega en tiempo real. Las devoluciones también son convenientes, con reembolsos en tiempo real cuando el producto se lleva a los centros de devolución locales.
· Las operaciones bancarias han evolucionado hasta convertirse en sistemas casi en tiempo real, ya que ahora puede obtener el estado de la cuenta hasta la última transacción para tarjetas de crédito y débito, y realizar transferencias en tiempo real entre cuentas.
· En la industria de la alta costura, se puede escanear a los clientes en busca de medidas y luego seguir el progreso de sus elecciones de moda en tiempo real hasta la puerta de su casa.
· La industria de la salud está experimentando avances especialmente rápidos para satisfacer la demanda de los clientes en tiempo real. Sólo algunos ejemplos:
o Entrega de medicamentos con drones bajo demanda
o Disponibilidad de órganos y seguimiento del transporte en tiempo real
o Medicamentos diseñados y fabricados para pacientes individuales.
o Monitoreo de signos vitales en tiempo real
o Gestión de la glucosa en sangre en tiempo real
· Los fabricantes de automóviles que solían tener un puñado de modelos ahora pueden ofrecer docenas a medida que llenan nichos más especializados y la tecnología de fabricación hace que sea más rentable producir lotes de productos más pequeños y personalizados.
La clave de todos estos ejemplos centrados en el cliente es la velocidad, mantener el contexto relevante y monitorear el estado detallado y en tiempo real de la empresa. Para lograrlo, los sistemas empresariales deben adoptar una arquitectura en tiempo real, recibiendo actualizaciones de estado en tiempo real y procesándolas en tiempo real.
1.2.2. Tecnología empresarial
Además de los impulsores empresariales, la tecnología también está impulsando la evolución de la empresa digital:
· IoT
· Experiencias de usuario impulsadas por IA como ChatGPT, Siri, Alexa y Cortana
· Realidad aumentada y realidad virtual
IoT revoluciona la empresa digital al proporcionar información detallada sobre el medio ambiente, los productos y las personas. Los productos físicos se pueden instrumentar profundamente para proporcionar una visibilidad total de su rendimiento y comportamiento. Se puede configurar el monitoreo para comprender el comportamiento de los artefactos en un espacio, incluidas las personas, para impulsar una mayor participación del cliente.
Las experiencias de usuario basadas en IA pueden cambiar la forma en que las personas interactúan con la empresa; mejorando la experiencia de clientes, empleados y socios. Las interacciones son en tiempo real.
y profundamente atractivo, haciendo también que los datos sean más precisos, con menos esfuerzo por parte del usuario.
AR y VR llevan esto al siguiente nivel al brindar al usuario vistas aumentadas de la realidad, optimizadas para sus interacciones con la empresa.
Otra clave para la empresa digital es darse cuenta de que la tecnología debe aplicarse para acceder a los datos automáticamente, evitando la entrada de datos manual propensa a errores y, a menudo, incompleta. Por ejemplo,
· Las líneas de montaje monitorean automáticamente los artículos e informan su estado a medida que avanzan en el proceso de fabricación, ya sea que el producto sea un automóvil o un suéter.
· La información básica del cliente la proporciona directamente el cliente, por lo que será menos probable que escriba mal los datos.
· Los sensores y dispositivos inteligentes aumentan los datos de los clientes.
· Sistemas como sensores in situ con reconocimiento facial o aplicaciones en dispositivos móviles detectan automáticamente la presencia del cliente, lo saludan y comienzan a brindarle información inmediata en tiempo real en función de su comportamiento de interés.
· Los patrones de uso del producto, incluso después de la compra, se pueden monitorear con miras a hacer sugerencias personalizadas al consumidor sobre cómo maximizar la utilidad del producto, mantenerlo de manera proactiva y realizar compras complementarias que vayan con el producto, ya sea que el producto es físico o un servicio de información.
Todas estas tecnologías de adquisición de datos producen eventos y están mejor respaldadas por sistemas basados en eventos.
Los impulsores comerciales y los impulsores tecnológicos de la empresa digital dependen todos de reimaginar los sistemas comerciales como sistemas impulsados por eventos:
· La información se entrega al sistema en tiempo real.
· La información debe procesarse en tiempo real..
· Se requiere una integración total de fuentes y sistemas en toda la empresa.
La observación clave con respecto a estas características es que la información se ENTREGA AL sistema, la información no es ADQUIRIDA POR el sistema.. En estas aplicaciones, el sistema no puede leer los datos almacenados en los intervalos que elija; el sistema debe ingerir EVENTOS producidos por el mundo exterior a medida que ocurren y también responder a esos eventos en tiempo real. Ésta es la razón fundamental por la que la empresa digital debe estar impulsada por eventos.
1.3. Migración impulsada por eventos
Una empresa no necesita esperar hasta que toda la organización se comprometa a convertirse en una empresa digital impulsada por eventos en tiempo real. Los componentes que componen un sistema controlado por eventos son débilmente acoplado, lo que facilita la integración con otros sistemas.
Un sistema basado en eventos bien integrado puede orquestar conexiones entre aplicaciones basadas en eventos y sistemas heredados, lo que permite a las empresas avanzar por el camino de la digitalización a su propio ritmo.
1.3.1. Gestión del riesgo
Ser capaz de responder en tiempo real es fundamental para crear aplicaciones modernas que respalden la empresa digital. Los usuarios quieren una respuesta inmediata antes de que se distraigan con alguna otra demanda de su tiempo. Incluso en operaciones comerciales totalmente automatizadas, el sistema no puede darse el lujo de aferrarse al contexto, que podría cambiar cuando se retrasa una respuesta.
1.3.2. Débilmente acoplado
Las aplicaciones basadas en eventos pueden considerarse capacidades funcionales unidas por eventos. Las funciones empresariales asincrónicas se suscriben a los eventos que son responsables de procesar, los ingieren a medida que llegan, realizan sus funciones y luego devuelven una respuesta, todo en tiempo real. Varias funciones empresariales pueden estar escuchando los mismos eventos y procesándolos de diferentes maneras, todo de forma simultánea e independiente entre sí.
Por lo tanto, mantener un sistema controlado por eventos es mucho más fácil que con otros tipos. Si una nueva función necesita procesar los mismos eventos, no es necesario actualizar las aplicaciones existentes; la nueva función comercial simplemente se suscribe a los eventos relevantes y TODAS LAS APLICACIONES EXISTENTES se extienden automáticamente para incluir la nueva función comercial. No hay manera de exagerar cuán poderoso es este modelo y cuán más receptiva puede ser la TI a medida que la empresa alcanza una masa crítica al migrar a arquitecturas basadas en eventos.
1.4. Pensamiento centrado en eventos
Una habilidad clave necesaria para diseñar y desarrollar sistemas basados en eventos es pensar en las aplicaciones en términos de sus eventos, además de pensar en la lógica empresarial y los datos.
• Requisitos.
Los sistemas tradicionales están diseñados para almacenar datos en una base de datos.
· Un sistema que sabe que algo sucedió almacena ese hecho en una base de datos. Probablemente pondrá en cola la escritura y la hará cuando sea conveniente. Esto significa que hay un retraso antes de que los datos relevantes estén siquiera disponibles.
· Otro sistema que necesita saber si sucedió algo debe sondear la base de datos en busca del evento. Si el sondeo se realiza con la frecuencia suficiente para encontrar los eventos rápidamente, la aplicación será tremendamente ineficiente. Realizar encuestas con menos frecuencia significa que las respuestas son menos oportunas y hay un retraso mayor antes de que se procese el evento.
Además, tradicionalmente, el diseño de sistemas se centra en los procesos de negocio y los datos que modelan el negocio. Este enfoque se materializa en métodos como Business Process
Gestión (BPM), Diseño Orientado a Objetos y Diseño Dirigido por Dominio.
Cada uno de estos tiende a reforzar lo que podríamos llamar "pensamiento de base de datos". En los sistemas centrados en bases de datos, la mayor parte de los sistemas que se han construido históricamente, las acciones son
registrados en la base de datos. Así, en BPM cada paso registra los resultados en una base de datos y el siguiente paso lee los resultados que necesita y continúa. En el diseño orientado a objetos, las operaciones sobre los objetos tienden a leer y escribir la base de datos para conservar el estado del objeto. Esto hace que los desarrolladores no piensen tanto en el flujo del sistema, sino en la manipulación del estado de cada actividad.
Los sistemas basados en eventos funcionan de manera diferente. Se centran en los eventos que ocurren en todo el sistema y las respuestas que la empresa debe dar a esos eventos. Para desarrollar eficazmente sistemas basados en eventos, los desarrolladores deben considerar la naturaleza basada en eventos del sistema durante todo el ciclo de vida del desarrollo de software, desde los requisitos hasta el retiro.
Pero primero, ¿qué es un evento?
Un evento es algo de interés que pasó en el negocio. El elemento clave de la definición es que el evento es algo que ocurrió en el pasado.
Lo más importante es que no es algo que deba hacerse. Por ejemplo, enviarPedido es un comando. Es una orden para hacer algo y acopla estrechamente todo el sistema para realizar esta tarea y luego realizar la siguiente. NO es un evento.
Por el contrario, orderSubmitted es un evento que representa el hecho de que se envió un pedido. El evento orderSubmitted es algo que puede provocar reacciones en una empresa digital.
El diseño ya no es sensible a cómo se realizó el pedido, ya que cualquier mecanismo que pueda producir adecuadamente un evento de pedido enviado genera la reacción correcta..
El diseño centrado en eventos también se extiende a extensiones adicionales o multidominio al agregar reacciones adicionales. Por ejemplo, orderSubmitted ciertamente impulsa el proceso de pedido pero, en una empresa digital, también puede desencadenar reacciones en la experiencia del cliente, reacciones de marketing y reacciones financieras sin que la aplicación de gestión de pedidos sepa nada sobre estos otros dominios o las reacciones que implementan.
Las diversas funciones empresariales pueden actuar sobre el evento de forma independiente, lo que hace que el sistema sea más robusto y flexible. Esto hace que las actividades paralelas sean más fáciles de manejar – algo
lo que esperaríamos en los sistemas basados en eventos de transmisión: todas las reacciones a un evento se pueden ejecutar en paralelo; Las reacciones que son independientes se pueden ejecutar en cualquier orden.
1.5. Contexto
1.5.1. Eventos y Servicios
Hay un gran enfoque en los servicios y microservicios en la arquitectura de software contemporánea.
Los servicios son un mecanismo poderoso para encapsular la funcionalidad de forma consumible en la red. Los microservicios reducen la granularidad del servicio en unidades implementables aún más pequeñas, lo que permite que cada una se actualice de forma independiente (al menos si hay suficientes pruebas disponibles para garantizar que no se introduzcan problemas de compatibilidad con versiones anteriores en la nueva implementación).
Los eventos y servicios son complementarios, ya que los eventos identifican cosas críticas que suceden en la empresa y los servicios especifican la lógica empresarial necesaria para reaccionar ante esos eventos. Un
La aplicación basada en eventos vincula los eventos y los servicios que implementan las reacciones. En tiempo de ejecución, a medida que se reciben los eventos, tal vez en forma de transmisión, la aplicación acepta el evento, determina las reacciones relevantes e invoca los servicios y microservicios adecuados para reaccionar ante el evento.
1.5.2. Mediación para la flexibilidad y la escala
Una mejor práctica común en el uso de servicios es explotar la gestión de API. La gestión de API puede considerarse como un esquema de mediación de servicios. Quienes deseen utilizar un servicio.
obtener acceso al servicio desde la capa de mediación. Si el servicio es comercial, parte del proceso de prestación consiste en acordar los términos comerciales para el uso del servicio. En tiempo de ejecución, el mediador enruta las solicitudes al servicio. El enfoque de mediación desacopla al solicitante del servicio del proveedor del servicio, lo que permite que la capa de mediación proporcione seguridad, monitoreo, devolución de cargos e independencia de API transformando las solicitudes a los formatos actuales aceptados por el servicio.
Se desarrollará una mejor práctica similar para los eventos al incluir una capacidad de gestión de eventos. Aquellos que deseen recibir un evento se ponen en contacto con la capa de mediación que proporcionará al suscriptor el acceso al evento. En tiempo de ejecución, el mediador enruta los eventos al suscriptor, lo que desacopla a los publicadores de eventos de los suscriptores, lo que permite incorporar servicios de valor agregado a la capa de mediación y permitir que los eventos evolucionen con el tiempo sin afectar a los suscriptores.
1.5.3. Eventos versus procesos
Algunos procesos no parecen prestarse bien a operaciones impulsadas por eventos, como aquellas que deben seguir un orden particular:
1. Encuentra la pieza
2. Obtener la pieza del inventario.
3. Encuentre el embalaje adecuado
4. empacar la pieza
5. Dirigir la etiqueta
6. Adjuntar etiqueta al paquete
7. Entregar el paquete al remitente
8. Registre la finalización del proceso comercial de envío.
Sin embargo, si el proceso tiene muchas variaciones o incógnitas, podría ser mejor un enfoque basado en eventos. Por ejemplo, supongamos que la máquina recolectora y transportadora falla durante el paso 2 (obtenga
la pieza del inventario). Esta es una gran oportunidad para aplicar el pensamiento de eventos:
· Comience con un evento de automatización fallido que es detectado por Mantenimiento para iniciar el proceso de reparación.
· Envío también recoge el evento simultáneamente para que puedan encontrar una forma alternativa de obtener la pieza para embalaje y envío.
· Quizás comienza un proceso que envía a un humano a obtener la pieza o se le asigna la tarea a otra máquina.
Todas estas actividades excepcionales son asincrónicas y, en algunos casos, colaborativas con otros sistemas o seres humanos, lo que hace que un sistema basado en eventos sea un enfoque más natural que un sistema de procesos.
En pocas palabras: Utilice únicamente procesos donde el proceso sea bien comprendido y en su mayoría invariante. Utilice eventos en los que el orden de las actividades pueda variar o en los que se deban acomodar una serie de condiciones y excepciones inusuales.
1.6. Táctico y Estratégico
Otro tema espinoso en el despliegue de sistemas basados en eventos, o cualquier sistema, es la tensión
entre:
· Iniciativas tácticas que se pueden implementar rápidamente y hacer avanzar a la empresa gradualmente hacia la digitalización.
· Iniciativas estratégicas que son a más largo plazo, pero que tienen un mayor impacto en el logro de los objetivos finales de digitalización.
Vantiq ofrece una plataforma única que admite aplicaciones basadas en eventos en tiempo real que pueden integrar perfectamente iniciativas de aplicaciones tácticas con iniciativas estratégicas, brindando a la empresa lo mejor de ambos mundos. Las características de la plataforma que hacen posible esta integración incluyen:
· Herramienta de modelo de diseño
· Agente de eventos de catálogo inteligente y avanzado
· Servicios
· Controladores de eventos visuales, incluidos patrones de actividad de colaboración
La siguiente discusión describe las cuestiones tácticas y estratégicas y el uso de Vantiq para reunir capacidades estratégicas a partir de iniciativas tácticas.
1.6.1. Digitalización Estratégica
Para seguir siendo competitivo en el siglo XXIst siglo, las empresas deben convertirse en operaciones altamente integradas y en tiempo real. Esto significa que los datos relevantes sobre todos los aspectos, en todas las entidades de la operación, deben recopilarse en tiempo real, analizarse en tiempo real para determinar la situación actual y, si la situación no es óptima, se deben tomar acciones de inmediato para ajustar la situación. negocio para alcanzar el estado óptimo.
Obtener este nivel de integración es actualmente extremadamente difícil, si no imposible, porque requiere un diseño de arriba hacia abajo de todo el sistema. Al igual que los esfuerzos de arquitectura empresarial, es costoso, requiere mucho tiempo y casi nunca se completa, ya que la empresa cambia más rápido de lo que se puede capturar la arquitectura. Esto desalienta a muchas empresas a considerar siquiera iniciativas estratégicas de digitalización.
1.6.2. Digitalización táctica
Dadas las dificultades para ejecutar iniciativas estratégicas de digitalización, muchas organizaciones optan exclusivamente por iniciativas tácticas más simples. Estas iniciativas tácticas tienen éxito porque satisfacen un requisito comercial claro e inmediato y pueden implementarse en un período de tiempo relativamente corto y, generalmente, dentro de un solo departamento.
El problema con las iniciativas tácticas es que, incluso cuando se agregan a lo largo del tiempo, el hecho de que cada aplicación táctica sea su propio silo significa que la noción de una empresa digitalizada en tiempo real nunca podrá lograrse por completo.
Conclusión
Empresas que quieran continuar sus operaciones comerciales en el siglo XXI.st Century debe adoptar plenamente las operaciones comerciales en tiempo real, lo que significa que sus sistemas deben estar basados en eventos y
ampliamente integrado. Vantiq es una plataforma diseñada para ayudar a los creadores de soluciones a ensamblar e integrar rápidamente aplicaciones totalmente basadas en eventos e implementarlas en todo un espectro de plataformas.