2009-09-25 11 views
5

Los ESB (Enterprise Service Bus) se han vuelto muy populares en el mundo empresarial de Java, pero ¿hay algún equivalente en el .NET Arena?¿Hay ESB de .NET?

+1

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

Respuesta

14
+1

Que en mi opinión debe evitarse a toda costa. – Marco

+1

@Marco OK. ¿Te importaría explicar por qué? –

+0

El primer problema es este: http://nservicebus.com/LicensePackages.aspx – Marco

2

La primera pregunta que hay que preguntarse es ¿Por qué necesita un ESB?

ESB se usa generalmente en las arquitecturas distribuidas Event SOA, que parecen ser una palabra de moda actual. Antes de pasar a ESB permítanme recordarles de Fowler Primera Ley de Martin de los sistemas de distribución:

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

"Mi Primera Ley de Diseño de objetos distribuidos: No distribuir sus objetos (Desde P de EAA)"

Cuando construya un sistema nuevo, lo más importante es que sea a prueba de futuro, lo que significa una fácil escalabilidad y facilidad de mantenimiento. Si construye su sistema en torno al concepto de servicios liberados con contratos definidos estáticos, distribuidos en un entorno de red, puede "ocultar" la arquitectura que desea para ese servicio en particular, porque las interfaces todavía están allí.

ESB está muy relacionado con los sistemas de mensajería asyn, así que antes de comenzar a saltar a ese tipo de implementación, sepa que una arquitectura no tiene que ser homogénea, es decir, todos los servicios deben implementarse de la misma manera, no inicie el El error más grande que está distribuyendo su sistema desde el principio. Solo debe distribuir según lo necesite para escalar, no de antemano. Sin embargo, lo que necesita asegurarse es que sus servicios puedan distribuirse fácilmente si surge la necesidad, sin romper ningún contrato que implique cambios en los clientes de ese servicio.