A nice blog entry by Dave Thomas, the author of Agile Web Development with Rails:
“Put the main application logic into a RESTful server. This is where all the CRUD-style access to resources takes place.
Then, write a second proxy server. This is an HTTP filter, sitting between dumb browsers and your core resources. When browser-based users need to interact with your resources, they actually connect to this proxy. It then talks REST to your main server, and interprets the RESTful responses back into a form that’s useful on the browser. And this filter doesn’t have to be a dumb presentation layerâ€â€there’s nothing to say that it can’t handle additional functionality as well. Things like menus, user preferences, and so on could all sit here.
[…]
Let’s call it RADAR. We have a RESTful Application talking to Dumb-Ass Recipients.”
Personally, I understand his logic. But do we really need to have two distinct applications to do that?
I’ll have to think about it.