Все проходит через автобус?


2

Мы внедрили BizTalk в нашу организацию как служебную шину, она связывает новый веб-интерфейс с многочисленными существующими системами заднего конца. Мы завернули наши существующие системы как Services (WCF) и подключили их к BUS.

Мы также заменяем некоторые устаревшие системные графические интерфейсы нашим новым веб-графическим интерфейсом (гарантируя, что мы реплицируем существующую функциональность), но мне любопытно, следует ли предоставлять все устаревшие услуги/api через BUS, подключаться к ним напрямую или составить их по-разному и разоблачить их через автобус. Например, скажем, наша система управления клиентами имеет 5 существующих сервисов/api, поиск, добавление, получение, обновление, настройку фактуры.

Имеет ли смысл разоблачить каждую из этих услуг через BUS (некоторые утверждают, что это добавляет латентность)? Или, если шина только раскрывает грубые зернистые службы, такие как поиск, добавление, получение & Обновление, а не мелкозернистый? Должен ли GUI напрямую подключаться к мелкозернистой службе?

У меня создается впечатление, что в идеальном SOA/ESB вы должны были бы как обновить, так и установить платежные данные в один крупнозернистый сервис, это правильно?

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

4

ESB лучше всего подходит для создания «композитных» приложений.

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

Это создает основу для создания композитных приложений.

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

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

Обратите внимание, что приложения с производительностью на основе ESB полностью разыгрывают другие способы взаимодействия, которые отталкивают руки от «латентности», пропуская огромную победу от непосредственной непосредственной интеграции.


0

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

Однако BizTalk также (и некоторые из них будут спорить - в первую очередь) о механизме интеграции и часто используется для маскировки потребителя из реализации службы.

Вот возможный сценарий (опять же, не зная, насколько и в какой степени это относится к вашему делу) - у вас есть устаревшее приложение, которое вы заверяете в службу для включения SOA. Через 18 месяцев вы завершаете внедрение службы замены, но у этого есть другой интерфейс (поскольку у него больше возможностей). Если у вас BizTalk посередине, у вас есть слой, где вы можете сопоставить старый формат, предоставленный вызывающим новый формат, требуемый службой, и наоборот. это означает, что вам не нужно менять все клиентское приложение (сразу же, в любом случае).

Итак - ответ, я думаю - это зависит.