BizTalk 2009: путаница с ESB

У меня есть небольшой опыт работы с BizTalk, и я пытаюсь понять BizTalk 2009 ESB Toolkit 2, не используя его. Во-первых, мне интересно, может ли кто-нибудь прояснить для меня пару концепций:

  1. В чем разница между «на рампе» и «портом приема»?
  2. Зачем вам нужны маршруты, разве вы не можете просто создать их, используя порты и оркестровки? Мне здесь явно чего-то не хватает.

Пара более общих вопросов:

  1. Обязательно ли все сообщения проходить через окно сообщений?

Заранее благодарим за понимание.


person Jon Archway    schedule 12.10.2009    source источник


Ответы (4)


На съезде

Пандусы являются портом приема, основанным на веб-сервисах, но они немного отличаются, поскольку они принимают общие сообщения XML. Однако сообщения будут иметь очень специальный заголовок SOAP («конверт», если хотите) со всеми необходимыми свойствами, чтобы сделать возможным, например, маршрут сообщения. Вы найдете все возможные заголовки, заглянув в "EsbEnvGeneric.xsd"

маршруты

Мне нравится ответ NealWalter на это. Тем не менее, я просто хочу добавить, что маршрут сообщения может сэкономить много времени и усилий по разработке. Это может сделать организации более гибкими и упростить изменение их процессов. Если нам не нужно разрабатывать и развертывать совершенно новую оркестровку, а только изменить некоторую конфигурацию и использовать наши существующие биты, что, конечно, может сэкономить много времени. И это большая ценность ESB и маршрута сообщений, как я это вижу.

Окно сообщения

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

person Riri    schedule 17.10.2009

Я отвечу только на ваш второй вопрос:

2) Зачем вам нужны маршруты, не могли бы вы просто создать их, используя порты и оркестровки? Мне здесь явно чего-то не хватает.

На последнем месте, где я работал, мы работали над ESB около года. Идея маршрута заключается в том, что когда сообщение поступает в ESB, оно должно волшебным образом попасть в нужной последовательности в соответствующие системы.

В системе, ориентированной на бизнес-процессы (BPM), вы обычно пишете оркестровку, чтобы направлять поток логики. Другими словами, вы кодируете маршрут или путь сообщения в оркестровке. В созданной нами ESB бизнес-правила решали, куда будет отправляться сообщение. У нас все еще были оркестровки для конечных точек, но они, как правило, были короткими и обеспечивали только отображение и некоторые очень простые функции. В других местах, где я работал, оркестровки могут быть довольно большими.

Так что правила того, что делать с сообщением, должны где-то быть. В ESB каждая конечная точка должна быть абсолютно независимой и не знать о других конечных точках. Лагерь ESB предполагает, что система должна меняться более динамично, без необходимости повторного развертывания программного обеспечения (то есть оркестровок). Таким образом, с помощью нашей ESB вы можете просто изменить бизнес-правила и повторно развернуть их.

Некоторые из сложных проблем с ESB связаны с транзакциями, откатом и, как правило, созданием общего процесса обработки ошибок.

Нил Уолтерс http://BizTalk-Training.com

person NealWalters    schedule 12.10.2009
comment
Спасибо за ответ. Прикрепляются ли маршруты к сообщению, и если да, то что обрабатывает следующий шаг в маршруте? Думаю, я немного запутался. - person Jon Archway; 13.10.2009
comment
Мы сделали нашу собственную ESB на основе BizTalk. Все входящие данные были сопоставлены с общим (каноническим форматом), который имел заголовок, который определял, что это было и откуда они пришли. Затем у нас была ESB Orchestration, которая обрабатывала сообщение, проверяя бизнес-правила, изменяя заголовок, а затем динамически отправляя сообщение в какую-либо другую оркестровку (как определено правилами) путем прямого связывания. Когда орх закончил, он снова вызывал правила до тех пор, пока не возвращалось никакое действие. Я не уверен, как этот маршрут работает с руководством Microsoft ESB Guidance. - person NealWalters; 16.10.2009

Пара дополнительных просмотров -

Приемные порты / on-ramps - полностью согласен с ответом Рири и просто добавил бы - on-Ramp в контексте приложения BizTalk ESB - это конкретная реализация принимающего порта; подмножество; частный случай. он использует порт приема для реализации шаблона из мира ESB; так что - сами по себе они не разные.

Маршруты - опять же - согласны и с Нилом, и с Рири, и в ответ на ваш вопрос добавят, что BizTalk ESB может использовать маршруты по-разному - «осведомленный» клиент может доставить запрошенный маршрут с сообщение-запрос; менее осведомленный клиент может просто доставить сообщение, и инфраструктура ESB (или, скорее, ваша реализация) может разрешить соответствующий маршрут для конкретного запроса (это можно сделать с помощью преобразователей, готовых или готовых к использованию). custom, который будет использовать разные методы для определения необходимого маршрута). Теоретически эти два направления также могут быть объединены, если клиент предоставляет маршрут, но ESB на рампе заменяет / изменяет его.

person Yossi Dahan    schedule 09.11.2009

Что касается общего вопроса, насколько я помню, да, все сообщения проходят через окно сообщений. Но я использовал BizTalk 2006 R2. Посмотрите изображение, которое здесь.

Что касается двух других вопросов, я так и не понял полностью. У меня сейчас нет времени на расследование, но я, наверное, займусь этим, если нас никто не просветит :)

person Philippe    schedule 12.10.2009
comment
Мне сообщили, что вы можете избежать использования окна сообщения с 2009 и ESB, поэтому я задал этот вопрос. Спасибо - person Jon Archway; 13.10.2009