Isolation/page expiry

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Isolation/page expiry

Esteban A. Maringolo
Hi,

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?

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.

Best regards,

[1] The multiple submission or request of the same form/URL, etc...

--
Esteban A. Maringolo
eMaringolo en gmail.com
------------ pr?xima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://lists.aidaweb.si/pipermail/aida/attachments/20071024/024df063/attachment.htm 

Reply | Threaded
Open this post in threaded view
|

Isolation/page expiry

Janko Mivšek
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