SlideShare a Scribd company logo
1 of 19
Download to read offline
Apresentando o Apache
Camel
Everton Emilio Tavares
Arquiteto de Software no DB1 Group
Desenvolvedor desde 2006
Coorganizador do DevParaná
Enterprise Integration
Patterns
Porque padrões?
● Caixa de ferramentas de boas práticas;
● Não reinventar a roda;
● Seguir um caminho já validado pelo mercado;
Procure as boas práticas de todas as
coisas que for utilizar;
Apache Camel
● Implementa padrões do EIP
● Possui muitos componentes (integrações) prontos;
● Extensível!
● Integra com os principais frameworks do mercado;
Exemplo:
Venda de produtos
Mensagens
As mensagens do Camel são encapsuladas dentro de um objeto Exchange;
Canais
Camel não possui explicitamente canais;
Ele trabalha com endpoints, e através de Consumer e Producer
Splitter
Divide a mensagem em “sub-mensagens”
Router
Direciona o fluxo da mensagem conforme algum critério;
Enrich
Permite complementar a mensagem
Cache
Evita a executar coisas repetitivas, aumentando a performance
Processors
Permite filtrar, transformar ou qualquer outro mecanismo necessário na mensagem;
Tratamento de erros
É preciso garantir que a mensagem chegue ao destino...
Throttling (não é um EIP)
Define um limite de mensagens transitando no fluxo dentro de um periodo de tempo;
Aggregator
É o contrário do splitter;
Agrega várias mensagens, gerando uma mensagem só;
Links...
Documentação oficial - Apache Camel Documentation - Apache Camel
Ebook - Realization of EAI Patterns with Apache Camel
Livro: Camel in Action - Manning | Camel in Action
Github: apache/camel: Apache Camel
Obrigado!
Código em: https://github.com/ezidio/kotlin-camel-example

More Related Content

Similar to Apresentando o Apache Camel

Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
Rangel Javier
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
Alini Rebonatto
 

Similar to Apresentando o Apache Camel (20)

Padrões de Integração de Sistemas com Spring Integration
Padrões de Integração de Sistemas com Spring IntegrationPadrões de Integração de Sistemas com Spring Integration
Padrões de Integração de Sistemas com Spring Integration
 
Slide Aula - Curso CakePHP
Slide Aula - Curso CakePHPSlide Aula - Curso CakePHP
Slide Aula - Curso CakePHP
 
Argohost-cpanel-em-hospedagem-linux
Argohost-cpanel-em-hospedagem-linuxArgohost-cpanel-em-hospedagem-linux
Argohost-cpanel-em-hospedagem-linux
 
Minicurso de Cakephp
Minicurso de CakephpMinicurso de Cakephp
Minicurso de Cakephp
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
 
Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration Patterns
 
Iniciando com realm
Iniciando com realmIniciando com realm
Iniciando com realm
 
Developer Experience no Nubank
Developer Experience no NubankDeveloper Experience no Nubank
Developer Experience no Nubank
 
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTPPalestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
Palestra GUTS - Viabilidade da Automacao Teste Software e Demo QTP
 
Aplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache KafkaAplicações Distribuídas com .NET e Apache Kafka
Aplicações Distribuídas com .NET e Apache Kafka
 
Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.Paradigmas De Linguagem De Programação.
Paradigmas De Linguagem De Programação.
 
Entrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuidaEntrega contínua com arquitetura distribuida
Entrega contínua com arquitetura distribuida
 
Programe a eficácia do seu código
Programe a eficácia do seu códigoPrograme a eficácia do seu código
Programe a eficácia do seu código
 
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java JavaImplementando Implementando eXtreme treme Programming rogramming em em Java Java
Implementando Implementando eXtreme treme Programming rogramming em em Java Java
 
Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!Integrações e o ecossistema Java - Fabric8 ao Resgate!
Integrações e o ecossistema Java - Fabric8 ao Resgate!
 
Automação de testes para equipes agile
Automação de testes para equipes agileAutomação de testes para equipes agile
Automação de testes para equipes agile
 
01 aula1 habib
01 aula1 habib01 aula1 habib
01 aula1 habib
 
Frameworks em Java
Frameworks em JavaFrameworks em Java
Frameworks em Java
 
Cake PHP
Cake PHPCake PHP
Cake PHP
 
Requisitos Ágeis
Requisitos ÁgeisRequisitos Ágeis
Requisitos Ágeis
 

More from Everton Tavares

More from Everton Tavares (7)

BFF - Best Friends Forever?
BFF - Best Friends Forever?BFF - Best Friends Forever?
BFF - Best Friends Forever?
 
Arquitetura Orientada a Eventos
Arquitetura Orientada a EventosArquitetura Orientada a Eventos
Arquitetura Orientada a Eventos
 
Minha api deve ser rest?
Minha api deve ser rest?Minha api deve ser rest?
Minha api deve ser rest?
 
Tdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquiteturaTdd como uma ferramenta de arquitetura
Tdd como uma ferramenta de arquitetura
 
Meu Cliente não permite DevOps. E agora?
Meu Cliente não permite DevOps. E agora?Meu Cliente não permite DevOps. E agora?
Meu Cliente não permite DevOps. E agora?
 
Expression Language 3.0
Expression Language 3.0Expression Language 3.0
Expression Language 3.0
 
Criando Entidades "Like a Boss"
Criando Entidades "Like a Boss"Criando Entidades "Like a Boss"
Criando Entidades "Like a Boss"
 

Recently uploaded

Recently uploaded (9)

Convergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor SucroenergéticoConvergência TO e TI nas Usinas - Setor Sucroenergético
Convergência TO e TI nas Usinas - Setor Sucroenergético
 
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docxATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
ATIVIDADE 1 - GESTÃO DE PESSOAS E DESENVOLVIMENTO DE EQUIPES - 52_2024.docx
 
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdfAula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
Aula 01 - Introducao a Processamento de Frutos e Hortalicas.pdf
 
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo PagliusiPalestras sobre Cibersegurança em Eventos - Paulo Pagliusi
Palestras sobre Cibersegurança em Eventos - Paulo Pagliusi
 
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINASCOI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
COI CENTRO DE OPERAÇÕES INDUSTRIAIS NAS USINAS
 
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docxATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
ATIVIDADE 1 - CÁLCULO DIFERENCIAL E INTEGRAL II - 52_2024.docx
 
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIAEAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
EAD Curso - CIÊNCIA DE DADOS NA INDÚSTTRIA
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Entrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo PagliusiEntrevistas, artigos, livros & citações de Paulo Pagliusi
Entrevistas, artigos, livros & citações de Paulo Pagliusi
 

Apresentando o Apache Camel