Esta página foi útil?
Seus comentários sobre este conteúdo são importantes. Queremos saber sua opinião.
Comentários adicionais?
1500 caracteres restantes
Tutorial: Usando as Pontes do Serviço BizTalk para Enviar e Receber Mensagens do Serviço de Retransmissão do Service Bus

Tutorial: Usando as Pontes do Serviço BizTalk para Enviar e Receber Mensagens do Serviço de Retransmissão do Service Bus

Atualizado: maio de 2015

Este tutorial fornece instruções sobre como enviar mensagens XML com diferentes esquemas para o ponto de extremidade de uma ponte única implantada usando os Serviços BizTalk do Microsoft Azure. A ponte processa a mensagem e a roteia para mais de um serviço de retransmissão com base na lógica de negócios definida como parte da solução. Usando este cenário, o tutorial também mostra casos de outros recursos dos Serviços BizTalk tais como:

  • Filtros de Rota: a ponte permite rotear as mensagens para o receptor pretendido com base em filtros. Os filtros são definidos em certos valores que são passados como parte da mensagem. Por exemplo, se o valor no elemento <Receptor> na mensagem XML for definido como Finanças, envie a mensagem para o Serviço A. Caso contrário, envie a mensagem para o Serviço B. Para obter mais informações, consulte The Routing Condition.

  • Ação de Rota: as ações de rota ajudam a conectar incompatibilidades de protocolo. Por exemplo, considere dois aplicativos, App A e App B. O App A envia mensagens usando o protocolo REST enquanto o App B recebe somente mensagens SOAP. Se, em vez disso, o App A enviar a mensagem à ponte, a ponte incluirá cabeçalhos SOAP na mensagem como parte da Ação da Rota. Em seguida, a ponte envia a mensagem para o App B. Para obter mais informações, consulte The Routing Action.

  • Ação da Resposta: a Ação da Resposta fornece o mesmo recurso enquanto envia uma resposta de volta ao cliente, que a ação de rota fornece enquanto envia uma mensagem ao receptor. Por isso, se o App B enviar uma resposta ao App A, as pontes usam os recursos de Ação da Resposta para carimbar a resposta com os cabeçalhos que o cliente requer. Para obter mais informações, consulte o Reply Action.

Este tutorial demonstra estes recursos da ponte, além de outros, usando um cenário de negócios.

A Northwind Traders é uma empresa de seguros de automóveis. A Northwind Traders recebe o pedido para cotações de apólices novas num formato XML compatível com o esquema padrão ACORD, um padrão da indústria para mensagens de seguros. As mensagens de entrada podem estar em qualquer formato compatível com ACORD. Por isso, a Northwind Traders deve configurar uma solução que possa processar mensagens XML que obedecem a mais de um esquema XML. Depois de a Northwind Traders receber a mensagem, ela é validada em relação aos esquemas da mensagem ACORD fornecidos e transformada em um esquema interno para a Northwind. Em seguida, a Northwind envia a mensagem para um serviço back-end que processa adicionalmente a mensagem. No entanto, há certas condições de roteamento antes da mensagem ser enviada ao serviço.

  • Se a quantia da cotação na mensagem for inferior a USD 10.000, ela deverá ser enviada a um serviço de retransmissão, por exemplo RelayReceiverServiceA. Antes de enviar a mensagem para o serviço de retransmissão, um cabeçalho SOAP chamado QuoteType deverá ser adicionado ao cabeçalho da mensagem. O valor deste cabeçalho deve ser definido como SmallAmounts.

  • Se a quantia da cotação na mensagem for superior a USD 10.000, ela será tratada como uma garantia de alto risco e será enviada para outro serviço de retransmissão, por exemplo RelayReceiverServiceB. Antes de enviar a mensagem para o serviço, um cabeçalho SOAP chamado QuoteType deverá ser adicionado ao cabeçalho da mensagem. O valor do cabeçalho deve ser definido como LargeAmounts.

Após receberem a mensagem, os serviços geram uma resposta, adicionam cabeçalhos e enviam uma resposta de volta à ponte. Os serviços adicionam os seguintes cabeçalhos:

 

Resposta do serviço Cabeçalhos adicionados

RelayServiceA

 

Nome do cabeçalho Valor do cabeçalho

MsgStatus

Êxito

Elegibilidade

ApprovedForSmallAmounts

RelayServiceB

 

Nome do cabeçalho Valor do cabeçalho

MsgStatus

Êxito

Elegibilidade

ApprovedForLargeAmounts

A resposta do serviço está no mesmo formato que o formato de solicitação interno da Northwind. Depois de a ponte receber a resposta, esta a transforma no esquema da mensagem de resposta compatível com os padrões ACORD. A ponte também extrai o valor do cabeçalho MsgStatus e o atribui a um elemento no esquema de resposta. Finalmente, antes de enviar a mensagem de volta ao cliente, a ponte adiciona outro cabeçalho chamado ProcessingStatus e define seu valor como Concluído. A ilustração a seguir representa este cenário.

Usando pontes com serviços de retransmissão

A Northwind Traders usa os Serviços BizTalk para configurar este cenário. Aqui está o que a Northwind Traders deve fazer para que este cenário funcione de ponta a ponta:

  • A Northwind cria dois serviços de retransmissão, RelayReceiverServiceA e RelayReceiverServiceB. O RelayReceiverServiceA recebe mensagens com quantia de cotação inferior a USD 10.000, o RelayServiceB recebe mensagens com quantia de cotação superior a USD10.000. Após receberem a mensagem, ambos os serviços geram uma mensagem de resposta e a carimbam com os cabeçalhos, como descrito no cenário de negócios.

  • A Northwind cria um Projeto do Serviço BizTalk e adiciona uma Ponte de solicitação-resposta XML para processar as mensagens XML de entrada e envia uma resposta. A Northwind também adiciona componentes de serviço de retransmissão de duas vias, cada uma para RelayReceiverServiceA e RelayReceiverServiceB.

  • A Northwind adiciona todos os artefatos necessários (esquemas e transformações) ao Projeto do Serviço BizTalk.

  • A Northwind configura o caminho da solicitação da Ponte de solicitação-resposta XML para fazer o seguinte:

    • Configura o estágio Validar para validar as mensagens XML em relação aos esquemas ACORD.

    • Configura o estágio Enriquecer para promover propriedades baseadas em mensagens que são roteadas para os serviços back-end.

    • Configura o estágio Transformação para transformar as mensagens do esquema ACORD no esquema interno da Northwind.

  • A Northwind configura o caminho da resposta da Ponte de solicitação-resposta XML para fazer o seguinte:

    • Configura o estágio Enriquecer para extrair o cabeçalho MsgStatus que os serviços de retransmissão adicionaram à mensagem de resposta.

    • Configura o estágio Transformação para transformar a resposta dos serviços de retransmissão em um esquema de mensagem compatível com os padrões ACORD. Nesse estágio, a ponte também atribui o valor do cabeçalho MsgStatus em um elemento no esquema da resposta.

    • Configura a Ação da Resposta para incluir o cabeçalho ProcessingStatus na mensagem de resposta que é enviada ao cliente.

  • A Northwind adiciona dois pontos de extremidades externos de retransmissão ao Projeto do Serviço BizTalk, representando os dois serviços de retransmissão e os conecta à Ponte de solicitação-resposta XML. Como parte destes conectores de roteamento, a Northwind faz o seguinte:

    • Conecta todos os componentes na área de design de Configuração da ponte e define as condições de filtro baseadas na quantia da cotação.

    • Carimba o cabeçalho QuoteType na mensagem e define seu valor como SmallAmounts ou LargeAmounts dependendo em que serviço a mensagem está sendo roteada.

  • Finalmente, a Northwind implanta os dois serviços de retransmissão no Barramento do Serviço e no Projeto do Serviço BizTalk para os Serviços BizTalk e envia uma mensagem ao ponto de extremidade da ponte.

Este tutorial foi escrito com base em um exemplo, Bridges_RelayServices.zip, que está disponível como parte do download da Galeria de códigos do MSDN. Você pode usar o exemplo e percorrer este tutorial para entender como o exemplo foi criado. Ou, você pode usar este tutorial para criar seu próprio aplicativo. Este tutorial é destinado à segunda abordagem para que você entenda como esse aplicativo foi compilado. Além disso, tanto quanto possível, o tutorial é consistente com o exemplo e usa os mesmos nomes de artefatos (por exemplo, esquemas, transformações) conforme usado no exemplo.

Mesmo que a Microsoft recomende que você siga o tutorial para entender os conceitos e procedimentos, siga este procedimento se realmente desejar usar o exemplo:

  • Baixe o exemplo Bridges_RelayServices e faça as alterações relevantes como fornecer seu namespace do Barramento do Serviço, o nome do emissor, a chave do emissor. Depois de fazer as alterações exigidas, crie e implante o aplicativo.

  • Crie e hospede os dois serviços de retransmissão para aceitar mensagens de solicitação recebidas via a ponte.

  • Use a ferramenta MessageSender fornecida com o pacote para enviar mensagens de solicitação à ponte. Examine os prompts do comando dos serviços e a ferramenta MessageSender para ver se as mensagens foram processadas com sucesso. Se as mensagens forem processadas com sucesso, os esquemas de solicitação e resposta serão salvos na pasta \bin\Debug do projeto. A localização e o nome dos arquivos da mensagem também são exibidos nos respetivos prompts de comando.

A partir da localização de download dos Serviços BizTalk (http://go.microsoft.com/fwlink/?LinkId=235057), baixe e instale o SDK dos Serviços BizTalk. Para obter instruções, consulte Instalar o SDK dos Serviços BizTalk do Azure. Instalar o SDK instala o modelo do Projeto do Serviço BizTalk no Visual Studio. Este modelo do projeto é usado para criar pontes que validam, Transformação e roteiam mensagens para diferentes pontos de extremidades como descrito no cenário de negócios.

Consulte também

Outros recursos

Tutoriais e exemplos

Mostrar:
© 2015 Microsoft