Full text
Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities Dr. Juan Boubeta-Puig Departamento de Ingeniería Informática Universidad de Cádiz Universidad de Málaga Málaga, 20 de febrero de 2017
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CONTENIDOS •Procesamiento de eventos complejos •Esper EPL •MEdit4CEP •Casos de estudio 2
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CONTENIDOS •Procesamiento de eventos complejos •Esper EPL •MEdit4CEP •Casos de estudio 3
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities PROCESAMIENTO DE EVENTOS COMPLEJOS •Tecnología emergente que permite procesar, analizar y correlacionar grandes cantidades de eventos. •Para detectar y responder en tiempo real a situaciones críticas o relevantes del negocio. •Los patrones de eventos inferirán nuevos eventos más complejos (“situaciones”) con mayor significado semántico. •Requisitos software: –Motor CEP (Complex Event Processing), p.e. Esper. –EPL (Event Processing Language), p.e. EPL de Esper. Definición 4
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities PROCESAMIENTO DE EVENTOS COMPLEJOS Patrón de eventos 5 Eventos simples Evento complejo
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities PROCESAMIENTO DE EVENTOS COMPLEJOS Etapas 6 Eventos Situaciones detectadas Definir patrones de eventos (usando Event Processing Languages) Tiempo de ejecución Tiempo de diseño Patrón 1 Patrón 2 Motor CEP Patrón 2Patrón 1 Patrón 1 Patrón 2 Acciones Captura de eventos Análisis Respuesta
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities PROCESAMIENTO DE EVENTOS COMPLEJOS Procesamiento estático vs dinámico 7 Consultas Resultado Datos Datos Resultado Patrones Procesamiento estático Procesamiento dinámico: CEP La cotización de un valor o una noticia sobre una compañía en un instante determinado Si se publica una noticia sobre una compañía y en menos de 30 s la cotización baja un 5%, entonces generar una orden de venta
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities PROCESAMIENTO DE EVENTOS COMPLEJOS Aplicación práctica 8 Detect (Detectar) Derive (Inferir) Do (Actuar) Decide (Decidir) ¿Qué ha ocurrido? ¿Qué debemos hacer? Quiero saber (cuanto antes) qué está pasando y reaccionar de la mejor forma posible “No va a ser mejor el que más información tenga, sino el que mejor la sepa analizar y más rápidamente actúe” (Víctor Ayllón, CEO Novayre Solutions)
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities PROCESAMIENTO DE EVENTOS COMPLEJOS Ventajas y escenarios de aplicación 9 •Ventajas: –Prevención de sobrecarga de información. –Reducción del esfuerzo humano. –Respuesta veloz. –Mejora de la calidad en las decisiones. •Escenarios de aplicación: –Bolsa: comprar y vender automáticamente. –Comercio: detectar compras fraudulentas. –IoT: procesar en tiempo real datos de sensores y generar alarmas/acciones sobre actuadores. –Seguridad: detectar ataques de seguridad en sistemas informáticos. –…
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CONTENIDOS •Procesamiento de eventos complejos •Esper EPL •MEdit4CEP •Casos de estudio 16
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities INTRODUCCIÓN •Situación actual: –Compañías gestionan grandes cantidades de información. –Necesitan conocer el valor que tienen los datos para una buena toma de decisiones. –Se propone el uso de CEP en sus sistemas de información (SOA). •Problema a resolver: –Se requiere a los expertos en el negocio tener conocimientos de programación para: •Definir las condiciones de las situaciones a detectar. •Definir las acciones a llevar a cabo. –Las herramientas actuales no abstraen al usuario de las tecnologías. Motivación (i) 17
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities INTRODUCCIÓN •MEdit4CEP: Una solución dirigida por modelos para la toma de decisiones en arquitecturas orientadas a servicios y dirigidas por eventos (ED-SOA o SOA 2.0). –Integración de CEP con SOA 2.0. –Definición de dominios CEP y patrones de eventos mediante editores gráficos e intuitivos. –Generación automática de código. •Propósito: poner CEP al alcance de cualquier usuario, repercutiendo beneficiosamente en el proceso de toma de decisiones. 18 Motivación (ii)
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities •Las comunicaciones entre usuarios, servicios y aplicaciones se llevan a cabo a través de eventos. 19 SOA EDA Interacciones Débilmente acopladas Desacopladas Comunicaciones Uno a uno Muchos a muchos (publicación -suscripción) Reacción frente a Clientes Eventos Tipo comunicación Síncrono Asíncrono + Fuente: [Maréchaux] INTRODUCCIÓN SOA 2.0 = SOA + EDA (i)
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities •Arquitectura tradicional versus arquitectura basada en un Enterprise Service Bus (ESB): •Ventajas de un ESB: –Facilita la integración de SOA y EDA. –Ideal para trabajar en entornos heterogéneos. –Reduce el coste total de la gestión y el mantenimiento. 20 Fuente: [Rademakers & Dirksen] INTRODUCCIÓN SOA 2.0 = SOA + EDA (ii)
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities INTRODUCCIÓN Desarrollo de software dirigido por modelos 21 •Modelo: representación simplificada de una determinada realidad para comprenderla mejor. •Lenguaje de modelado específico de dominio (DSML) = Sintaxis abstracta (metamodelo y reglas de validación) + sintaxis concreta + transformaciones •Beneficios de DSML: •Mejora la productividad de desarrollo. •Mejora la comunicación con expertos en el domino. •Facilita la adaptación ante los cambios. •Especifica el qué, no el cómo.
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities ENFOQUE DIRIGIDO POR MODELOS PARA CEP EN SOA 2.0 22 Boubeta-Puig, J., Ortiz, G., & Medina-Bulo, I. (2015). MEdit4CEP: A model-driven solution for real-time decision making in SOA 2.0. Knowledge-Based Systems, 89, 97–112. http://doi.org/10.1016/j.knosys.2015.06.021
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities EDITOR GRÁFICO DE PATRONES DE EVENTOS 23 Boubeta-Puig, J., Ortiz, G., & Medina-Bulo, I. (2015). MEdit4CEP: A model-driven solution for real-time decision making in SOA 2.0. Knowledge-Based Systems, 89, 97–112. http://doi.org/10.1016/j.knosys.2015.06.021 https://ucase.uca.es/medit4cep/
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CONTENIDOS •Procesamiento de eventos complejos •Esper EPL •MEdit4CEP •Casos de estudio 24
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CASOS DE ESTUDIO CEP aplicado a smart cities 25
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities TRÁFICO DE CARRETERAS •PerdidaPresionRueda (P): la presión de una rueda pasa de 3,1 BAR a <=2,8 BAR en menos de 15 minutos. •ExplosionRueda (E): la presión de una rueda pasa de 3,1 BAR a <=1,2 BAR en menos de 5 segundos. •Colision (C): la velocidad del coche superior a 50 km/h pasa a 0 km/h en menos de 3 segundos. •OcupanteAbandonaAsiento (O): el asiento ocupado pasa a estar libre. •AccidenteOcupanteDespedido (A): se explota una rueda y, en los siguientes 5 segundos, se produce una colisión provocando que el ocupante abandone el asiento. Patrones de eventos 32 A P E C O
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CALIDAD DEL AIRE Descripción 33 ESB Caso de estudio en colaboración UCM & UCLM & UCA (proyecto TIN2015-65845-C3 coordinado por Prof. Manuel Núñez).
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities CALIDAD DEL AIRE Modelado del patrón (simplificado) ModerateAirQuality 34
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities OTROS 35 …
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities REFERENCIAS BIBLIOGRÁFICAS Tesis doctoral: •Boubeta-Puig, J. Desarrollo Dirigido por Modelos de Interfaces Específicas de Dominio para el Procesamiento de Eventos Complejos en Arquitecturas Orientadas a Servicios. Universidad de Cádiz, Cádiz, España, 2014. http://rodin.uca.es:80/xmlui/handle/10498/17554 CEP & SOA 2.0: •Boubeta-Puig; Ortiz, G; Medina-Bulo, I. MEdit4CEP: A Model-driven Solution for Real-time Decision Making in SOA 2.0. Knowledge-Based Systems, vol. 89, pp. 97–112, Nov. 2015. •Boubeta-Puig; Ortiz, G; Medina-Bulo, I. ModeL4CEP: Graphical Domainspecific Modeling Languages for CEP Domains and Event Patterns. Expert Systems with Applications, vol. 42, no. 21, pp. 8095–8110, Nov. 2015. •Boubeta-Puig; Ortiz, G; Medina-Bulo, I. A Model-driven Approach for Facilitating User-friendly Design of Complex Event Patterns. Expert Systems with Applications, vol. 41, no. 2, pp. 445–456, Feb. 2014. 36
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities REFERENCIAS BIBLIOGRÁFICAS CEP: •Chandy, K.M.; Schulte, W.R. Event Processing: Designing IT Systems for Agile Companies. McGraw-Hill, 2010. •Etzion, O.; Niblett, P. Event Processing in Action. Manning, 2010. •Luckham, D. Event Processing for Business: Organizing the Real-Time Enterprise. Wiley, 2012. •Luckham, D. The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems. Addison-Wesley, 2001. SOA: •Papazoglou, M.P. Web Services & SOA: Principles and Technology. Pearson –Prentice Hall, 2012. EDA: •Taylor, H.; Yochem, Y.; Phillips, L.; Martinez, F. Event-Driven Architecture: How SOA Enables the Real-time Enterprise. AddisonWesley, 2008. 37
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities REFERENCIAS BIBLIOGRÁFICAS Esper: •EsperTech Inc. Documentation: Esper & EsperIO, 2017. http://www.espertech.com/esper/documentation.php •EsperTech Inc. Documentation: Chapter 7. EPL Reference: Patterns,2017. http://www.espertech.com/esper/release-5.3.0/esper-reference/html/event_patterns.html •EsperTech Inc. Esper EPL Online, 2017. http://esper-epl-tryout.appspot.com/epltryout/index.html MEdit4CEP: •J. Boubeta-Puig, 2017. https://ucase.uca.es/medit4cep/ Mule: •MuleSoft Inc. Anypoint Studio, 2017. https://www.mulesoft.com/platform/studio ThingSpeak: •ThingSpeak, 2017. https://thingspeak.com/ •ThingSpeak Documentation, 2017. https://es.mathworks.com/help/thingspeak/ 38
UCA Juan Boubeta-Puig Procesamiento de Eventos Complejos Aplicado al Ámbito de las Smart Cities ¡Muchas gracias por su atención! https://ucase.uca.es/juan-boubeta-puig jua[email protected] 39