views:

99

answers:

2

Hi all, I'm curious to get some feedback and ideas on how one could go about building a realtime data streaming application. We can keep the source data generic for this exercise ... throughput info, stock trade pricing, etc. Just something that is constantly changing, and the information is stored in a database.

I am interested in building a silverlight application that the user can pull up and see real-time (or at least, seemingly realtime if polling is the only option) information in a chart or grid as it changes.

As you may imagine, the technology menu for this project is silverlight, asp.net, wcf, and sql server.

What is the right pattern (duplex wcf, polling) for this kind of application?

One example (and please remember, don't limit yourselves to thinking about the financial markets domain) is this "Strategydesk" product from TD ameritrade. You can see how it is constantly updating in real time:
http://www.tdameritrade.com/demo/strategydesk/1497_ameritrade_strategydesk.html

+1  A: 

Silverlight has TwoWay DataBinding available to refresh UI seamlessly using ObservableCollections. On the backend i'll prefer legacy methods "polling" using WCF. Duplex WCP isn;t the right option i think because only one machine can be requester either client or server.

Watch this screen cast: http://blog.lab49.com/archives/2650 Jason Dolinger has presented a sample SL app for real time Stock updates.. its just a proof of concept.. hope it will help you.

Regards.

Shoaib Shaikh
So you're suggesting polling a WCF service from the silverlight client, and updating an observable collection which is bound to the interface?I'm downloading the video now :-)
Joel Martinez
A: 

You might want to look into using sockets in Silverlight. That will probably be the fastest/most responsive way to send/receive real-time data.

Jeremiah Morrill
Straight sockets? hmm, I'd have hoped for a better abstraction with which to operate under
Joel Martinez