Continuations for web programming may look like a cool concept, but they are actually an extremely bad idea. They require sessions, break the back button, and destroy user navigability/control.
The "right" approach to web applications is a REST-like architecture, where a URL can represent one of the following:
A service component
A method of a service component
A persistent object
A method of a persistent object
This approach is simple, scalable, decentralizable, and a natural fit to the web. If done right, you can use relative URLs for nearly all links. Sessions aren't needed unless you're doing something session-like. The back button works fine, and the user's in the driver's seat.
I'm not aware of any Java frameworks that do this, though. (And if you think Struts does, that just means I haven't explained the architecture well enough for you to realize why Struts doesn't even come close.)
In the Python world, however, there are several that work this way, including Zope.
dead wrong
Posted byAnonymous Userat
2003-11-22 03:17 PM
In Cocoon, the continuation ID is generally passed through the URL, which does not break the back button.
Additionally, a URL can represent anything you desire. you just need to hook it up correctly in the sitemap.
Continuations for web programming may look like a cool concept, but they are actually an extremely bad idea. They require sessions, break the back button, and destroy user navigability/control.
The "right" approach to web applications is a REST-like architecture, where a URL can represent one of the following:
This approach is simple, scalable, decentralizable, and a natural fit to the web. If done right, you can use relative URLs for nearly all links. Sessions aren't needed unless you're doing something session-like. The back button works fine, and the user's in the driver's seat.
I'm not aware of any Java frameworks that do this, though. (And if you think Struts does, that just means I haven't explained the architecture well enough for you to realize why Struts doesn't even come close.)
In the Python world, however, there are several that work this way, including Zope.
In Cocoon, the continuation ID is generally passed through the URL, which does not break the back button.
Additionally, a URL can represent anything you desire. you just need to hook it up correctly in the sitemap.
Replies to this comment