[Pdx-pm] what's special about smalltalk
Kevin Scaldeferri
kevin at scaldeferri.com
Thu Mar 15 13:43:57 PDT 2007
On Mar 15, 2007, at 9:21 AM, Randal L. Schwartz wrote:
>>>>>> "benh" == benh <ben.hengst at gmail.com> writes:
>
> benh> I might be missing the point here but yes, jifty does emulate
> benh> continuations like seaside. As to how they go about it....
> not a clue.
>
> One advantage seaside has over most (all?) other systems is that
> the webserver
> is monolithic. I can leave a closure block lying around on server
> side with a
> unique ID, hand you that ID, and when you come back on another hit
> with that
> ID, I can go right to *that state* again. This is the holy grail
> of web app
> design: to turn the "stateless" web into a "stateful" app. Using
> this, I can
> take a fairly straightforward "classic GUI" app and "Seaside" it in
> just a few
> steps... what would have been a dialog box turns into a screen, etc.
How well does this work in practice? It seems like it has similar
issues to other session-based approaches. For example:
How long is a continuation valid? If I go away for a couple hours
will I really be able to pick up again? Presumably there has to be
some strategy for garbage-collecting continuations or you'll run out
of memory eventually.
How do you scale this? Presumably you have to have a load balancer
with "continuation-affinity"? Or is there some way that a
continuation can be shared across a redundant cluster of machines?
For that matter, how does Smalltalk/Seaside handle single-machine
multi-CPU/core concurrency?
How friendly are the URLs to being passed around between
individuals? Partly this is an issue of expiration as mentioned
above, but I also hope that authentication is somehow outside of the
continuation state.
Anyway, these are pretty obvious questions, so I imagine that there
are reasonable answers, but I'm curious to know what they are.
-kevin
More information about the Pdx-pm-list
mailing list