Grzegorz Kossakowski wrote:


It may sound controversial but I think that things like information about user 
locale or preferences
should be kept in URL (preferably in path part or in request parameters). If 
data set is too big,
URL should contain an unique identifier of this data set. I mean, instead of 
using following URL:
/blog/posts/1
and passing following information: Locale=pl-PL, Username=gkossakowski, Skin=red
it's better to have following URL:
/blog/languages/pl-PL/skins/red/posts/1
You would never be able to build a large, scalable application doing this. It also would violate security requirements if I had to put a users account number in the url. The session exists for a reason.

Getting back to the topic, I tried above to proof that having a session is not 
essential part of web
application creation process.
It is.
Whenever I think about Servlet Services Framework design first spec I have in 
mind is HTTP (+
publications about REST that made me think about HTTP in more appropriate way). 
Always and ever. The
fact that we follow servlet specification as much as we can instead of 
reinventing the wheel is good
of course. Nevertheless, I keep HTTP and REST over servlet spec.

I think it's worth to remind KISS rule as it fits very well in this case. If we 
let a session to be
shared at this point there will be probably no way back. Apart from SSF being a 
really nice idea, I
like to work on it becuase, in contrary to cocoon protocol, it allows much less 
thus code is
simpler, cleaner. Also, it makes me to think more about a proper design of my 
applications that will
fit into narrowed functionality. The overall result is always a better SoC, 
better design and
cleaner contracts. I think that limitations (but well thought through!) are our 
friends not evils.

WDYT?
I think the answer is simple. The session needs to be shared with all servlets in a webapp just as the servlet spec provides. Anything less is going to confuse the heck out of users, lead to nothing but trouble in the long run and give the impression that Cocoon just tries to make everything hard on purpose.

Ralph

Reply via email to