Мы внедрили BizTalk в нашу организацию как служебную шину, она связывает новый веб-интерфейс с многочисленными существующими серверными системами. Мы обернули наши существующие системы как службы (WCF) и подключили их к шине.
Мы также заменяем некоторые из устаревших системных графических интерфейсов на наш новый веб-интерфейс (гарантируя, что мы реплицируем существующие функциональные возможности), но мне любопытно, должны ли мы предоставлять все устаревшие сервисы / api через шину, подключаться к ним напрямую или составлять их по-другому и выставить их через автобус. Например, допустим, в нашей системе управления клиентами есть 5 существующих служб / API: поиск, добавление, получение, обновление, установка платежных данных.
Имеет ли смысл предоставлять каждую из этих служб через ШИНУ (некоторые утверждают, что это увеличивает задержку)? Или шина должна предоставлять только грубые сервисы, такие как поиск, добавление, извлечение и обновление, а не мелкозернистые? Должен ли графический интерфейс напрямую подключаться к мелкозернистой службе?
У меня сложилось впечатление, что в идеальном SOA / ESB вы бы скомпоновали и Update, и Set billing Details в одну крупнозернистую службу, это правильно?
Я хотел бы оставаться верным парадигме SOA / ESB, не могли бы кто-нибудь просветить меня, пожалуйста.