Aprendizados de uma arquitetura  dirigida a eventos (EDA/ECA)                … Do conceito ao multiplataforma             ...
EDA - Event-driven Architecture• O que é?    Padrão de desenvolvimento de     software :-)• Serve para?    Detecção de e...
EDA - Event-driven Architecture•ECA – Event Condition Action    Nada mais do que um “regra”! Ex.:    Sinistro ocorrido!  ...
EDA - Event-driven Architecture•ECA – Event Condition Action • Event :   … computacionalmente representa algo que ocorreu....
EDA - Event-driven Architecture•ECA – Event Condition Action • Condition :
EDA - Event-driven Architecture•ECA – Event Condition Action • Action :      Realização de uma operação;      Atualizaçã...
EDA - Event-driven Architecture•ECA – Event Condition Action      Simples                     Complexa
EDA - Event-driven Architecture• Camadas de um estrutura EDA I. Event Generator      Criação/Instalação de     sensores; ...
EDA - Event-driven Architecture• Considere …    Prover modelagens reusáveis!    Visar sempre o baixo   acoplamento!    ...
EDA - Event-driven Architecture• Camadas de um estrutura EDA II. Event Channel    Mecanismo de tráfego de   informações; ...
EDA - Event-driven Architecture• Considere …    Prover facilitadores para a   criação do     “contexto”;    Quanto menos...
EDA - Event-driven Architecture• Camadas de um estrutura EDA III. Event Processing Engine    Onde é IDENTIFICADA e EXECUT...
EDA - Event-driven Architecture• Considere …     Deve possuir custo de    processamento      baixissimo;     Basicamente...
EDA - Event-driven Architecture• Modularidade / Componentização    Responsabilidades bem   distribuidas;    Baixo Acopla...
EDA - Event-driven Architecturehttp://martinfowler.com/articles/lmax.html
EDA - Event-driven Architecture• Onde pode ser útil    Regras de Negócio (BPM)    Sistemas de   alerta/monitoramento   ...
EDA - Event-driven Architecture• Ferramentas de mercado    Drools             http://www.jboss.org/drools/    Outras ope...
Referências e Links Event-driven Architecture     http://en.wikipedia.org/wiki/Event-driven_architecture Artigos:     ...
Próximos SlideShares
Carregando em…5
×

Iasapoa eca eda

294 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
294
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1
Ações
Compartilhamentos
0
Downloads
1
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Iasapoa eca eda

  1. 1. Aprendizados de uma arquitetura dirigida a eventos (EDA/ECA) … Do conceito ao multiplataforma Guilherme Elias @guilhermelias https://github.com/gelias http://codingbyexample.org http://br.linkedin.com/in/guilhermeeilas
  2. 2. EDA - Event-driven Architecture• O que é?  Padrão de desenvolvimento de software :-)• Serve para?  Detecção de eventos (sensor - trigger);  Monitoramento de eventos
  3. 3. EDA - Event-driven Architecture•ECA – Event Condition Action  Nada mais do que um “regra”! Ex.: Sinistro ocorrido! Evento: Após o reconhecimento de um sinistro Condição: Caso o prejuízo presente 90% do valor do bem Ação: Inicia processo de ressarcimento do bem!
  4. 4. EDA - Event-driven Architecture•ECA – Event Condition Action • Event : … computacionalmente representa algo que ocorreu. http://en.wikipedia.org/wiki/Event … simplesmente uma troca de http://en.wikipedia.org/wiki/Event_driven_architecture estado.
  5. 5. EDA - Event-driven Architecture•ECA – Event Condition Action • Condition :
  6. 6. EDA - Event-driven Architecture•ECA – Event Condition Action • Action :  Realização de uma operação;  Atualização de um estado;
  7. 7. EDA - Event-driven Architecture•ECA – Event Condition Action Simples Complexa
  8. 8. EDA - Event-driven Architecture• Camadas de um estrutura EDA I. Event Generator  Criação/Instalação de sensores; … onMouseClick (listener) … após criar uma ordem de compra … após realizar baixa no
  9. 9. EDA - Event-driven Architecture• Considere …  Prover modelagens reusáveis!  Visar sempre o baixo acoplamento!  Apenas repassar informações/dados do contexto atual;
  10. 10. EDA - Event-driven Architecture• Camadas de um estrutura EDA II. Event Channel  Mecanismo de tráfego de informações; - XML - JSON - CSV http://www.w3schools.com - RDF (Resource Description
  11. 11. EDA - Event-driven Architecture• Considere …  Prover facilitadores para a criação do “contexto”;  Quanto menos verboso melhor (JSON)  Estruturar de forma que seja possível
  12. 12. EDA - Event-driven Architecture• Camadas de um estrutura EDA III. Event Processing Engine  Onde é IDENTIFICADA e EXECUTADA a “reação”;
  13. 13. EDA - Event-driven Architecture• Considere …  Deve possuir custo de processamento baixissimo;  Basicamente um interpretador;  Um mesmo evento pode executar ações totalmente distintas;  Deve conseguir executar eventos de forma assíncrona;
  14. 14. EDA - Event-driven Architecture• Modularidade / Componentização  Responsabilidades bem distribuidas;  Baixo Acoplamento;
  15. 15. EDA - Event-driven Architecturehttp://martinfowler.com/articles/lmax.html
  16. 16. EDA - Event-driven Architecture• Onde pode ser útil  Regras de Negócio (BPM)  Sistemas de alerta/monitoramento  Automação de tarefas operacionais … onde consiga se criar um regra!
  17. 17. EDA - Event-driven Architecture• Ferramentas de mercado  Drools http://www.jboss.org/drools/  Outras open source http://java-source.net/open-source/rule- engines
  18. 18. Referências e Links Event-driven Architecture  http://en.wikipedia.org/wiki/Event-driven_architecture Artigos:  http://www.di.unipi.it/~brogi/papers/JELIA06.pdf  http://www.ibm.com/developerworks/websphere/library/techarticles/0810_mcg  http://dl.dropbox.com/u/20315902/EventDrivenArchitectureOverview_Elemen talLinks_Feb2011.pdf Event Sourcing: http://martinfowler.com/eaaDev/EventSourcing.html ECA Rules  http://en.wikipedia.org/wiki/Event_Condition_Action Business Process Management  http://en.wikipedia.org/wiki/Rule_engine  http://en.wikipedia.org/wiki/Business_process_management

×