Я научился довольно быстро уклоняться от термина «ESB», поскольку он очень перегружен и означает разные вещи для разных людей (а иногда разные вещи для одного и того же человека: -))
Главное, естественно, спросить себя, что именно вам действительно нужно.
Использование базы данных (баз данных) в качестве службы, вероятно, будет разумным выбором, особенно если у вас есть несколько клиентов для этих данных; вам придется потратить немало времени на обдумывание контрактов и определение объема работ, но Agile может сильно помочь в этом.
Теперь вопрос заключается в том, как вызвать эти службы, и я думаю, что вам нужно взвесить вероятность изменения клиентов и служб и как ваша система будет развиваться.
Служебная шина помогает маскировать услуги от их клиента (которые могут быть другими службами), и эта «маскировка» может передавать местоположение, протокол, форматы, коды и т. Д.
некоторые формы служебной шины также поддерживают маршрут (что нужно назвать и когда), но мне обычно не нравится эта идея.
Итак - вопрос, который вы должны сначала задать себе, я думаю, это то, с чего вам нужно начать и сколько предварительных инвестиций вы хотите сделать (и можете обосновать)
Например, если изначально вас устраивает более точечный подход, ваши клиенты могут позвонить в службу напрямую; на более позднем этапе, по мере развития сервиса, вы можете представить «посредника» для посредничества в запросе и ответе (да - вы можете назвать его ESB, если хотите).
В качестве альтернативы вы можете начать с базового «посредника», чтобы клиенты никогда не вызывали сервис напрямую, а имели только те функции, которые вам нужны для начала, и расширяли его возможности по мере формирования требований; вполне может начаться как простая машина пересылки.
В идеале вы должны строить поверх продукта, который имеет много встроенных возможностей; BizTalk Server хорошо подходит, если вы в стеке MS (но у него есть кривая обучения)
так - извинитесь, если это не очень конкретный ответ - но я думаю, что моя главная мысль в том, что «ESB» не должен быть излишним, он просто сводится к тому, что вы хотите иметь в первый день, и проворный (и SOA) определенно помогает, позволяя вам постепенно развиваться, а не что-то вроде большого взрыва.
(если что-то из вышеперечисленного является полной чепухой или немного неясно, это из-за недостатка сна с новорожденным в доме! Извинения :-))