2009-09-25 3 views
5

ESB (Enterprise Service buses) стали довольно популярными в корпоративном мире Java - но существуют ли какие-либо эквиваленты на платформе .NET?Есть ли какие-нибудь .NET ESB?

+1

http://stackoverflow.com/questions/722675/implementing-a-message-bus-architecture –

ответ

14
+1

Который, на мой взгляд, следует избегать любой ценой. – Marco

+1

@Marco OK. Не могли бы вы объяснить, почему? –

+0

Первая проблема заключается в следующем: http://nservicebus.com/LicensePackages.aspx – Marco

2

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

ESB обычно используется в распределенных архитектурах SOA с событиями, которые в настоящее время кажутся горячим модным словом. Перед тем, как перейти в ESB, позвольте мне напомнить вам о Fowler Первого закона Мартина раздаточных систем:

http://martinfowler.com/bliki/FirstLaw.html

«Мой первый закон Distributed дизайна объекта: Не распространять свои объекты (от Р EAA)»

Когда вы строите новую систему, самым важным аспектом является то, что это будущее доказательство, что означает простоту масштабируемости и ремонтопригодности. Если вы создадите свою систему вокруг концепции освобожденных сервисов со статическими определенными контрактами, распределенными в сетевой среде, вы можете «скрыть» архитектуру, которую вы хотите для этой конкретной службы, потому что интерфейсы все еще существуют.

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