Определение набора пунктов назначения сообщения во время выполнения в приложении BizTalk

StackOverflow https://stackoverflow.com/questions/3821517

  •  26-09-2019
  •  | 
  •  

Вопрос

Я полный новичок на BizTalk, и мне нужно создать приложение BizTalk 2006, которое вещает сообщения определенным образом. Я не прошу полное решение, а для совета и руководящих принципов, какие возможности BizTalk я должен использовать.

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

Я не знаю, как это сделать. Создайте набор портов отправки во время выполнения, каждый для каждого пункта назначения? Является ли это возможным? Используйте один порт, изменяя его привязку? Это будет работать правильно с одновременными отправками? Есть ли другие способы?

РЕДАКТИРОВАТЬ

Я понял, что мой вопрос может быть неясным и генеральным, чтобы предпочтить один ответ над другим, чтобы принять. Так что я просто усваивал их.

Это было полезно?

Решение

Если изменения в пункт назначения будут частыми, вы правы в поисках более динамичного решения. Одно хорошее решение использует динамические порты отправки и двигатель бизнес-правил. Вы создаете правило, установленные для сообщений, которые вы получаете. Это может быть основано на целевой собственности или идентификатору клиента в сообщении. Используя эти факты, двигатель правил может вернуть кучу информации, такой как маска файлов, имя сервера, IP-адрес сервера DELEIVER и т. Д. Вы можете затем использовать эту информацию, чтобы настроить динамический отправку в оркестровке. Настоящая хорошая вещь здесь, что вы можете обновить правило, установленное в двигателе правил без перерасхождения всего решения. В качестве NewB это некоторые современные концепции, но не так, как вы можете подумать.

Для более простого решения вы, возможно, захотите посмотреть на настройку свойств адаптеров отправки файла через ее схему предпринима (т. Е. Имя файла, каталог и т. Д.). Вы можете потянуть эти значения из базы данных с помощью класса помощника в форме Expresison. На каждом сообщении ogig Out используйте свойство Shcema, чтобы установить, где сообщение будет отправлено и назвать. Таким образом, вы просто обновляете базу данных в качестве изменений.

Удачи!

Другие советы

Вы можете посмотреть на использование динамических портов отправки для достижения этого - если ваши подписчики действительно динамичны. Это вводит немного сложности, поскольку вам нужно будет использовать оркестровку для настройки свойств отправки порта на основе ваших правил.

Если вы можете, попробуйте удалить сложность. Если вы знаете, что вам не нужно быть действительно динамичным при добавлении подписчиков (то есть абонента, и это правила могут быть настроены только один раз), и у вас есть управляемое количество подписчиков, то я бы предложил настроить каждый подписчик, используя свой собственный порт отправки И используйте фильтр для создания подписок на основе свойств контекста сообщений. Красота этого подхода заключается в том, что вам не нужно создавать и развернуть оркестровку, и это становится высокопроизводительным и масштабируемым решением.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top