Ayende @ Rahien

My name is Oren Eini
Founder of Hibernating Rhinos LTD and RavenDB.
You can reach me by phone or email:


+972 52-548-6969

, @ Q c

Posts: 6,128 | Comments: 45,548

filter by tags archive


Jason Meckley

great article. i especially like the caching technique, simply "re-send" the response. I'm looking forward to part 2.


Interesting! With some modifications and an automapper with the domain layer it should be fairly straightforward to write the client in Javascript. The persistent cache can be handled with WebKit SQL storage.


Great! I've been looking for some solid guidance on this exact type of architecture with smart clients.

Matthijs ter Woord

Will the final source project be posted somewhere?

Greg Fleming

Nice article, but... Where are the tests? I don't understand how it can be considered acceptable to publish a code sample like this without unit tests. IMO, tests are the most important part of sample code.



Yeah I was considering how to apply this architecure to a Javascript application as well. You statement about using WebKit SQL implies you would keep the queue on the client. I was thinking the queue would still be on the server, the javascript code would just be a queue client.

You lose the transaction support and durability, but it allows for the message based architecture. I can see though how having a queue on the client would be helpful as well to coordinate UI blocks that communicate.

Does anyone know of tools to support such an architecture in a javascript scenario?


fschwiet, do you have an email address / twitter?

H. Kusters

Great article!

Is this something that could be used in a silverlight application as wel. If so, you probably need to rewrite the PersistentCache to store the files in isolated storage, or is there more involved?

I am looking forward to your next installment.

Stuart C

Great article as always. Can't wait for part two...

I am however interested in how you handle authentication... is authentication handled at the message level or at some higher, more general level?

Nikos Baxevanis

Wow, this should be a 3-in-1 article covering 3 different MSDN magazine columns. It covers the basics of a backend infrastructure implemented the right way using the right tools (NHibernate, Rhino.ServiceBus w. protobuf-net, etc) but also covers a very acceptable (maybe the best?) way to implement a UI client in WPF/SL using the Caliburn framework. Add that lot of best practises can be found in the article (IoC containers, ISession management, etc). I wish if you could write even more (about new details on Linq and re-motion's Linq provider in 3.x release on NHibernate trunk). Microsoft should take such articles into very detail.. You are upfront & forward-thinking as always. **10/10


@g, I'm the only fschwiet on the internet :P its @gmail

Comment preview

Comments have been closed on this topic.


  1. The low level interview question - 36 minutes from now
  2. The worker pattern - 3 days from now

There are posts all the way to May 30, 2016


  1. The design of RavenDB 4.0 (14):
    26 May 2016 - The client side
  2. RavenDB 3.5 whirl wind tour (14):
    25 May 2016 - Got anything to declare, ya smuggler?
  3. Tasks for the new comer (2):
    15 Apr 2016 - Quartz.NET with RavenDB
  4. Code through the looking glass (5):
    18 Mar 2016 - And a linear search to rule them
  5. Find the bug (8):
    29 Feb 2016 - When you can't rely on your own identity
View all series



Main feed Feed Stats
Comments feed   Comments Feed Stats