[aida] Isolation/page expiry

Janko Mivšek janko.mivsek at eranova.si
Wed Oct 24 21:53:19 CEST 2007


Hi Esteban,

Esteban A. Maringolo wrote:

> How does AIDA handles the "isolation"[1] of execution?
> 
> It is.. if a user goes back with its browser and then redoes some action 
> (submit, link, etc).
> 
> Is it possible?

Aida does a "back button problem" differently. It does not undo an 
action but always show pages with a consistent state. So if you order 
something and go back to previous page, it will be shown as already 
ordered, so you won't order by error twice.

This is achievable simply by two usual web techniques:

- caching (that is - not caching)
- redirection

In practice you simply reimplement #aidaDontCache method to return true 
in you domain object and every web page will be always refreshed from 
the server, even when you come to it with a back button.

Redirection solves that annoying question if you go back after 
submitting a form. In your action methods simply use methods 
#redirectTo: and #redirectToView: .

So, with those two techniques and proper design of web app you can 
always ensure that user sees a valid and up-to-date view of a domain state.

About page expiry: Aida don't have and don't need any session expiry 
mechanism. What we usually do every night is to cleanup anonymous 
sessions and its presentation state (instances of Apps) and from time to 
time registered users state too, and that's all.

I did some benchmark about how many sessions can Aida handle and how 
much memory it needs and for 10.000 sessions it consumes about 220M 
(23KB/session), after cleanup you came even lower, to 400B per session 
only. See http://www.aidaweb.si/aidaweb-benchmarks.html for more.


> In our company we are evaluating using Seaside or Aida or Raw Swazoo, 
> and before start trying some functionalities we want to know upfront 
> what are the strenghts and limitations of each.

Well, that's interesting evaluation to hear a bit more about it and 
results... :)

Janko

> 
> [1] The multiple submission or request of the same form/URL, etc...
> 
> -- 
> Esteban A. Maringolo
> eMaringolo na gmail.com <mailto:eMaringolo na gmail.com>


-- 
Janko Mivšek
AIDA/Web
Smalltalk Web Application Server
http://www.aidaweb.si


More information about the Aida mailing list