punktniklas
10-28-2005, 04:35 AM
Hi!
I'm currently developing a customer care web front end for a billing system using Java Servlets/JSP. I have run into a problem where I need some general advice on best practices, design patterns etc.
The web application we are doing is a replacement of an old web application using perl CGI scripts. This old solution doesn't have any session tracking on the server side and all session data (which CSR is logged in, what customer is being maintained and other things) is passed from web page to web page using forms with lots of hidden variables.
In the new solution we are using the built in session tracking using cookies, storing session data on the server side. This solution has a lot of benefits when it comes to designing an developing the system. One drawback that we didn't think of in the beginning has been raised though..
The users of the old system are used to being able to use the back button of the web browser in any way they please. They are also used to being able to open new browser windows to e.g. maintain two accounts at the same time. In the old solution you could do like this because all state was stored on the client side and every web page contained sort of a snapshot of the state at that point in time. Doing the same thing with the new system confuses the hell out if it because state is stored on the server side and all browser windows are accessing the same session.
This problem must have arisen many times before in various projects. What is the usual way to deal with it? Is there a usual way? Any comments, ideas, pointers are welcome!
/Niklas
I'm currently developing a customer care web front end for a billing system using Java Servlets/JSP. I have run into a problem where I need some general advice on best practices, design patterns etc.
The web application we are doing is a replacement of an old web application using perl CGI scripts. This old solution doesn't have any session tracking on the server side and all session data (which CSR is logged in, what customer is being maintained and other things) is passed from web page to web page using forms with lots of hidden variables.
In the new solution we are using the built in session tracking using cookies, storing session data on the server side. This solution has a lot of benefits when it comes to designing an developing the system. One drawback that we didn't think of in the beginning has been raised though..
The users of the old system are used to being able to use the back button of the web browser in any way they please. They are also used to being able to open new browser windows to e.g. maintain two accounts at the same time. In the old solution you could do like this because all state was stored on the client side and every web page contained sort of a snapshot of the state at that point in time. Doing the same thing with the new system confuses the hell out if it because state is stored on the server side and all browser windows are accessing the same session.
This problem must have arisen many times before in various projects. What is the usual way to deal with it? Is there a usual way? Any comments, ideas, pointers are welcome!
/Niklas