I am currently working on an application where one application component needs to interact with several other system components based on specific events. These events occur on the basis of many different triggers ... some events are triggered by the userβs action, when other users need to be notified, some events are based on time, and other events are based on a change in the state of the object.
Based on what I have looked at so far, it seems that the cleanest way to separate application components is to create a publish / subscribe model where my objects in the component publish events that other interested application components can subscribe to.
I saw nServiceBus, and for reasons of "blocking the vendor" I can not use .NET Services in Azure. Are there other technologies? Is there any other approach I should consider?
Edit - to be clear, this application is with a large volume of web applications. The application is an ASP.NET MVC, and the MVC application communicates with several WCF services for its data.
mkedobbs
source share