Artigo Java Magazine 70 - Siga a rota do Camelo

Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Confirmar voto
0
 (2)  (0)

A biblioteca está presente em vários produtos e é utilizada desde o simples roteamento de mensagens até a implementação de complexos padrões

[lead]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.[/lead]

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.

[nota]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.[/nota]

[subtitulo]Enterprise Integration Patterns[/subtitulo]

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.

"

A exibição deste artigo foi interrompida :(
Este post está disponível para assinantes MVP

 
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Receba nossas novidades
Ficou com alguma dúvida?