2009-09-25 14 views
5

Quiero tener una arquitectura impulsada por eventos donde el consumidor del evento (suscriptor/observador) y el productor del evento (editorial/tema) se encuentren sobre una geografía distribuida.Observer a través de una red

¿Hay algo en .NET que retransmite eventos a través de una red sin problemas, sin tener que apresurarme en la implementación del mecanismo de transporte?

Recuerdo que Juval Lowy dijo algo acerca de los Servicios Empresariales en una presentación de DNR hace más o menos 2 años, pero no recuerda qué fue eso.

¿Alguien sabe qué puedo usar desde .NET Framework para hacer esto?

Respuesta

6

Puede hacerlo con WCF y MSMQ. Tom Hollander tiene un blog post on it.. También podría ver soluciones como TIBCO. Si te gusta el código abierto, vale la pena echarle un vistazo a RabbitMQ. Si está buscando un bus de servicio, entonces mass transit también es una opción de código abierto. Mike Hadlow tiene blogged about it here.

+0

+1 para MSMQ. Esto es exactamente lo que MSMQ, o un ESB que admite pub/sub, está diseñado para. – jrista

+0

¿No es Tibco un poco * excesivo * para esta pregunta en particular? – osij2is

+0

TIBCO es el engendro de satanás. –

1

¿Hay algo en .NET que retransmite eventos sobre la perfección una red sin que tenga que sondear en el ejecución del transporte mecanismo?

Creo que aquí es donde .NET Remoting (link) entra en juego. No soy un experto con eso, pero parece lo que estás buscando.

Además de .NET Remoting, WCF (Windows Communication Foundation) (link) puede ser una mejor alternativa a que Remoting. Tengo cierta experiencia con WebServices y poco con WCF, pero investigaría estas dos tecnologías .NET.

+0

Remoting ahora se considera heredado. WCF debería usarse en su lugar. – RichardOD

+0

Me imaginé como tal. Nunca lo usé, pero tampoco quería excluirlo. WCF WTF? :) – osij2is

+0

La implementación de eventos a distancia se considera una mala práctica. http://www.thinktecture.com/resourcearchive/net-remoting-faq/remotingusecases – ParmesanCodice

1

Esto suena como un trabajo perfecto para un sistema de Erlang ... o tal vez utilizar un cliente AMCQ como RabbitMQ, ¿no?

Cuestiones relacionadas