De que se trata o artigo:

Conhecer os padrões de integração, saber onde aplicá-los e como encaixá-los para construir uma solução, e como desenvolver e implementar estes padrões com o framework EIP Apache Camel.


Para que serve:

Integrar sistemas a partir do uso de troca de mensagens exige processamento destas mensagens vindas de diferentes origens e em diferentes formatos. Com o uso de padrões de integração, através de definições de rotas com o Apache Camel, isto se torna possível.


Em que situação o tema é útil:

Aos desenvolvedores e arquitetos que encontram pelo caminho o desafio de permitir a comunicação entre diversos sistemas e plataformas, os padrões de integração podem ser o caminho certo para implementar, segura e coerente, a inteligência do software comunicador. Processar dados que chegam em diferentes formatos, de forma eficiente e eficaz, é outro desafio que pode ser resolvido seguindo estes padrões.

Siga a rota do Camelo:

O Apache Camel traz implementações para os Padrões de Integração facilmente aplicáveis nos aplicativos Java. Rotear, filtrar, agrupar e segregar mensagens estão entre as diversas funcionalidades que esta biblioteca oferece.

Diversos produtos no mercado o utilizam e não é sem motivo. O Apache Camel é uma ótima opção para oferecer roteamento, transformação de dados e regras de mediação na integração entre sistemas. É uma das mais completas implementações Open Source destas funcionalidades, com uma série de componentes, configuração em XML e DSL (Domain-specific language) em Java e integração com Spring.

DSL:

Sigla paraDomain Specific Language,é uma linguagem de programação ou uma linguagem específica para solucionar o domínio de um problema em particular, uma técnica para representar um determinado problema ou uma técnica de solução a um problema específico. Entendemos a linguagem Java como uma linguagem com propósitos genéricos. No caso de uma DSL em Java, esta dedica-se a atender um caso específico que facilite o entendimento e a solução do problema.

Enterprise Integration Patterns

Para entender como o Apache Camel funciona é preciso conhecer primeiro o que ele se propõe a resolver. Os padrões de integração (veja o quadro “EIPs – Padrões de Integração”) visam solucionar problemas comuns na troca de mensagens entre sistemas. Com os EIPs, a comunicação se torna desacoplada entre as pontas, deixando o Camel (ou qualquer outro framework de integração) como mediador e juiz.

Os dados que trafegam por meio do Camel podem ser transformados, filtrados, incrementados, agregados ou mesmo ignorados. Por meio da definição de regras, rotas podem ser definidas, ações configuradas e interceptadores injetados. Todas estas funcionalidades do Camel são implementações dos padrões de integração mencionados. Na Figura 1 é apresentado um exemplo destes padrões.

Antes de codificar qualquer solução EIP, o arquiteto e o desenvolvedor devem conhecer bem os padrões para não caírem em armadilhas. Existem alguns padrões similares, ou a combinação de dois ou mais padrões que resolvem o mesmo problema que outro padrão isolado. A complexidade da implementação desta combinação de padrões torna o trabalho caro, longo e confuso.

Por esta razão, é obrigação do arquiteto entender o problema e conhecer o máximo de padrões possível, para fazer a escolha certa. E é dever do desenvolvedor conhecer a implementação destes padrões para transpor para o código a solução definida da forma mais rápida e com o maior grau de qualidade possível. Implementar a solução para o problema com o padrão errado pode causar problemas futuros quando houver a necessidade de evoluir o sistema devido às mudanças do mercado.

”

Figura 1. Exemplo de padrão: Content-based Router

Estes padrões têm por objetivo atender necessidades de comunicação e processamento de dados entre sistemas e plataformas diferentes, que transportam mensagens em diversos formatos. Também podem tratar mensagens que possuem dados específicos, filtrando ou roteando para pontos específicos do sistema.

...
Quer ler esse conteúdo completo? Tenha acesso completo