SlideShare une entreprise Scribd logo
1  sur  24
Télécharger pour lire hors ligne
UMA ARQUITETURA DE REFERÊNCIA PARA
PROCESSAMENTO DE EVENTOS COMPLEXOS EM NEAR-
REALTIME UTILIZANDO SISTEMAS DE GERENCIAMENTO
DE REGRAS DE NEGÓCIO
Leandro Mendes Ferreira
Processamento de Eventos Complexos com Spark
Leandro Mendes Ferreira
AGENDA!
OBJETIVOS
PROJETO
RESULTADOS
APRESENTAÇÃO
PROBLEMA
Quem sou eu?
• Formado em Processamento de Dados pela FATEC
Sorocaba
• MBA em BI pela FIAP
• Mestrando pela Politécnica - USP
• Especialista em Sistemas – Big Data na everis
• Trabalho com Big Data a Cerca de 3 anos
• A everis, uma empresa do grupo NTT DATA
• Atualmente tem 13.000 profissionais em 14 países
Linhas de Negócios:
• Consultoria de negócios
• Serviços de tecnologia da informação
• Outsourcing
• Business Process Outsourcing (BPO)
• Soluções SAP
• Iniciativas & Inovação
O que é a everis?
PROBLEMA
• Milhares de dados são gerados como eventos por dia:
• Sensores em smarts cities
• IoT (Internet of Things)
• Eventos de consumo
• Transações Financeiras
• Comercio eletrônico
• Como processar essa grande quantidade de eventos?
• Como tomar decisões em tempo real com esses
dados?
PROBLEMA
• Como explicitar regras de negócios em sistemas?
• Como criar um sistema robusto o suficiente para
processar em tempo próximo ao real regras definidas
por usuários de negócios?
OBJETIVOS
• Criar uma arquitetura de referência de um motor de inferência de eventos
• Utilizar ferramentas de Big Data como base para processamento de um grande
volume de eventos
• Subsidiar o sistema de processamento por um sistema de gerenciamento de
regras de negócios
PROJETO - FERRAMENTAS
• Como solução dos problemas levantados, foi desenvolvido um
sistema baseados em ferramentas de Big Data para
processamento de eventos complexo (CEP) juntamente com
um sistema de gerenciamento de regras de usuários (BRMS).
• As ferramentas utilizadas foram:
• Apache Spark (Ferramento para processamento em streaming de
eventos)
• Apache KAFKA (Ferramenta para transporte de mensagens
• Jboos Drools (Sistema para criação e processamento de regras de
usuários)
• Kie Workbench (Pertencente ao projeto Drools, o Kie é portal de
criação de regras de usuários)
PROJETO - Drools/ Kie
• O projeto Jboss Drools funciona com as características de um sistema especialista.
• Possui uma base de conhecimento, um motor de inferência e uma interface de/para criação de regras por usuários
Através do algoritmo ReteOO (o algoritmo Rete na sua versão
orientada a objeto) o Drools faz um casamento de padrões de
acordo com os Fatos Gerados ou Memória de Trabalho, e
usando a base de conhecimento ou Memória de Produção
efetua a correspondência de padrão. Ocorrendo o casamento
de padrões são geradas as ações, este processo é denominado
como "Agenda"
PROJETO - Drools/ Kie
A estrutura de uma regra no Drools é formada por uma
sequência de condição do bloco “Quando” e consequência ou
ação do bloco “Então”. “A primeira, também conhecida como
Left Hand Side (LHS), define as premissas impostas aos fatos
para que a mesma seja satisfeita. A última, a Right Hand Side
(RHS), é o conjunto de ações a serem executadas caso as
precondições sejam atendidas”
PROJETO – Kie Workbench - Tela de Criação de Objeto
PROJETO – Kie Workbench - Tela de Criação de Regra Guiada
PROJETO – Kie Workbench - Tela de Criação por Tabela Guiada
PROJETO – Arquitetura de Referência
Demonstração do Fluxo de Motor de Inferência
PROJETO - Funcionamento do Motor de Regras
SerializaçãoMensagem Motor de Regras Serialização Mensagem
Fato Fato
PROEJTO - Processo Proposto
Demonstração do Processo para deploy da regra criada por cliente
RESULTADOS – CASO DE USO
Regra Criada
Caso o FATO possuísse CESTA_PRODUTOS = "A" e
INDICACAO_BLOQUEIO = TRUE e
SALDO_DISPONIVEL > 11999.99 e
SEGMENTO contendo um dos seguintes valores (1,2,3) então
gerava-se como ação o objeto ACAO com campo CAMPANHA_DISPARADA = “SIM”
• Foi criado um ambiente simulado de transações bancárias.
• A partir de um determinado evento de saldo em conta corrente
deveria disparar uma campanha de marketing em tempo real para o
cliente que satisfizesse a regra implementada.
• Os geradores de fatos postavam em um tópico específico do
Apache Kafka, um fato em forma de texto estruturado
• Caso o evento satisfizesse a regra estabelecida, uma ação era
tomada. E
• A ação era representada na postagem de uma mensagem de texto
também estruturada como um JSON
RESULTADOS - Infra Estrutua Utilizada
• Servidores na “nuvem”, hospedados na Digital Ocean
• Para o Apache Spark
• Cluster de 3 nós
• 16GB de Memória, 8 Cores de CPU e 160GB de Disco SSD
• Para Apache Kafka
• Servidor com: 8GB de Memória, 4 Cores de CPU e 80GB de Disco SSD
• Jboos Drools
• Servidor com: 2GB de Memória, 2 Core de CPU e 40GB de Disco SSD
RESULTADOS - Arquitetura utilizada para Caso de USO
Arquitetura montada para testar o conceito proposto
Entry Service Layer
Processing Layer Decision Layer
Management Layer
Fast Layer
Management
Layer
Ingestor
RESULTADOS
• Janela de Processamento de 30 segundos no Apache Spark
• 5 Agentes geradores de eventos em Python
• Cada agente gerava 200 eventos por segundo para o Apache Kafka
• Processamento
• O objetivo proposto neste caso de uso foi o processamento e postagem dos 30 mil fatos na
janela de 30 segundos, tendo assim uma latência de mil operações processadas pelo Apache
Spark por segundo. Este caso de uso foi executado initerruptamente durante 4 horas. A
arquitetura proposta conseguiu atingir o objetivo proposto. O Apache Spark conseguiu
processar todas as mensagens sem perdas em todos os casos
• Não foi levada em conta à volumetria dos dados, mais sim a quantidade de mensagens e
eventos gerados
Conclusão
Neste trabalho foi demostrado que é possível criar um
sistema robusto para processamento de grandes volumes de
informações utilizando as vantagens dos BRMSs e CEPs. No
caso de uso apresentado, foi verificado que aplicações com
implicações reais para os negócios podem ser criadas com
base na arquitetura de referência proposta. Foi
demonstrado que esta arquitetura tem potencial para
processar grandes volumes de dados.
Bibliografia
• Baptista. G., Processamento Distribuído de Eventos Complexos (CEP), PUC-Rio, 2016. Disponível em : http://www-di.inf.puc-
rio.br/~endler/courses/semGSD/monografias/Gustavoaptista-Distr-CEP.pdf
• Bazzotti, C.; Garcia, E. A importância do sistema de informação gerencial para tomada de decisões, 2005. Disponível em: http://www.waltenomartins.com.br/sig_texto02.pdf.
• Duarte, D., Azevedo, L., Puntar, S., Romeiro C., Baião. F., Cappeli, C., Conceituação em BRMS. Relatórios Técnicos do Departamento de Informática Aplicada da UNIRIO n°
0022/2009, 2009.
• Drools., J. Drools Documentation: The JBoss Drools team - Version 6.5.0.Final, 2016 Disponível em : https://docs.jboss.org/drools/release/latest/drools-docs/html_single/
• Ferreira. L. M., Modelo de Processo para Criação de BI em Banco de Dados Orientado a Colunas. Congresso Ibero Americano de Computação Aplicada (CIACA 2015), 2015.
• Ganta, M., How-to: Build a Complex Event Processing App on Apache Spark and Drools. 2015, https://blog.cloudera.com/blog/2015/11/how-to-build-a-complex-event-
processing-app-on-apache-spark-and-drools/.
• Hopgood, A. A., Intelligent Systems for Engineers and Scientists, Second Edition. CRC Press. Drools JBoss Rules 5.0 Developer’s Guide, Packt Publishing, 2009.
• Lundberg. A., Utilização do Processamento de Eventos Complexos (CEP) para Melhoria do Desempenho Operacional. BUSINESS INTELLIGENCE JOURNAL - VOL. 11, Nº. 1 55,
2009.
• Mano, L.Y.; Funes, M. M.; Volpato, T. e Neto, J. R. T. Explorando tecnologias de IoT no contexto de health smart home: uma abordagem para detecção de quedas em pessoas
idosas. JADI: Marília.V.2, P. 46-57, 2016.
• McAfee, A., Brynjolfsson, E., Big Data: The Management Revolution, Harvard Business Review, 2012
• Momoh. J., Srinivasan D., Tomsovic K., Baer D., Tutorial on Fuzzy Logic Applications in Power Systems - Chapter 5: Expert Systems Applications, M.Y. Chov (eds.), 2000.
• Passos, E. L., Inteligência Artificial e Sistemas Especialistas ao Alcance de Todos. LCT, 1989.
• Pereira, I. S. A., Drools Situation: uma Abordagem Baseada em Regras para Detecção de Situações, Monografia de Bacharelado para Universidade Federal do Espirito Santo,
2011.
• Spark, A., Spark wins Daytona Gray Sort 100TB Benchmark, 2015. Disponível em: http://spark.apache.org/news/spark-wins-daytona-gray-sort-100tb-benchmark.html.
• Spark, A., Apache Spark Documentation, 2016. Disponível em: https://spark.apache.org/documentation.html.
• Souza, D. C., Neto, A. D. D., Melo, J. D., Leitão, G. B. P., Kaku. Saito. (2012) BR-PLANTEXPERT: Um Sistema Especialista para Auxílio à Tomada de Decisão em Processos
Industriais. Congresso Brasileiro de Automática, 2012.
• Wang, Y., Stream Processing Systems Benchmark: StreamBench. Dissertação de Metrado para Aalto University School of Science, 2015.
• Weppenaar, D. V. I., Vermaak, H. J., Solving planning problems with Drools Planner a tutorial. Interdisciplinary Journal, Volume 10, Interim, 2011
Thanks, we are
delighted to have the
opportunity to
transform with you
Leandro Mendes Ferreira: lmendesf@everis.com

Contenu connexe

Tendances

Tendances (18)

Governança de Dados e Big Data
Governança de Dados e Big DataGovernança de Dados e Big Data
Governança de Dados e Big Data
 
Bigdata - Leandro Wanderley
Bigdata - Leandro WanderleyBigdata - Leandro Wanderley
Bigdata - Leandro Wanderley
 
Big data: Conceitos e Desafios
Big data: Conceitos e DesafiosBig data: Conceitos e Desafios
Big data: Conceitos e Desafios
 
Big Data
Big DataBig Data
Big Data
 
Big data
Big dataBig data
Big data
 
Big data e mineração de dados
Big data e mineração de dadosBig data e mineração de dados
Big data e mineração de dados
 
Big Data e Data Science - Tecnologia e Mercado
Big Data e Data Science - Tecnologia e MercadoBig Data e Data Science - Tecnologia e Mercado
Big Data e Data Science - Tecnologia e Mercado
 
O que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasO que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidas
 
Big Data Analytics - Data Science - Aplicação e Tecnologia
Big Data Analytics - Data Science - Aplicação e TecnologiaBig Data Analytics - Data Science - Aplicação e Tecnologia
Big Data Analytics - Data Science - Aplicação e Tecnologia
 
Big Data e NoSQL
Big Data e NoSQLBig Data e NoSQL
Big Data e NoSQL
 
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e PentahoBig Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
Big Data Analytics - Do MapReduce ao dashboard com Hadoop e Pentaho
 
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big DataContexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
Contexto de Big Data, Ciência de Dados e KDD - Pós Graduação em Big Data
 
Ativando Inteligência com Big Data
Ativando Inteligência com Big DataAtivando Inteligência com Big Data
Ativando Inteligência com Big Data
 
Big Data e Seus Impactos
Big Data e Seus ImpactosBig Data e Seus Impactos
Big Data e Seus Impactos
 
Big Data - Conceitos Básicos
Big Data - Conceitos BásicosBig Data - Conceitos Básicos
Big Data - Conceitos Básicos
 
O que é Data Science?
O que é Data Science?O que é Data Science?
O que é Data Science?
 
Data mining
Data miningData mining
Data mining
 
Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02Governança de Dados e Big Data_v02
Governança de Dados e Big Data_v02
 

Similaire à TDC2017 | POA Trilha BigData - Arquitetura Big Data para Gestão de Regras de Negócios e Processamento de Eventos Complexos

BigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenhariaBigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenharia
Alessandro Binhara
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
luanrjesus
 

Similaire à TDC2017 | POA Trilha BigData - Arquitetura Big Data para Gestão de Regras de Negócios e Processamento de Eventos Complexos (20)

Aula Magna Sobre BI & BigData na UNIA, Luanda - Angola
Aula Magna Sobre BI & BigData na UNIA, Luanda - AngolaAula Magna Sobre BI & BigData na UNIA, Luanda - Angola
Aula Magna Sobre BI & BigData na UNIA, Luanda - Angola
 
Big Data
Big DataBig Data
Big Data
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on AzureTDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
TDC2018SP | Trilha Arq .Net - Serverless Reactive Programming on Azure
 
Bigadata casese opotunidades
Bigadata casese opotunidadesBigadata casese opotunidades
Bigadata casese opotunidades
 
Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?Qual é o futuro da estratégia de dados?
Qual é o futuro da estratégia de dados?
 
BigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenhariaBigData e internte das coisas aplicada a engenharia
BigData e internte das coisas aplicada a engenharia
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
BIG DATA & IoT: Tecnologias e  Aplicações
BIG DATA & IoT: Tecnologias e  AplicaçõesBIG DATA & IoT: Tecnologias e  Aplicações
BIG DATA & IoT: Tecnologias e  Aplicações
 
Planejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e FerramentasPlanejamento de Capacidade Técnicas e Ferramentas
Planejamento de Capacidade Técnicas e Ferramentas
 
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
Poço WEB - VI ENHAPE - Encontro Nacional de Hidráulica de Perfuração de Poços...
 
TDC2016SP - Trilha Microservices
TDC2016SP - Trilha MicroservicesTDC2016SP - Trilha Microservices
TDC2016SP - Trilha Microservices
 
Relatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informaticaRelatorio de estagio tecnico em informatica
Relatorio de estagio tecnico em informatica
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
 
DISCIPLINA REDES 1 TRABALHO A1
 DISCIPLINA REDES 1 TRABALHO A1 DISCIPLINA REDES 1 TRABALHO A1
DISCIPLINA REDES 1 TRABALHO A1
 
Ingestão de Dados
Ingestão de DadosIngestão de Dados
Ingestão de Dados
 
Big Data
Big DataBig Data
Big Data
 
AWS Initiate - AWS & IoT (Internet das Coisas) - Smart Cities
AWS Initiate - AWS & IoT (Internet das Coisas) - Smart CitiesAWS Initiate - AWS & IoT (Internet das Coisas) - Smart Cities
AWS Initiate - AWS & IoT (Internet das Coisas) - Smart Cities
 
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
DataOps, Data Mesh e Data Fabric. Melhores práticas para seu projeto de arqui...
 

Plus de tdc-globalcode

Plus de tdc-globalcode (20)

TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadeTDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidade
 
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
TDC2019 Intel Software Day - Tecnicas de Programacao Paralela em Machine Lear...
 
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de SucessoTDC2019 Intel Software Day - ACATE - Cases de Sucesso
TDC2019 Intel Software Day - ACATE - Cases de Sucesso
 
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPATDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPA
 
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinoTDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVino
 
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...
 
TDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devicesTDC2019 Intel Software Day - Inferencia de IA em edge devices
TDC2019 Intel Software Day - Inferencia de IA em edge devices
 
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca PublicaTrilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publica
 
Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#Trilha .Net - Programacao funcional usando f#
Trilha .Net - Programacao funcional usando f#
 
TDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case EasylocusTDC2018SP | Trilha Go - Case Easylocus
TDC2018SP | Trilha Go - Case Easylocus
 
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?
 
TDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em GolangTDC2018SP | Trilha Go - Clean architecture em Golang
TDC2018SP | Trilha Go - Clean architecture em Golang
 
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QATDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QA
 
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciaTDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendencia
 
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR ServiceTDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Service
 
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETTDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NET
 
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8
 
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
TDC2018SP | Trilha .Net - Obtendo metricas com TDD utilizando build automatiz...
 
TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#TDC2018SP | Trilha .Net - .NET funcional com F#
TDC2018SP | Trilha .Net - .NET funcional com F#
 
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net CoreTDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor  em .Net Core
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Core
 

Dernier

apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
rosenilrucks
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
marlene54545
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
LeloIurk1
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
TailsonSantos1
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
LeloIurk1
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
RavenaSales1
 

Dernier (20)

Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
Nós Propomos! Autocarros Elétricos - Trabalho desenvolvido no âmbito de Cidad...
 
praticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médiopraticas experimentais 1 ano ensino médio
praticas experimentais 1 ano ensino médio
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
apostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médioapostila projeto de vida 2 ano ensino médio
apostila projeto de vida 2 ano ensino médio
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf19- Pedagogia (60 mapas mentais) - Amostra.pdf
19- Pedagogia (60 mapas mentais) - Amostra.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
Os editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptxOs editoriais, reportagens e entrevistas.pptx
Os editoriais, reportagens e entrevistas.pptx
 
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcanteCOMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
COMPETÊNCIA 2 da redação do enem prodção textual professora vanessa cavalcante
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptxSlides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
Slides Lição 05, Central Gospel, A Grande Tribulação, 1Tr24.pptx
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIAPROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
PROJETO DE EXTENSÃO I - AGRONOMIA.pdf AGRONOMIAAGRONOMIA
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdfGEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
GEOGRAFIA - COMÉRCIO INTERNACIONAL E BLOCOS ECONÔMICOS - PROF. LUCAS QUEIROZ.pdf
 

TDC2017 | POA Trilha BigData - Arquitetura Big Data para Gestão de Regras de Negócios e Processamento de Eventos Complexos

  • 1. UMA ARQUITETURA DE REFERÊNCIA PARA PROCESSAMENTO DE EVENTOS COMPLEXOS EM NEAR- REALTIME UTILIZANDO SISTEMAS DE GERENCIAMENTO DE REGRAS DE NEGÓCIO Leandro Mendes Ferreira
  • 2. Processamento de Eventos Complexos com Spark Leandro Mendes Ferreira
  • 4. Quem sou eu? • Formado em Processamento de Dados pela FATEC Sorocaba • MBA em BI pela FIAP • Mestrando pela Politécnica - USP • Especialista em Sistemas – Big Data na everis • Trabalho com Big Data a Cerca de 3 anos
  • 5. • A everis, uma empresa do grupo NTT DATA • Atualmente tem 13.000 profissionais em 14 países Linhas de Negócios: • Consultoria de negócios • Serviços de tecnologia da informação • Outsourcing • Business Process Outsourcing (BPO) • Soluções SAP • Iniciativas & Inovação O que é a everis?
  • 6. PROBLEMA • Milhares de dados são gerados como eventos por dia: • Sensores em smarts cities • IoT (Internet of Things) • Eventos de consumo • Transações Financeiras • Comercio eletrônico • Como processar essa grande quantidade de eventos? • Como tomar decisões em tempo real com esses dados?
  • 7. PROBLEMA • Como explicitar regras de negócios em sistemas? • Como criar um sistema robusto o suficiente para processar em tempo próximo ao real regras definidas por usuários de negócios?
  • 8. OBJETIVOS • Criar uma arquitetura de referência de um motor de inferência de eventos • Utilizar ferramentas de Big Data como base para processamento de um grande volume de eventos • Subsidiar o sistema de processamento por um sistema de gerenciamento de regras de negócios
  • 9. PROJETO - FERRAMENTAS • Como solução dos problemas levantados, foi desenvolvido um sistema baseados em ferramentas de Big Data para processamento de eventos complexo (CEP) juntamente com um sistema de gerenciamento de regras de usuários (BRMS). • As ferramentas utilizadas foram: • Apache Spark (Ferramento para processamento em streaming de eventos) • Apache KAFKA (Ferramenta para transporte de mensagens • Jboos Drools (Sistema para criação e processamento de regras de usuários) • Kie Workbench (Pertencente ao projeto Drools, o Kie é portal de criação de regras de usuários)
  • 10. PROJETO - Drools/ Kie • O projeto Jboss Drools funciona com as características de um sistema especialista. • Possui uma base de conhecimento, um motor de inferência e uma interface de/para criação de regras por usuários Através do algoritmo ReteOO (o algoritmo Rete na sua versão orientada a objeto) o Drools faz um casamento de padrões de acordo com os Fatos Gerados ou Memória de Trabalho, e usando a base de conhecimento ou Memória de Produção efetua a correspondência de padrão. Ocorrendo o casamento de padrões são geradas as ações, este processo é denominado como "Agenda"
  • 11. PROJETO - Drools/ Kie A estrutura de uma regra no Drools é formada por uma sequência de condição do bloco “Quando” e consequência ou ação do bloco “Então”. “A primeira, também conhecida como Left Hand Side (LHS), define as premissas impostas aos fatos para que a mesma seja satisfeita. A última, a Right Hand Side (RHS), é o conjunto de ações a serem executadas caso as precondições sejam atendidas”
  • 12. PROJETO – Kie Workbench - Tela de Criação de Objeto
  • 13. PROJETO – Kie Workbench - Tela de Criação de Regra Guiada
  • 14. PROJETO – Kie Workbench - Tela de Criação por Tabela Guiada
  • 15. PROJETO – Arquitetura de Referência Demonstração do Fluxo de Motor de Inferência
  • 16. PROJETO - Funcionamento do Motor de Regras SerializaçãoMensagem Motor de Regras Serialização Mensagem Fato Fato
  • 17. PROEJTO - Processo Proposto Demonstração do Processo para deploy da regra criada por cliente
  • 18. RESULTADOS – CASO DE USO Regra Criada Caso o FATO possuísse CESTA_PRODUTOS = "A" e INDICACAO_BLOQUEIO = TRUE e SALDO_DISPONIVEL > 11999.99 e SEGMENTO contendo um dos seguintes valores (1,2,3) então gerava-se como ação o objeto ACAO com campo CAMPANHA_DISPARADA = “SIM” • Foi criado um ambiente simulado de transações bancárias. • A partir de um determinado evento de saldo em conta corrente deveria disparar uma campanha de marketing em tempo real para o cliente que satisfizesse a regra implementada. • Os geradores de fatos postavam em um tópico específico do Apache Kafka, um fato em forma de texto estruturado • Caso o evento satisfizesse a regra estabelecida, uma ação era tomada. E • A ação era representada na postagem de uma mensagem de texto também estruturada como um JSON
  • 19. RESULTADOS - Infra Estrutua Utilizada • Servidores na “nuvem”, hospedados na Digital Ocean • Para o Apache Spark • Cluster de 3 nós • 16GB de Memória, 8 Cores de CPU e 160GB de Disco SSD • Para Apache Kafka • Servidor com: 8GB de Memória, 4 Cores de CPU e 80GB de Disco SSD • Jboos Drools • Servidor com: 2GB de Memória, 2 Core de CPU e 40GB de Disco SSD
  • 20. RESULTADOS - Arquitetura utilizada para Caso de USO Arquitetura montada para testar o conceito proposto Entry Service Layer Processing Layer Decision Layer Management Layer Fast Layer Management Layer Ingestor
  • 21. RESULTADOS • Janela de Processamento de 30 segundos no Apache Spark • 5 Agentes geradores de eventos em Python • Cada agente gerava 200 eventos por segundo para o Apache Kafka • Processamento • O objetivo proposto neste caso de uso foi o processamento e postagem dos 30 mil fatos na janela de 30 segundos, tendo assim uma latência de mil operações processadas pelo Apache Spark por segundo. Este caso de uso foi executado initerruptamente durante 4 horas. A arquitetura proposta conseguiu atingir o objetivo proposto. O Apache Spark conseguiu processar todas as mensagens sem perdas em todos os casos • Não foi levada em conta à volumetria dos dados, mais sim a quantidade de mensagens e eventos gerados
  • 22. Conclusão Neste trabalho foi demostrado que é possível criar um sistema robusto para processamento de grandes volumes de informações utilizando as vantagens dos BRMSs e CEPs. No caso de uso apresentado, foi verificado que aplicações com implicações reais para os negócios podem ser criadas com base na arquitetura de referência proposta. Foi demonstrado que esta arquitetura tem potencial para processar grandes volumes de dados.
  • 23. Bibliografia • Baptista. G., Processamento Distribuído de Eventos Complexos (CEP), PUC-Rio, 2016. Disponível em : http://www-di.inf.puc- rio.br/~endler/courses/semGSD/monografias/Gustavoaptista-Distr-CEP.pdf • Bazzotti, C.; Garcia, E. A importância do sistema de informação gerencial para tomada de decisões, 2005. Disponível em: http://www.waltenomartins.com.br/sig_texto02.pdf. • Duarte, D., Azevedo, L., Puntar, S., Romeiro C., Baião. F., Cappeli, C., Conceituação em BRMS. Relatórios Técnicos do Departamento de Informática Aplicada da UNIRIO n° 0022/2009, 2009. • Drools., J. Drools Documentation: The JBoss Drools team - Version 6.5.0.Final, 2016 Disponível em : https://docs.jboss.org/drools/release/latest/drools-docs/html_single/ • Ferreira. L. M., Modelo de Processo para Criação de BI em Banco de Dados Orientado a Colunas. Congresso Ibero Americano de Computação Aplicada (CIACA 2015), 2015. • Ganta, M., How-to: Build a Complex Event Processing App on Apache Spark and Drools. 2015, https://blog.cloudera.com/blog/2015/11/how-to-build-a-complex-event- processing-app-on-apache-spark-and-drools/. • Hopgood, A. A., Intelligent Systems for Engineers and Scientists, Second Edition. CRC Press. Drools JBoss Rules 5.0 Developer’s Guide, Packt Publishing, 2009. • Lundberg. A., Utilização do Processamento de Eventos Complexos (CEP) para Melhoria do Desempenho Operacional. BUSINESS INTELLIGENCE JOURNAL - VOL. 11, Nº. 1 55, 2009. • Mano, L.Y.; Funes, M. M.; Volpato, T. e Neto, J. R. T. Explorando tecnologias de IoT no contexto de health smart home: uma abordagem para detecção de quedas em pessoas idosas. JADI: Marília.V.2, P. 46-57, 2016. • McAfee, A., Brynjolfsson, E., Big Data: The Management Revolution, Harvard Business Review, 2012 • Momoh. J., Srinivasan D., Tomsovic K., Baer D., Tutorial on Fuzzy Logic Applications in Power Systems - Chapter 5: Expert Systems Applications, M.Y. Chov (eds.), 2000. • Passos, E. L., Inteligência Artificial e Sistemas Especialistas ao Alcance de Todos. LCT, 1989. • Pereira, I. S. A., Drools Situation: uma Abordagem Baseada em Regras para Detecção de Situações, Monografia de Bacharelado para Universidade Federal do Espirito Santo, 2011. • Spark, A., Spark wins Daytona Gray Sort 100TB Benchmark, 2015. Disponível em: http://spark.apache.org/news/spark-wins-daytona-gray-sort-100tb-benchmark.html. • Spark, A., Apache Spark Documentation, 2016. Disponível em: https://spark.apache.org/documentation.html. • Souza, D. C., Neto, A. D. D., Melo, J. D., Leitão, G. B. P., Kaku. Saito. (2012) BR-PLANTEXPERT: Um Sistema Especialista para Auxílio à Tomada de Decisão em Processos Industriais. Congresso Brasileiro de Automática, 2012. • Wang, Y., Stream Processing Systems Benchmark: StreamBench. Dissertação de Metrado para Aalto University School of Science, 2015. • Weppenaar, D. V. I., Vermaak, H. J., Solving planning problems with Drools Planner a tutorial. Interdisciplinary Journal, Volume 10, Interim, 2011
  • 24. Thanks, we are delighted to have the opportunity to transform with you Leandro Mendes Ferreira: lmendesf@everis.com