Padrões de Integração – Message Channel 1

Um aplicativo está usando o Mom para fazer chamadas de procedimento remoto (RPCs) ou transferir documentos. Como o chamador pode ter certeza de que exatamente um receptor receberá o documento ou fará a chamada?

Envie a mensagem em um canal ponto a ponto, que garante que apenas um receptor receba uma mensagem específica.

Um canal ponto-a-ponto garante que apenas um receptor consuma qualquer mensagem. Se o canal tiver vários receptores, apenas um deles poderá consumir com sucesso uma determinada mensagem. Se vários receptores tentarem consumir uma única mensagem, o canal garante que apenas um deles seja bem-sucedido, portanto, os receptores não precisam se coordenar entre si. O canal ainda pode ter vários receptores para consumir várias mensagens ao mesmo tempo, mas apenas um único receptor consome qualquer mensagem.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“Eu, o SENHOR, examino os pensamentos e ponho à prova os corações. Eu trato cada pessoa conforme a sua maneira de viver, de acordo com o que ela faz.”
Jeremias 17:10

Anúncios

Padrões de Integração – Fechamento de Messaging Systems

Os 6 últimos padrões postados fornecem o vocabulário básico e a compreensão de como conseguir a integração corporativa usando o Messaging. Eles forneceram uma visão geral ampla do sistema de mensagens, apresentando os principais tópicos de mensagens.

Segue abaixo um resumo geral dos princípios dos 6 últimos post:

Canais – Aplicativos de mensagens transmitem dados por meio de um Canal de Mensagens, um canal virtual que conecta um remetente a um receptor. Um sistema de mensagens recém-instalado não contém canais; você deve determinar como seus aplicativos precisam se comunicar e, em seguida, criar os canais para facilitá-lo.

Mensagens – Uma Mensagem é um pacote atômico de dados que podem ser transmitidos em um canal. Assim, para transmitir dados, um aplicativo deve dividir os dados em um ou mais pacotes, encapsular cada pacote como uma mensagem e enviar a mensagem em um canal. Da mesma forma, um aplicativo receptor recebe uma mensagem e deve extrair os dados da mensagem para processá-la. O sistema de mensagens tentará repetidamente entregar a mensagem (por exemplo, transmiti-la do remetente para o receptor) até que seja bem-sucedida.

Entrega em várias etapas: no caso mais simples, o sistema de mensagens entrega uma mensagem diretamente do computador do remetente para o computador do destinatário. No entanto, as ações geralmente precisam ser executadas na mensagem depois que ela é enviada pelo remetente original, mas antes de ser recebida pelo destinatário final. Por exemplo, a mensagem pode ter que ser validada ou transformada porque o destinatário espera um formato de mensagem diferente do remetente. Uma arquitetura de Pipes e Filtros descreve como várias etapas de processamento podem ser encadeadas usando canais.

Roteamento – Em uma grande empresa com vários aplicativos e canais para conectá-los, uma mensagem pode ter que passar por vários canais para alcançar seu destino final. A rota que uma mensagem deve seguir pode ser tão complexa que o remetente original não sabe qual canal receberá a mensagem para o destinatário final. Em vez disso, o remetente original envia a mensagem para um Message Router, um componente de aplicação e filtro na arquitetura pipes-and-filters, que determinará como navegar na topologia do canal e direcionar a mensagem para o receptor final, ou pelo menos para o próximo roteador.

Transformação – Várias aplicações podem não concordar com o formato para os mesmos dados conceituais; o remetente formata a mensagem de uma maneira, mas o destinatário espera que ela seja formatada de outra maneira. Para reconciliar isso, a mensagem deve passar por um filtro intermediário, um Message Translator, que converte a mensagem de um formato para outro.

Endpoints – Um aplicativo não possui algum recurso integrado para interface com um sistema de mensagens. Em vez disso, ele deve conter uma camada de código que saiba como o aplicativo funciona e como funciona o sistema de mensagens, conectando os dois para que funcionem juntos. Esse código de ponte é um conjunto de pontos de extremidade de mensagem coordenados que permitem que o aplicativo envie e receba mensagens.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“E Jesus disse aos discípulos: — Se alguém quer ser meu seguidor, esqueça os seus próprios interesses, esteja pronto para morrer como eu vou morrer e me acompanhe.” Mateus 16:24

Padrões de Integração – Message Endpoint 6

Vários aplicativos precisam se comunicar enviando mensagens uns aos outros por meio de canais de mensagens.

Como um aplicativo se conecta a um canal de mensagens para enviar e receber mensagens?

Conecte um aplicativo a um canal de mensagens usando um Endpoint de mensagens, um cliente do sistema de mensagens que o aplicativo pode usar para enviar ou receber mensagens.

O código do Message Endpoint é personalizado para o aplicativo e a API do cliente do sistema de mensagens. O restante do aplicativo conhece pouco sobre formatos de mensagens, canais de mensagens ou qualquer outro detalhe de comunicação com outros aplicativos por meio de mensagens. Ele apenas sabe que tem uma solicitação ou parte de dados para enviar para outro aplicativo ou está esperando os de outro aplicativo. É o código do ponto de extremidade do sistema de mensagens que usa esse comando ou dados, transforma-o em uma mensagem e o envia para um determinado canal de mensagens. É o endpoint que recebe uma mensagem, extrai o conteúdo e fornece-a ao aplicativo de maneira significativa.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“Tudo de bom que recebemos e tudo o que é perfeito vêm do céu, vêm de Deus, o Criador das luzes do céu. Ele não muda, nem varia de posição, o que causaria a escuridão.” Tiago 1:17

Padrões de Integração – Message Translator 5

Os padrões anteriores descrevem como construir mensagens e como direcioná-las ao destino correto. Em muitos casos, as soluções de integração encaminham mensagens entre aplicativos existentes, como sistemas legados, aplicativos empacotados, aplicativos personalizados internos ou aplicativos operados por parceiros externos. Cada um desses aplicativos é geralmente construído em torno de um modelo de dados proprietário. Cada aplicativo pode ter uma noção ligeiramente diferente da entidade do Cliente, dos atributos que definem um Cliente e de quais outras entidades um Cliente está relacionado.

Além dos modelos de dados proprietários e formatos de dados incorporados nas várias aplicações, as soluções de integração muitas vezes interagem com formatos de dados padronizados que buscam ser independentes de aplicativos específicos. Há vários consórcios e órgãos de normas que definem esses protocolos. Em muitos casos, a solução de integração precisa ser capaz de se comunicar com partes externas usando os formatos de dados “oficiais”, enquanto os sistemas internos são baseados em formatos proprietários.

Como os sistemas que usam diferentes formatos de dados podem se comunicar usando mensagens?

Use um filtro especial, um Message Translator, entre outros filtros ou aplicativos para converter um formato de dados em outro.

O Message Translator é o equivalente do sistema de mensagens do padrão Adapter descrito em [GoF]. Um adaptador converte a interface de um componente em outra interface para que possa ser usado em um contexto diferente.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“Não amem o mundo, nem as coisas que há nele. Se vocês amam o mundo, não amam a Deus, o Pai.” 1 João 2:15

Padrões de Integração – Message Router 4

Múltiplos passos de processamento em uma cadeia de Pipes e Filters são conectados por Canais de Mensagens.

Como você pode desacoplar as etapas de processamento individuais para que as mensagens possam ser passadas para diferentes filtros dependendo de um conjunto de condições?

Insira um filtro especial, um roteador de mensagens, que consome uma mensagem de um canal de mensagens e o republica em um canal de mensagens diferente dependendo de um conjunto de condições.

O Message Router difere da noção mais básica de Pipes e Filtros na medida em que se conecta a múltiplos canais de saída. Graças à arquitetura Pipes and Filters, os componentes que envolvem o Message Router desconhecem completamente a existência de um roteador de mensagens. Uma propriedade chave do roteador de mensagens é que ele não modifica o conteúdo da mensagem. Só se preocupa com o destino da mensagem.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“O ensinamento verdadeiro e que deve ser crido e aceito de todo o coração é este: Cristo Jesus veio ao mundo para salvar os pecadores, dos quais eu sou o pior.” 1 Timóteo 1:15

Padrões de Integração – Piper and Filters 3

Em muitos cenários de integração empresarial, um único evento desencadeia uma seqüência de etapas de processamento, cada uma executando uma função específica.

Por exemplo, vamos assumir que um novo pedido chega em nossa empresa sob a forma de uma mensagem. Um requisito pode ser que a mensagem seja criptografada para impedir que os espiões espionais espionem a ordem de um cliente. Um segundo requisito é que as mensagens contenham informações de autenticação sob a forma de um certificado digital para garantir que os pedidos sejam colocados apenas por clientes confiáveis. Além disso, as mensagens duplicadas podem ser enviadas a partir de partes externas (lembre-se de todos os avisos nos sites de compras populares para clicar no botão “Ordem agora” apenas uma vez?). Para evitar entradas duplicadas e clientes infelizes, precisamos eliminar mensagens duplicadas antes que as etapas de processamento de pedidos subsequentes sejam iniciadas.

Para atender a esses requisitos, precisamos transformar um fluxo de mensagens duplicadas e criptografadas contendo dados de autenticação extras em um fluxo de mensagens simples e simples de ordem de texto simples, sem os campos de dados estranhos.

Como podemos realizar um processamento complexo em uma mensagem, mantendo a independência e a flexibilidade?

Use o estilo arquitetônico de Pipes e Filters para dividir uma tarefa de processamento maior em uma seqüência de etapas de processamento independentes menores (Filtros) que estão conectadas por canais (Canais).

Cada filtro expõe uma interface muito simples: recebe mensagens no tubo de entrada, processa a mensagem e publica os resultados no tubo de saída. O tubo conecta um filtro ao próximo, enviando mensagens de saída de um filtro para o próximo. Como todos os componentes usam a mesma interface externa, eles podem ser compostos em diferentes soluções, conectando os componentes a diferentes tubulações. Podemos adicionar novos filtros, omitir os existentes ou reorganizá-los em uma nova seqüência – tudo sem ter que mudar os próprios filtros. A conexão entre o filtro e o tubo às vezes é chamada de porta.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“A resposta delicada acalma o furor, mas a palavra dura aumenta a raiva.” Provérbios 15:1

Padrões de Integração – Message 2

Uma empresa possui duas aplicações separadas que estão se comunicando via Mensagens, usando um canal de mensagens que as conecta.

Como dois aplicativos conectados por um canal de mensagens podem trocar informações?

Coloque as informações em uma Mensagem, uma “carta” de dados que o sistema de mensagens pode transmitir através de um canal de mensagem. Assim, qualquer dado que deve ser transmitido através de um sistema de mensagens deve ser convertido em uma ou mais mensagens que podem ser enviadas através de canais de mensagens.

Para todas as informações desta série, veja esse artigo. Para acessar o resumo de todos os padrões, veja esse link.

“Por acaso eu procuro a aprovação das pessoas? Não! O que eu quero é a aprovação de Deus.” Gálatas 1:10