I think it's also very much worth pointing out that client-side state has huge 
implications for security; as developers we basically should not trust anything 
that is supplied to us by the client.  For any non-trivial app that actually 
requires session state be stored, the chances are high that you don't want 
malicious users to be able to mess with the internals of their session.


-- 

Simon J. Oliver 
CISSP-ISSAP, ISSMP, GWAPT

Applied Information Technology Center/SBBER
University of Memphis, TN








On Nov 15, 2010, at 7:02 PM, Chuck Hill wrote:

> 
> On Nov 15, 2010, at 4:53 PM, Ian Joyner wrote:
> 
>> On 16 Nov 2010, at 11:35, David LeBer wrote:
>> 
>>> 
>>> On 2010-11-15, at 7:09 PM, Ian Joyner wrote:
>>> 
>>>> (Not that I'm doing any WO these days, but I still like to follow.)
>>>> 
>>>> One thing that has always worried me about scalability is keeping the per 
>>>> user "application state" on the server in WOSession. Knowing more about 
>>>> REST now, this is very unrestful and not stateless, which means will not 
>>>> scale.
>>> 
>>> I don't see why something being unrestful and not stateless automatically 
>>> equates to not being able to scale. Perhaps you could explain.
>> 
>> The problem is that once you get 1000s and millions of users you have the 
>> problem of memory size storing all that session information in memory on the 
>> server.
> 
> As with any system, the number of concurrent users that can be handled on a 
> given server depends on both the application and the technology that it is 
> built on.  I will grant you that WO probably uses more memory per user than 
> many technologies.  But memory usage is only one part of the equation.
> 
> 
>> Server must also manage all these sessions - clean them out every so often. 
>> And (in middleware systems I worked on in the 80s) keep track of state 
>> transitions with FSMs, etc.
>> 
>> Yes you need session state, ie context, but it should be kept on the client, 
>> which sends it along with each request. Thus user state is kept only on the 
>> client which makes recoverability easier too, because if the server is 
>> rebooted, client can continue oblivious to any problem.
> 
> Yes, recoverability is a nice to have feature, but really how often is it 
> actually needed?  Restarts should be planned with the instances being set to 
> Refuse New Sessions so that there are no active sessions on a machine when it 
> is rebooted.  So recoverability is only strictly needed for accidental 
> restarts, kernel panics and such.
> 
> The problem with keeping the WO state on the client is that WO keeps a LOT of 
> state (EO, changed attributes, page cache, etc).  You would need to have a 
> finely tuned way of getting that back and forth from the client, otherwise 
> performance would suffer mightily.
> 
> Chuck
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to