Создание контрактов компонента Service Broker
Контракты определяют имя той или иной бизнес-задачи и содержат список типов сообщений, используемых в этой задаче. Контракты компонента Service Broker определяют для служб две возможные роли: вызывающая служба и целевая служба. Служба-инициатор диалога начинает диалог, отправляя сообщение целевой службе. Контракт, используемый диалогом, определяет, какая роль службы может отправлять сообщения заданного типа.
Для каждой задачи, выполняемой службой, создайте контракт, который включает типы сообщений для каждого этапа задачи. Для каждого типа сообщений укажите, отправляется ли сообщение этого типа от инициатора целевой службе, от целевой службы инициатору или в обоих направлениях.
В контракте не указывается порядок сообщений и число сообщений определенного типа, которое может отправляться. Компонент Service Broker требует, чтобы первое сообщение в диалоге отправлялось вызывающей стороной. После первого сообщения не действуют требования к порядку сообщений.
Один набор типов сообщений может использоваться в нескольких контрактах. Например, сообщение, состоящее из XML-документа, который содержит артикул и количество, может быть полезным в задаче, которая принимает заказ от клиента, в задаче, которая управляет складом, а также в задаче, которая запрашивает доставку товаров. Каждой задаче соответствует собственный контракт, но во всех трех контрактах можно использовать один и тот же тип сообщений.
В сетевой формат сообщения входит имя контракта. Поэтому имена контрактов часто выбираются так, чтобы избежать проблем с параметрами сортировки и конфликтов имен. Дополнительные сведения о задании имен см. в разделе Задание имен для объектов компонента Service Broker.
См. также