Como surgiram os conceitos
O que fazemos com isto?
• Negócios em tempo real
• Agendamento de assentos em aviões
• Controle de tráfego em rodovias
• Sistemas usando RFID
• Monitorar redes, detectar intrusos
• O que sua imaginação conceber
EDAEvent Driven Architecture
Arquitetura para sistemas que suportam a produção, detecção, o consumo e a reação a eventos (provavelmente usando CEP/ESP).
EDA e SOA
• SOA expõe e manipula serviços
• EDA define quando e como agir
• EDA complementa SOA
ESPEvent Stream Processing
Tecnologia de software para monitorar múltiplas seqüências de dados, analisá-los a partir de regras e agir de acordo com as oportunidades.
CEPComplex Event Processing
Conjunto de técnicas para tratar e processar eventos. Serve para entender e controlar sistemas de informação guiados por eventos.
Evento complexo
Acontece devido a ocorrência de outros eventos relacionados
Evento
• Observa uma variação de estado
• Registra uma atividade no sistema com sua significância e relatividade
Alguns requisitos de um software para processar eventos
• Relacionar eventos
• Enfileirar eventos
• Admitir mudanças nos eventos
• Possuir diferentes adaptadores de entrada e saída
O que existe por aí
StreamBase
• Atual empreendimento do prof. Michael Stonebroker
• http://www.streambase.com/
StreamCruncher
• Processador de eventos baseado em um núcleo multi thread escrito em Java
• Não é Open Source mas o binário pode ser usado sem custo (e sem suporte nem garantia)
• http://www.streamcruncher.com/
Coral8
• Consiste de um servidor e um studio que permite configurar os eventos como em uma IDE
• http://www.coral8.com/
BEA WebLogic® Event Server
• Feito em Java, usa o Esper como motor
• http://www.bea.com/
Progress Apama
• Além do motor para processamento de eventos dispõe de uma plataforma para negociações baseadas em algoritmos
• http://www.progress.com/apama/index.ssp
Oracle EDA Suite
• Oracle BAM - define e analisa eventos e padrões de eventos;
• Oracle ESB - routeia e distribui eventos entre aplicações;
• Oracle Sensor Edge Server - captura, filtra e administra eventos vindos de sensores físicos, incluindo RFID;
• Oracle Enterprise Messaging – entrega eventos como mensagens confiáveis com QoS configurável;
• Oracle Business Rules – roteia e distribui eventos de forma flexível via um rules engine de alta performance .
• http://www.oracle.com/technologies/soa/oracle-eda-suite-datasheet.pdf
Esper /NEsper
• Componente Open Source para CEP e ESP disponível para Java (NEsper para .NET) com licença GPL
• http://esper.codehaus.org/
Arquitetura usando Esper
Monte de outros:
• Agent Logic, Aleri, AptSoft, GemFire (da GemStone), Kaskad, LeanWay, RiverGlass, SeeWhy, Syndera, Tibco, Vhayu, etc.
• Comparações entre aguns produtos:http://rulecore.com/espblog/?page_id=63
Vem por aí em menos de 2 anos
• Business Objects, SAS, Cognos, Microsoft, Information Builders, MicroStrategy, etc.
Outras abordagens que alguns julgam adequadas para eventos
• Uso de banco de dados tradicional- exige polling, desperdiça espaço, não foi feito para lógica temporal e casualidade
• Cache distribuído ou rede do tipo JINISó tem a API de listener mas falta linguagem de processamento de eventos
• Motores de regras (Rules engines)- Não são otimizados para seqüências temporais de dados e precisariam avaliar continuamente as regras.
Sumário
CEP/ESP• Trata seqüência de dados
confrontando com consultas e listeners registrados
• Tempo e causalidade são seu diferencial
passwdchange
new auto payaccount login
account logindepositactivity history
withdrawal
logout
account login
account balance
transferdeposit new auto pay
enquiry
enquirylogout
passwdchange
new auto payaccount login
account logindeposit
activity history
withdrawal
logout
account login
transferdeposit new auto pay
enquiry
enquiry
logout
Nuvem com milhares de eventos/segundo…
…pairando sobre um banco
BPM, CEP, SOA, BAM, todos os hypes juntos
Senso
r 2
Senso
r 1
Padrões de eventos e CEP
Dúvidas?
Top Related