quarta-feira, 28 de fevereiro de 2018

Apache Camel

Resultado de imagem para Apache Camel logo


Apache Camel é um framework de integração que ajuda a diminuir a complexidade e o impacto dessas integrações. Como um framework de integração, seguimos boas práticas que foram identificadas e descritas nos padrões de integração.

Em vez de escrever manualmente o código de integração, usaremos componentes para isso, que podemos facilmente configurar com o Camel. Essas configurações são feitas na rota (routing engine). Ou seja, o Camel não implementa os padrões como SOAP e WSDL ele apenas configuram o componente que trabalha com isso.

O desenvolvedor principal do Camel, Claus Ibsen, descreveu o Camel da seguinte maneira:

Apache Camel é um framework Java de código aberto que tenta deixar a integração mais simples e acessível para todos os desenvolvedores. Ele faz isso através de:


  • Implementações concretas dos padrões de integração (EIP)
  • Conectividade com uma grande variedade de protocolos e APIs
  • Uso de uma Domain Specific Languages (DSLs) para amarrar os EIPs e protocolos]
Segundo os autores do framework, o significado de Camel é: - Concise - Application - Message - Exchange - Language.

Roteamento entre endpoints com Apache Camel

Essencialmente, Camel é um roteador (routing engine), ou seja o Camel roteia os dados entre dois endpoints. Um endpoint é um serviço web ou um banco de dados, podendo ser um arquivo ou file JMS. Em geral, é um ponto onde pegamos ou enviamos dados. A tarefa do desenvolvedor é configurar, por meio de um Builder, os endpoints e as regras de roteamento. O desenvolvedor decide de onde vem as mensagens (from()), para onde enviar (to()) e o que fazer com a mensagem no meio desse processo (mediation engine).

3 comentários:

  1. Ola, tem mais dicas, ou vontade de compartinhar conhecimento?

    ResponderExcluir
    Respostas
    1. Se tiver tempo, me mande um email: ivensjorisnbacon@gmail.com
      ando estudando muito algumas coisas e achei interessante suas postangens, tem alguma page no fb ou no insta onde continua com os post?

      Excluir
    2. Olá. Tenho sim. Vou te mandar um email. Da uma conferida no meu github estou criando um projeto com apache camel

      Excluir