Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I recently (about two months ago) read an article that explained some user interface paradigm that I can't remember the name of and I also can't find the article anymore.

The paradigm allows for decoupling the user interface and backend through message passing (via some queueing implementation). So each user action results in a message being pased to the backend. The user interface is then updated to inform the user that his request is being processed.

The assumption is that a user interface is stale by definition. When you read data from some store into memory, it is stale because another transaction may be updating the same data already. If you assume this, it makes no sense to try to represent the 'current' database state in the user interface (so the delay introduced by passing messages to a backend doesn't matter).

If I remember correctly, the article also mentioned a read-optimized data store for rendering the user interface.

The article assumed a high-traffic web application. A primary reason for using a message queue communicating with the backend is performance: returning control to the user as soon as possible. Updating backend stores is handled by another process and eventually these changes also become visible to the user.

I hope I have explained accurately enough what I'm looking for. If someone can provide some pointers to what I'm looking for, thanks very much in advance.

share|improve this question

closed as off-topic by gnat, Bart van Ingen Schenau, GlenH7, MichaelT, Kilian Foth Aug 25 '14 at 21:17

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, Bart van Ingen Schenau, GlenH7, MichaelT, Kilian Foth
If this question can be reworded to fit the rules in the help center, please edit the question.

are you speaking about SignalR ? – Yusubov Jul 3 '12 at 10:03
No, not SignalR. It wasn't a technology-focused article, it rather described an approach to solving a problem. – Ronald Wildenberg Jul 3 '12 at 10:15
Could you describe the nature of the application a little more? For example, is it web based or desktop? – Gary Rowe Jul 3 '12 at 11:14
I updated my question with some more information about the type of application the article applied to. – Ronald Wildenberg Jul 3 '12 at 11:31
Umm … "The Web"? – Jörg W Mittag Jul 3 '12 at 11:53
up vote 2 down vote accepted

Sounds like CQRS - Command Query Responsibility Segregation

Here's Martin Fowler on the subject:

share|improve this answer
I also thought of CQRS, but the question was about UI paradigm, and CQRS is general. So I wonder if this was the sought answer of there is something else there. – herby Jul 3 '12 at 11:37
That's it :) The article I read described it in terms of a web application so that's where the 'UI paradigm' came from. Sorry if this was confusing. – Ronald Wildenberg Jul 3 '12 at 12:14

Not the answer you're looking for? Browse other questions tagged or ask your own question.