CEP(Complex Event Processing) e ESP(Event Stream Processing)
Posted by: Edgar Silva in jboss
Em ambientes de integração, onde falamos de milhares de transações por dia ou por hora, minuto etc, é muito importante atentar para as atividades que acontecem e com isto tomamos alguma ação, para isto damos o nome de “evento”.
CEP vem de (Complex Event Processing) e ESP (Event Stream Processing), ok, siglas bonitas, para quando preciso usar CEP?
- Imagine processar milhões de verificações por dados de objetos e com base nissso tomar algumas decisões, seja para monitoração ou gerar eventos que executem outras atividades.
- CEP e ESP estão focados em processamento de grandes volumes.
- É fácil confundir CEP com RulesEngines, mas uma coisa é o Pattern Matcher e outra coisa é o processamento de grandes volumes de informações de objetos, ainda que numa janela de tempo, onde alguns Garbage Collectors tenham sido executados.
- Como os produtos de CEP têm implementações de Pattern Matching não tão poderosas, a idéia é juntar o poder de do Drools (Engine Rules) e CEP.
Vamos imaginar um cenário de atividades de transito, como um evento : “O veículo mudou de jurisdição”, quais os fatores estão envolvidos?
- Exemplo, meu carro é licenciado no Detran-Rio Grande do Sul (claro que este processo é apenas de exemplo)
- O Detran-SP envia todas as multas aplicadas no estado de SP para um broker do Denatran (por exemplo um ESB ou um SCA)
- O Denatram envia num mês milhões de transações enviando todas as multas para as jurisdições regionais
- O Detran-RS recebe um grande lote de notificações
- Dessas notificações que foram processadas, por hipótese (claro
), há várias infrações do meu veículo num periodo de 2 anos. - Podemos chegar a conclusão que este veículo pode ter mudado de jurisdição e uma notificação via e-mail poderia ser enviado para o proprietário.
A grande questão acima, não é a apenas a regra, mas o volume de transações, sendo assim, o uso de CEP aliado a um ESB, é algo que particularmente me chama a atenção, um barramento de serviços aliado a algo além de um simples BAM.
O Drools em suas próximas versões estará suportando CEP, nosso amigo brasileiro Edson Tirelli entre as muitas coisas, está trabalhando exatamente nestes aspectos no momento, tive acesso a um trunk que já contempla algumas coisas relacionadas a CEP já no Drools.
Se você tiver um maior interesse, recomendo utilizar a mesma implementação que tenho usado para estudo, que é o Esper, que inclusive tem uma versão a Java, e uma .net.
Bons estudos
E

Entries (RSS)