What I read (and watched) today: Reactive Extensions

Reactive extensions have been around for a while now. They exist for .NET languages and, cleverly, in javascript. The idea is that instead of looking for things, things are pushed to you. We talk about this approach in work pretty regularly. It’s the utopian dream of event driven processes. When something happens, you just announce it, and whoever cares will consume it.

Reactive Extensions are in that ballpark. It’s based on observable collections. It let’s you write event handlers in LINQ.

I read a bunch of stuff on it, and watched some videos. So, not quite an expert. I’m going to keep going with this for at least another day. I’m about 1/2 way through the last video.

I’m particularly interested in this topic because of DevDash. It has a bus so rudimentary that I call it “Stupid Bus”. All it is is a class to which you can initiate and consume events. For example: when a node changes, the thing that changes the node says “I changed node X!”. That message is forwarded to anything that subscribed to the NODE UPDATED event. There is a second event to handle process restarts. After the node syncs, the sync task publishes a process restart request. The host catches that event and initiates the appropriate restart mechanism for that host.

NOTE: now that I wrote that, I see an inconsistency. I should be publishing WHAT HAPPENED, not WHAT YOU NEED to do. Instead of saying “Restart the Process”, it needs to say “Synchronization Complete”. Then the subscriber for “Synchronization Complete” may choose to restart. I will correct that.

Anyway, back to my original point: The stupid bus is a potential candidate to be made cooler by Reactive Extensions. I’m going to have to continue to delve into it.


I’m about 1/2 way through the last video.


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: