Apresentando CEP - TDC2011 / Trilha SOA
-
Upload
paulosampei -
Category
Technology
-
view
866 -
download
1
Transcript of Apresentando CEP - TDC2011 / Trilha SOA
Como funciona e trabalha os eventos complexo.
@paulosampei
O que é um Evento?
O que é Complex Event Processing (CEP)?
Princípios do CEP: baseados em sistemas
Princípios do CEP: dentro do contexto
Monitorar, Analisar e Atuar com CEP
CEP – Para todos Eventos
Porque CEP é importante, dentro do contexto SOA
Adoção do CEP
Onde CEP é usado?
Plataformas CEP no mercado
O que é APAMA CEP?
Como o APAMA trabalha?
Sobre APAMA Correlator
Exemplo Regra: Click Stream do TDC2011
Princípios da plataforma CEP APAMA
Arquitetura APAMA em alto nível
Quem está envolvido em projeto APAMA?
Evento é um pedaço de dado que representa um acontecimento.
Exemplo de evento inclui:
◦ Eventos de mercado financeiro:
“Comprar 10,000 ações da IBM por R$80,45”
◦ Eventos de Supply chain:
“RFID tag 121.19.1818 foi escaneado as1:39PM no dock door 10”
◦ Eventos de segurança:
“Endereço TCP/IP 128.1.32.298 foi acessado no servidor 5”
Não é Código de Endereçamento Postal
CEP (Complex Event Processing)◦ Processamento de eventos complexos (CEP) é a
capacidade de gerenciar eventos, a fim de identificar e tomar medidas a partir de padrões definidos, indicando oportunidades e/ou ameaças para o negócio, onde temos uma percepção de situações, sentir e responder sempre controlando e rastreando.
CEP permite que se aplique em real-time inteligência para um streaming data, exemplo:◦ Sequência de eventos (A seguido por B, então C) ◦ com condicional (o valor de A é >100)◦ ou restrições temporais (dentro 5 minutos)
X
Detecta padrões complexos de um stream de eventos em tempo-real, onde os dados pode ter uma janela de tempo, maximizando seu valor
Atuar sobre ameaças ou oportunidade com capacidade de respostas em tempo-real
Algo Trading
Energy Trading/Hedging
Preços em tempo real
Aplicações Event Driven
Pra que é usado?
RFID
Grade de Energia
Linha de montagem
Sensibilidade e Resposta nas Aplicações
Pesquisa de mercado
Alvo de Marketing Click stream
Fraude CartãoCrédito
BAM em Tempo-Real
Tratar qualquer atualização do negócio como um “evento”
Permitir que usuários rapidamente definam regrasbaseadas em eventos para identificar padrõesindicando oportunidades e tratamento para o negócio
Regras são carregadas em real-time engine queoferece análise e resposta com baixa latência
A engine é permanentemente conectada em váriasfontes de eventos e destinos
Eventos podem ser capturado e guardado em ordem para análise de padrões históricos e análise da causa raiz.
Tratar qualquer transação de cartão de créditoatualizado como um“evento”
Permitir que usuários rapidamente definamalgorítmos quantitativo para identificar um usoanormal
Regras são carregadas dentro de um sistema de detecção que oferece análise e resposta com latênciade milesegundos
O sistema de detecção é permanentemente conectadaem vários sistemas de processamento de transação e histórico de banco de dados
Eventos podem ser capturado e guardado em ordem para análise de padrões históricos e análise da causa raiz.
Detecção de fraude em cartões de crédito
Complex Event Processing – Atua em movimento
“Quando 2 ou mais transações ocorrer em mais de 1 lugar em
um período de 1 minuto, enviar um alerta.”
Tempo1 2 3 4 5 6 7 8 9
Processamento Tradicional – Atua em dados passados“Houve alguma transação de cartão que teve uma
atividade incomum?”
Event Streams
O que aconteceu (BI/Reporting)?
O que está acontecendo agora (CEP)?
CEP monitora, analisa e atua em resposta de eventos que chegam de uma ou mais fontes simultaneamente, incluindo: Transações de negócios Como uma ordem ou remessa
Mudanças de estado de um processo de negócio tais como as etapas de processamento de um pedido
Sensores em objetos físicos ou virtuais tais como um monitoramento de estado de uma máquina ou
localização de um caminhão. Alternativamente, o monitoramento de um jogo de computador ou de um fluxo de cliques.
Streams de eventos externos Tais como mercado de açoes (bolsas), novos feeds, dados
meteorológicos
1 - SOA promove o uso de EDA (Event Driven Architecture) incentivando a mudança de informãções
2 - Processos de negócios tendem a operar de forma orientada a eventos.
3 - Por causa das mudanças causadas pelo EDA, tendo a capacidade de processar eventos de forma inteligente o tornando fundamental.
Event Driven Architecture (EDA): Padrão de arquitetura de software que promove a produção, detecção e consumo de uma reação para um EVENTO.
SOA - Conecta a um serviço seguindo uma linha, sequência previsível
EDA - Permite multiplos, menos previsível, eventos assíncronos acontecendo em paralelo e disparando uma simples ação.
Preços real-time
Roteamento de pedido inteligenteAgregação de Mercado
Pesquisa de mercado
Riscos real-time
Negociação de ativos
Transporte & Logistica
Telco
Deteção Fraude
Monitoramento Energy Grid
Monitoramento de Processos de Manufatura
Algorithmic Trading (bolsa)
Supply Chain & Otimização das vendas
Inventário automatizado / abastecimento para operações de varejo. Onde está este livro agora?
ManufaturaTodas as linhas da operação estão
com máxima eficiência? Há um problema no percurso do
carregamento em uma linha e vai ter um efeito adverso nos processos de entrega do carregamento? Posso absorver alterações de última hora
na demanda?
Telco
Identificar sistemas de negócios de baixo desempenho para
assegurar níveis de serviço e se podem ser atendidas e
melhoradas
Logística
Otimização do tráfego marítimo no porto para obter maior eficiência
das operações portuárias e reduzir os custos de combustível
Uma plataforma completa para construção, emreal-time de aplicações event-driven.
Isso consiste em:
Research Studio
Dashboards integrados em real-time
Ambiente de desenvolvimento baseado emEclipse: Apama Studio
Uma engine de correlação de eventos em real-time com gereciamento e alta disponibilidade
MANAGE/MONITOR
Ad
ap
terEvents Events
Events
ESB
Events
Inicia com um evento
O correlator é um processo no qual expõe um número de operações remotas através de um transporte baseado emsocket
A operação primária inclui:
◦ Envia eventos para o correlator (input)
◦ Subscreve eventos (ou todos) nos canais de chamadas(output)
◦ Injeta código
Há uma fila de entrada e uma de saída:
e5 e3 e2 e1e4
Fila de entrada Fila de saída
o1o2o3o4o5Código
O processo do correlator ocorre na entrada do stream de evento◦ Seguindo as intruções escritas no MonitorScript (linguagem
APAMA)
A performance do correlator é extremamenteeficiente comparado a queries◦ Usando uma estrutura de dados chamada de hypertree
A saída dos stream de eventos do correlator para o clientes◦ Dividi em uma série de canais com eficiência◦ Clientes somente usa os canais que precisarem
O correlator entrega eventos complexos no quais são:◦ Usados internamente◦ Processados no mesmo caminho como um evento externo◦ Todos os processados antes do próximo evento externo
Uma aplicação tradicional baseada em aplicação: ◦ Indexa cada item de um dado quando recebido◦ Realiza uma nova consulta depois que cada item é
indexado (ou executa a cada n segundos)◦ Resultado de processos
Este tipo de aplicação te um grande overhead “por evento”
O correlação do evento no APAMA tira de sua cabeça essa ideia◦ O correlator indexa queries, não dados◦ Cada evento é passado sobre as queries
Menos overhead “por evento” = Melhor performance
ALL WITHINno período de 60 min
Regra de monitoramento
AND (Aumento do número de cadastros no TDC
IFProcura na WEB por informações do evento TDC2011 aumentar em 5%
ORA taxa de procura ser concluída
))
FOLLOWED-BY (Disponibilidade pela procura da trilha SOA
THENBaixar preço evento (100 pessoas)Lançar uma campanha paraa trilha SOA com desconto
Click Stream
Web Site
Click Stream
Cadastro
DB Histórico
Click Stream
Disponibilidade Trilha
• Sequência de CE
• Data streams tempo-real
• Restrições em tempo-real
• Ação automática
• Sequência temporal
Tratar qualquer sistema (aplicações, redes, integrações, ambiental) atualizado como um “evento”
Habilitar regras baseadas em evento definidos para monitorar, analisar e atuar em um “event patterns”
Regras identificam oportunidades ou ameaças que podem ser definidos rapidamente usando uma ferramenta gráfica de modelagem
Regras são carregadas dentro da engine em tempo-real que oferece uma análise e resposta em microsegundos de latência
Engine permanetemente conectada em multiplas redes (backbones) e serviços
Eventos podem ser capturados e guardados em tempo de pedido para uma análise e causa raiz histórica
ScenarioDefinition Tools
Dashboard Studio
End-userDashboards
User Tools
EventAnalysis &Storage
HistoricalEvent Store
EventProcessingEngine
Processando e analisando a camada engine
Dados de eventos são analisados e correlacionados. Event store dá acesso históricos de informação. Alta performance e escalável
Camada apresentação
Dando aos usuários visibilidade de cenários e KPIs, permite ajustes de parametros e drill-down
Coleção de eventos
Eventos podem estar disponíveis em multiplos stream em tempo-real como databases e outras informações de sistemas
`
EnterpriseIntegration
Adapter Framework
Middleware DBMS etc.
APIC/C++JAVA.NET
Analista
Negócio
Traduz os requisitos para o negócio
Defini e desenha os dashboards
Defini e testa as regras de negócios
Usa e defini análise de negócios adequado
Entende dos processos existentes
Usuário chave
TécnicoArquitetos e
Desenvolvedores
Responsável pela integração de ferramentas dentro de um ambiente
Irá trabalhar com o analista de negócioem suporte a aplicações de negócios
Implementação
Implementação das análises
Responsável por problemas operacionais
Linha Negócio
Usuário final do dashboards
Qual parâmetro alterar ou configurar
Monitorar execuções e receber alertas
Intervir manualmente
Monitorar ações automatizadas
Fornecer probabilidade de R$ projeto
monitor StoppedTruck {
TruckUpdate t;
action onload {
on all TruckUpdate(speed <= 0):t
-> TruckUpdate (truckid=t.truckid, speed <= 0)
within(600.0) {
emit StoppedTruck(truckid, “Mova-se!”);
}
}}
event TruckUpdate {
string truckid;
string region;
location gps;
float speed;
}
* Also available in Java
Event Processing in Actionby Opher Etzion & Peter Niblett
The Power of Events: An Introduction to Complex Event Processing in Distributed Enterprise Systems (Hardcover)By: David Luckham (Author)
http://progress.com/apamahttp://progress.com
@paulosampei
http://web.progress.com/pt-br/apama/calender-apama.html