You are far from the first person to build this.
What you are building is called a "Message Bus" and it is a common pattern
in trading systems, portals, and other forms of EAI systems (Enterprise
Application Integration). There are many commercial applications (some of
them are expensive) that will provide message bus capabilities.
It is so common, in fact, that Microsoft is including a message bus
technology in Longhorn called "Indigo".
(There is training on how to use Indigo for messaging bus applications
already available... these guys are good:
http://www.wintellect.com/training/c...ourses=2&id=37 )
Technically, the way that this is often done, for situations where folks
roll their own, is to create a message dispatcher object that runs under
Enterprise Services or an ASP.Net web service (either one. The architecture
is the same... the communication mechanism is different).
In a way, the Enterprise Services method is slightly more elegant. Using
Remoting, you can set up an Observer pattern that allows each of the clients
to subscribe to an event on the hosted Dispatcher component. When the
clients generate an event, they send it to the Dispatcher for distribution.
An excellent book to pick up would be "Advanced .Net Remoting" by Ingo
Rammer. His examples will make this design clear. This is probably the
best and simplest design for a roll-your-own situation, where you can easily
replace it with Indigo when that becomes available and if you would like
something more "iron-clad".
--
--- Nick Malik [Microsoft]
MCSD, CFPS, Certified Scrummaster
http://blogs.msdn.com/nickmalik
Disclaimer: Opinions expressed in this forum are my own, and not
representative of my employer.
I do not answer questions on behalf of my employer. I'm just a
programmer helping programmers.
--
"MasterBlaster" <Ma***********@newsgroup.nospam> wrote in message
news:C1**********************************@microsof t.com...
We are in the initial stages of design analysis and I'm trying to come up
with some ideas on how to handle the feature our users are requiring from
the
new application. We are using VB.NET/window forms
Feature Requested:
A user will be entering some data that will trigger an a notification
event.
For example I am a research analyst entering a sell recommendation for a
stock. Once that action is preformed a notification should be sent the
portfolio manager and the traders. The portfolio managers and traders
will
have a main screen and in the right hand corner they will have a grid that
will show the notification coming in real time from the research analysts,
traders and other portfolio managers. These real time notifications will
trigger the user to perform other tasks. Also these notifications need to
be
stored in a sql db because if they shutdown the system they need to be
able
to bring those notifications back up.
My question is how do I poll for new notifications on a real time basis
and
have it not impact the users performance or have any other major downside
impacts on the environment. I was thinking of using a timer control and
making asynch calls to the queue table that will hold the notifications,
but
I don't know if that is the best approach.
Thank You for any suggestions