Должен ли я использовать BizTalk Orchestration
В настоящее время я занимаюсь портированием существующего приложения (BizTalk 2004) на более новую версию BizTalk. Текущее решение принимает несколько типов документов EDI, модифицирует их, если это необходимо, и отправляет их в нашу устаревшую систему для загрузки и обработки.
Этот процесс разработан с использованием комбинации портов приема, компонента конвейера, портов отправки и карт, компонентов схемы и очереди сообщений. Это решение использует 10 портов отправки и получения для обработки различных аспектов процесса, таких как пакетная передача EDI в отдельные сообщения, преобразование сообщений, обработка ошибок, проверка EDI и пакетирование сообщений EDI. Все изменения EDI выполняются с использованием компонентов очереди сообщений.
Это решение НЕ использует оркестровку вообще. Я рассматриваю реализацию текущего решения как оркестровку BizTalk. Я немного ознакомился с оркестровкой и проработал несколько примеров приложений. Но я все еще очень озадачен тем, какая выгода от использования оркестровки, если решение может быть разработано без него. Я уверен, что я что-то здесь упускаю. Какие дополнительные преимущества дает оркестрация, чего нет у нынешнего решения?
Редактировать:... Я должен уточнить вопрос... Я могу сделать это приложение без использования оркестровки с использованием маршрутизации и карт на основе контента. У меня вопрос, если я что-то упустил, не используя Orchestration?
2 ответа
Если вы можете выполнить свою задачу под рукой с помощью маршрутизации на основе сообщений, оркестровка является излишней.
Оркестровки помогут вам с правилами вызова или обработки транзакций. Следующие пункты могут помочь вам решить, использовать ли оркестровку или нет:
- Является ли обработка транзакций
- Важен ли порядок сообщений
- Собираетесь ли вы обработать сообщение, используя бизнес-правила?
- Нужно ли называть внешние сборки?
Цитата из "Microsoft BizTalk Server Pattern"
Оркестровки идут со значительной стоимостью. Многие из этих затрат проявляются как обходные пути к окну сообщений, что означает пересечение границы процесса, запись в базу данных и чтение из нее
Оркестровка может потенциально занять вдвое больше времени для одного и того же процесса. Например: простой процесс получения сообщения и его отправки приведет к 2 прыжкам сообщения с подходом обмена сообщениями против 4 с оркестровкой. Вот шаги для решения только для обмена сообщениями
- Получите сообщение через адаптер, сохраните его в окне сообщения
- Получить сообщение для порта отправки
против:
Шаги для оркестровки
- Получите сообщение через адаптер и сохраните его в окне сообщения.
- Получить сообщение, чтобы начать оркестровку
- Сделайте свое отображение, если вам нужно
- Получите элемент снова для порта отправки.
Выбирать мудро
Похоже, вы могли бы повторно реализовать решение в решении только для обмена сообщениями и не нуждаться в оркестровке. Если вы можете, это здорово, мы предпочитаем сообщения только потому, что они проще в обслуживании и в целом более эффективны. Оркестровка полезна, если вам нужен рабочий процесс с несколькими действиями или специальная обработка ошибок, которую вы не можете легко сделать с помощью решения только для обмена сообщениями.