Учебник. Использование мостов службы BizTalk для отправки и получения сообщений от службы ретранслятора служебной шины

Обновлено: Август 2015 г.

В этом учебнике содержатся инструкции по отправке XML-сообщений с разными схемами в одну конечную точку мост, развернутую с помощью Службы BizTalk Microsoft Azure. мост обрабатывает сообщения и направляет их в несколько служб ретрансляции на основе бизнес-логики, заданной в рамках решения. С помощью этого сценария учебник также демонстрирует следующие возможности Службы BizTalk.

  • Фильтры маршрутов. мост позволяет направлять сообщения предполагаемому получателю на основе фильтров. Фильтры устанавливаются на определенные значения, которые передаются как часть сообщения. Например, если в элементе <Получатель> XML-сообщения установлено значение Финансы, то сообщение отправляется в службу А. В противном случае сообщение отправляется в службу Б. Дополнительные сведения см. в The Routing Condition.

  • Действие маршрута: Действия маршрута помогают преодолевать несоответствия протоколов. Например, рассмотрим два приложения, А и Б. Приложение А отправляет сообщения с использованием протокола REST, а приложение Б принимает только сообщения SOAP. Если приложение А отправляет сообщение не в приложение Б, а в мост, то мост в рамках действия маршрута включает в сообщение заголовки SOAP. Затем мост отправляет это сообщение в приложение Б. Дополнительные сведения см. в The Routing Action.

  • Действие ответа. Действие ответа обеспечивает те же возможности при отправке ответа обратно клиенту, которые обеспечиваются действием маршрута при отправке сообщения получателю. Таким образом, если приложение Б отправляет ответ в приложение А, мост использует возможности действия ответа для добавления в ответ заголовков, которые требуются клиенту. Дополнительные сведения см. в разделе Reply Action.

В настоящем учебнике эти возможности мост, а также другие возможности демонстрируются на примере бизнес-сценария.

Northwind Traders — это компания, занимающаяся автотранспортным страхованием. Northwind Traders получает запрос ценовых предложений новой политики в XML-формате, совместимом со стандартной схемой ACORD, которая является отраслевым стандартом для сообщений страхования. Входящие сообщения могут быть в любом формате, совместимом с ACORD. Итак, Northwind Traders требуется настроить решение, которое может обрабатывать XML-сообщения, соответствующие разным схемам XML. После того как Northwind Traders получает сообщение, оно проверяется на соответствие предоставленным схемам сообщений ACORD и преобразуется в схему, используемую внутри Northwind. Затем компания Northwind отправляет сообщение во внутреннюю службу, которая выполняет дальнейшую обработку сообщения. Однако до отправки сообщения в эту службу имеется несколько условий маршрутизации.

  • Если сумма ценового предложения в сообщении меньше $10000, то сообщение должно направляться в службу ретрансляции, скажем, в RelayReceiverServiceA. Перед отправкой сообщения в службу ретрансляции в его заголовок должен быть добавлен заголовок SOAP с именем QuoteType. Для этого заголовка должно быть установлено значение SmallAmounts.

  • Если сумма ценового предложения в сообщении больше $10000, то сообщение трактуется как требование с высоким уровнем риска и отправляется в другую службу ретрансляции, скажем в RelayReceiverServiceB. Перед отправкой сообщения в эту службу в его заголовок должен быть добавлен заголовок SOAP с именем QuoteType. Для этого заголовка должно быть установлено значение LargeAmounts.

После получения сообщения службы создают ответ, добавляют заголовки и отправляют ответ обратно в мост. Службы добавляют следующие заголовки.

 

Ответ от службы Добавленные заголовки

RelayServiceA

 

Имя заголовка Значение заголовка

MsgStatus

Успешно

Приемлемость

ApprovedForSmallAmounts

RelayServiceB

 

Имя заголовка Значение заголовка

MsgStatus

Успешно

Приемлемость

ApprovedForLargeAmounts

Ответ от службы отправляется во внутреннем формате запросов Northwind. После того как мост получает ответ, он преобразует его в схему сообщений ответа, совместимую со стандартами ACORD. мост также извлекает значение из заголовка MsgStatus и назначает его элементу в схеме ответа. Наконец, перед отправкой сообщения обратно клиенту мост добавляет другой заголовок с именем ProcessingStatus и устанавливает для него значение Complete. На следующем рисунке представлен этот сценарий.

Использование мостов со службами ретрансляции

Компания Northwind Traders использует Службы BizTalk для настройки этого сценария. Со своей стороны Northwind Traders выполняет следующие действия, чтобы сценарий работал непрерывно.

  • Northwind создает две службы ретрансляции, RelayReceiverServiceA и RelayReceiverServiceB. Служба RelayReceiverServiceA получает сообщения с суммой ценового предложения менее $10000. Служба RelayServiceB получает сообщения с суммой ценового предложения выше $10000. После получения сообщения обе службы создают ответное сообщение и помечают его заголовками, как описано в бизнес-сценарии.

  • Northwind создает Проект служб BizTalk и добавляет Мост XML "запрос-ответ" для обработки входящих XML-сообщений и отправки ответа. Кроме того, Northwind добавляет компоненты службы двусторонней ретрансляции, по одному для RelayReceiverServiceA и RelayReceiverServiceB.

  • Northwind добавляет в Проект служб BizTalk все необходимые артефакты (схемы и преобразования).

  • Northwind настраивает путь запроса Мост XML "запрос-ответ", выполняя следующие действия.

    • Настраивает стадию проверки для проверки XML-сообщений на соответствие схеме ACORD.

    • Настраивает стадию обогащения для активизации свойств на основе того, какие сообщения направляются во внутренние службы.

    • Настраивает стадию преобразования для преобразования сообщений из схемы ACORD во внутреннюю схему Northwind.

  • Northwind настраивает путь ответа Мост XML "запрос-ответ", выполняя следующие действия.

    • Настраивает стадию обогащения для извлечения заголовка MsgStatus, который службы ретрансляции добавили в сообщение ответа.

    • Настраивает стадию Преобразование для преобразования ответа из служб ретрансляции в схему сообщения, совместимую со стандартами ACORD. На этой стадии мост также присваивает значение из заголовка MsgStatus элементу в схеме ответа.

    • Настраивает действие ответа для включения заголовка ProcessingStatus в сообщение ответа, отправляемое клиенту.

  • Northwind добавляет в Проект служб BizTalk две внешние конечные точки ретрансляции, представляющие две службы ретрансляции, и соединяет их с мостом Мост XML "запрос-ответ". В этих соединителях маршрутизации Northwind выполняет следующие действия.

    • Соединяет все компоненты в рабочей области конструирования Конфигурация моста и устанавливает условия фильтра на основе суммы ценового предложения.

    • Устанавливает в сообщении заголовок QuoteType и назначает ему значение SmallAmounts или LargeAmounts, в зависимости от того, в какую службу направляется сообщение.

  • Наконец, Northwind разворачивает эти две службы ретрансляции в Служебная шина, а Проект служб BizTalk в Службы BizTalk, и отправляет сообщение в конечную точку мост.

Этот учебник построен на основе примера Bridges_RelayServices.zip, который доступен как часть загружаемого из коллекции исходных кодов MSDN архива. Чтобы понять, как был построен пример, можно пройти данный учебник с использованием этого примера. Можно также с помощью данного учебника создать свое собственное приложение. Этот учебник ориентирован на второй вариант, чтобы читающий понял, как было построено данное приложение. Кроме того, насколько возможно, учебник согласован с примером и использует те же имена артефактов (схем, преобразований и т. д.), которые заданы в примере.

Хотя для ознакомления с концепциями и процедурами Майкрософт рекомендует следовать учебнику, если вы желаете использовать пример, выполните следующие действия.

  • Загрузите пример Bridges_RelayServices и внесите соответствующие изменения; например, предоставьте свое пространство имен Служебная шина, имя издателя, ключ издателя. После внесения необходимых изменений постройте и разверните приложение.

  • Постройте и разместите две службы ретрансляции для принятия сообщений запроса, полученных через мост.

  • Используйте инструмент MessageSender, который предоставляется в пакете, для отправки сообщений запроса в мост. Рассмотрите командную строку для служб и инструмента MessageSender, чтобы увидеть, были ли сообщения успешно обработаны. Если сообщения обработаны успешно, то схемы запроса и ответа сохраняются в папке \bin\Debug проекта. Расположение и имя файлов сообщений также отображается в соответствующих командных строках.

Загрузите пакет SDK Службы BizTalk из расположения загрузки Службы BizTalk (http://go.microsoft.com/fwlink/?LinkId=235057) и установите его. Инструкции см. в разделе Установка пакета SDK служб BizTalk Azure. При установке пакета SDK выполняется установка шаблона Проект служб BizTalk в Visual Studio. Этот шаблон проекта используется для создания мостов, которые выполняют проверку, Преобразование и маршрутизацию сообщений в разные конечные точки, как описывается в бизнес-сценарии.

См. также

Другие ресурсы

Учебники и примеры

Показ: