SignalR
Last night I attended a demonstration of SignalR by Jeremiah Billmann of Skyline Technology. This was the presentation he had made recently at “That Conference”. What a blast. SignalR is not a product for every web site or web server based application; but when you need what it can do, it really rocks.
I describe SignalR as an Event Message Bus. You define methods in your client software. Then you bind those methods to SignalR, allowing them to be driven (invoked like a Delegate) from a SignalR web service. The methods may also invoke methods on the SignalR web service.
Multiple clients may attach to the Web Service SignalR messaging bus simultaneously. An event raised on the Web Service is transmitted, much like a delegate.Invoke() method, to all clients.
This technology works really well where you have events and/or data to be distributed to multiple listeners. You may think of it like a Publisher/Subscriber service. The SignalR web service connects with Clients, responds to client events and publishes client requests to select or all subscribers.
I’m told that Instant Messaging is a common demonstration of SignalR. Jeremiah’s demonstration was a video game he created that ran in a browser. Multiple players could play together concurrently. SignalR handled key commands from all browsers, and sent events to each browser to perform drawing on each browser’s screen.
Other kinds of applications mentioned for which SignalR would be useful were things like stock tickers, real time dashboards, Collaboration Tools, or applications where polling is not efficient.
Even though SignalR is based on a web service it is not restricted to web applications. It can also work with thick client apps like Windows Forms, or even Smart Phone apps. As long as you can make a connection to a web service SignalR will work. I don’t know if or how well it works outside the Microsoft suite of code.
So, if you need a real time event driven model for your application, perhaps SignalR is something for you to consider. It is one of the Microsoft Open Source tools you can easily download through NuGet.
Cheers,
Ben
$$SWYNK$$
Featured Article(s)
What Does Mentoring Mean to You?
In the previous SSWUG TV interview with Stephen Wynkoop, we discussed the critical role mentoring plays in our career and promotion path. This is a more detailed discussion on that topic.
Featured White Paper(s)
Key Management in the Multi-Platform Environment
Written by Townsend Security
This White Paper discusses the challenges … (read more)