Tutorial de padrões de integração empresarial (EIP)

Enterprise Integration Patterns  (EIP) é um livro de Gregor Hohpe e Bobby Woolf e descreve 65 padrões para o uso de integração de aplicativos corporativos e middleware orientado a mensagens na forma de uma linguagem de padrões. Eles nos ajudam a usar formas padronizadas de integração de aplicativos, sem a necessidade de reinventar a roda cada vez que você tem um problema.

O objetivo dos padrões de integração de empresas é criar uma linguagem comum e um conjunto de ações de fluxo de trabalho para combiná-las para criar processos de negócios maduros e práticos. Ele fornece um catálogo de sessenta e cinco padrões que ajudam você a projetar soluções de mensagens eficazes para sua empresa.

O livro distingue quatro alternativas de alto nível para integração:

  1. Transferência de arquivo
  2. Banco de dados compartilhado
  3. Invocação de procedimento remoto
  4. Mensagens

Os seguintes tipos de integração são introduzidos:

  • Portal de Informações
  • Replicação de dados
  • Função Comercial Compartilhada
  • Arquitetura Orientada a Serviços
  • Processo de Negócios Distribuído
  • Integração Business-to-Business
  • Interação fortemente acoplada vs. interação fracamente acoplada

Desenhe o diagrama de padrão de integração empresarial com a ferramenta online gratuita

A ferramenta gratuita Enterprise Integration Patterns da Visual Paradigm   (ferramenta de diagrama EIP) apresenta um conjunto de recursos de edição que tornam a diagramação mais simples e rápida, como arrastar e soltar e guia de alinhamento, tornando a edição suave e intuitiva. A ferramenta de diagrama EIP também vem com um conjunto de símbolos e formas EIP que permitem criar diferentes tipos de diagramas EIP.

Você pode desenvolver facilmente seus padrões e depois produzi-los e compartilhá-los por meio de formatos como PNG, JPG, GIF, SVG e PDF.

Aprenda EIP com exemplos e modelos

Você pode começar com um diagrama em branco ou um modelo EIP. Seguem-se alguns dos modelos. Clique no botão Editar para começar a editar imediatamente. É gratuito e não precisa de cadastro.

Exemplo de padrão de integração empresarial: Proxy inteligente

Edite instantaneamente online

Exemplo de padrão de integração corporativa: MSMQ de mensagens compostas

Edite o exemplo acima online

Quer adotar alguns outros padrões de integração empresarial?

Repositório de edição online EIP  da  Visual Paradigm

Estrutura de implementação para EIPs

O Apache Camel  suporta a maioria dos  padrões de integração empresarial  do excelente livro de Gregor Hohpe e Bobby Woolf. Baseado em padrões de integração empresarial (EIP) para ajudá-lo a resolver seu problema de integração, aplicando as melhores práticas prontas para uso. O Camel suporta a maioria dos Enterprise Integration Patterns do excelente livro de Gregor Hohpe e Bobby Woolf, e padrões de integração mais recentes de  arquiteturas de microsserviços .

Se você é novo no Camel, experimente o  Guia de Introdução  no Guia do Usuário antes de tentar implementar esses padrões.

SISTEMAS DE MENSAGENS

Canal de mensagem

Como um aplicativo se comunica com outro usando mensagens?

Mensagem

Como dois aplicativos conectados por um canal de mensagens podem trocar uma informação?

Tubos e Filtros

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

Roteador de mensagens

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

Tradutor de mensagens

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

Ponto de extremidade da mensagem

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

CANAIS DE MENSAGENS

Canal ponto a ponto

Como o chamador pode ter certeza de que exatamente um destinatário receberá o documento ou realizará a chamada?

Publicar Inscrever-se no Canal

Como o emissor pode transmitir um evento para todos os receptores interessados?

Canal de cartas mortas

O que o sistema de mensagens fará com uma mensagem que não pode entregar?

Entrega garantida

Como o remetente pode ter certeza de que uma mensagem será entregue, mesmo que o sistema de mensagens falhe?

Adaptador de canal

Como você pode conectar um aplicativo ao sistema de mensagens para que ele possa enviar e receber mensagens?

Ponte de mensagens

Como vários sistemas de mensagens podem ser conectados para que as mensagens disponíveis em um também estejam disponíveis nos outros?

Barramento de mensagens

O que é uma arquitetura que permite que aplicativos separados funcionem juntos, mas de forma desacoplada, de modo que os aplicativos possam ser facilmente adicionados ou removidos sem afetar os outros?

Alterar captura de dados

Sincronização de dados capturando as alterações feitas em um banco de dados e aplicando essas alterações em outro sistema.

CONSTRUÇÃO DE MENSAGEM

Mensagem do evento

Como o sistema de mensagens pode ser usado para transmitir eventos de um aplicativo para outro?

Solicitar resposta

Quando um aplicativo envia uma mensagem, como ele pode obter uma resposta do receptor?

Endereço de devolução

Como um respondente sabe para onde enviar a resposta?

Identificador de correlação

Como um solicitante que recebeu uma resposta sabe para qual solicitação esta é a resposta?

Expiração da mensagem

Como um remetente pode indicar quando uma mensagem deve ser considerada obsoleta e, portanto, não deve ser processada?

ROTEAMENTO DE MENSAGENS

Roteador baseado em conteúdo

Como lidamos com uma situação em que a implementação de uma única função lógica (por exemplo, verificação de estoque) está espalhada por vários sistemas físicos?

Filtro de mensagens

Como um componente pode evitar receber mensagens desinteressantes?

Roteador dinâmico

Como você pode evitar a dependência do roteador em todos os destinos possíveis, mantendo sua eficiência?

Lista de destinatários

Como roteamos uma mensagem para uma lista de destinatários especificados (estáticos ou dinâmicos)?

Divisor

Como podemos processar uma mensagem se ela contém vários elementos, cada um dos quais pode ter que ser processado de uma maneira diferente?

Agregador

Como combinamos os resultados de mensagens individuais, mas relacionadas, para que possam ser processadas como um todo?

Resequenciador

Como podemos obter um fluxo de mensagens relacionadas, mas fora de sequência, de volta à ordem correta?

Processador de mensagens compostas

Como você pode manter o fluxo de mensagens geral ao processar uma mensagem que consiste em vários elementos, cada um dos quais pode exigir um processamento diferente?

Dispersar-Reunir

Como você mantém o fluxo geral de mensagens quando uma mensagem precisa ser enviada para vários destinatários, cada um dos quais pode enviar uma resposta?

Deslizamento

Como roteamos uma mensagem consecutivamente por meio de uma série de etapas de processamento quando a sequência de etapas não é conhecida em tempo de design e pode variar para cada mensagem?

Gerente de Processos

Como roteamos uma mensagem por várias etapas de processamento quando as etapas necessárias podem não ser conhecidas em tempo de design e podem não ser sequenciais?

Agente de mensagens

Como você pode dissociar o destino de uma mensagem do remetente e manter o controle central sobre o fluxo de mensagens?

Acelerador

Como posso limitar as mensagens para garantir que um endpoint específico não fique sobrecarregado ou que não excedamos um SLA acordado com algum serviço externo?

Amostragem

Como posso amostrar uma mensagem entre muitas em um determinado período para evitar que a rota downstream não fique sobrecarregada?

Retardador

Como posso atrasar o envio de uma mensagem?

Balanceador de carga

Como posso equilibrar a carga em vários endpoints?

Disjuntor

Como posso parar para chamar um serviço externo se o serviço estiver quebrado?

Chamada de serviço

Como posso chamar um serviço remoto em um sistema distribuído onde o serviço é pesquisado em um registro de serviço de alguns tipos?

Saga

Como posso definir uma série de ações relacionadas em uma rota Camel que devem ser concluídas com sucesso (todas) ou não executadas/compensadas?

Multicast

Como posso rotear uma mensagem para vários endpoints ao mesmo tempo?

Laço

Como posso repetir o processamento de uma mensagem em um loop?

TRANSFORMAÇÃO DE MENSAGEM

Enriquecedor de conteúdo

Como nos comunicamos com outro sistema se o originador da mensagem não tiver todos os itens de dados necessários disponíveis?

Filtro de conteúdo

Como você simplifica o tratamento de uma mensagem grande, quando está interessado apenas em alguns itens de dados?

Comprovante de solicitação

Como podemos reduzir o volume de dados de mensagens enviadas pelo sistema sem sacrificar o conteúdo das informações?

Normalizador

Como você processa mensagens que são semanticamente equivalentes, mas chegam em um formato diferente?

Ordenar

Como posso classificar o corpo de uma mensagem?

Roteiro

Como executo um script que não pode alterar a mensagem?

Validar

Como posso validar uma mensagem?

PONTOS FINAIS DE MENSAGENS

Mapeador de mensagens

Como você move dados entre objetos de domínio e a infraestrutura de mensagens, mantendo os dois independentes um do outro?

Consumidor orientado a eventos

Como um aplicativo pode consumir mensagens automaticamente à medida que elas se tornam disponíveis?

Consumidor de sondagem

Como um aplicativo pode consumir uma mensagem quando o aplicativo está pronto?

Consumidores concorrentes

Como um cliente de mensagens pode processar várias mensagens simultaneamente?

Despachante de mensagens

Como vários consumidores em um único canal podem coordenar seu processamento de mensagens?

Consumidor Seletivo

Como um consumidor de mensagens pode selecionar quais mensagens deseja receber?

Assinante durável

Como um assinante pode evitar mensagens perdidas enquanto não as está ouvindo?

Consumidor Idempotente

Como um receptor de mensagens pode lidar com mensagens duplicadas?

Cliente Transacional

Como um cliente pode controlar suas transações com o sistema de mensagens?

Gateway de mensagens

Como você encapsula o acesso ao sistema de mensagens do restante do aplicativo?

Ativador de serviço

Como um aplicativo pode projetar um serviço a ser invocado por meio de várias tecnologias de mensagens e por meio de técnicas que não são de mensagens?

ADMINISTRAÇÃO DE SISTEMA

Barramento de Controle

Como podemos administrar efetivamente um sistema de mensagens distribuído em várias plataformas e em uma ampla área geográfica?

Desvio

Como você pode rotear uma mensagem por meio de etapas intermediárias para executar funções de validação, teste ou depuração?

Torneira de Arame

Como você inspeciona as mensagens que viajam em um canal ponto a ponto?

Histórico de mensagens

Como podemos analisar e depurar efetivamente o fluxo de mensagens em um sistema fracamente acoplado?

Registro

Como posso registrar o processamento de uma mensagem?

Degrau

Steps agrupa um conjunto de EIPs em uma unidade lógica composta para métricas e monitoramento.

Leave a Reply

O seu endereço de email não será publicado.