In my first article we covered the issues of server side session management and the benefits from a server perspective of session data being managed client side within a browser.
These benefits are mainly technology related, but what about the user benefits? Yes faster more responsive applications can be achieved with client side session management, but from a user perspective the ability to share data across applications would be very powerful indeed.
The concept of being able to share data across disparate applications is not new, indeed as a windows programmer I’ve gone through the journey of DDE (dynamic data exchange), OLE (Object Linking Embedding), COM etc… However windows also had other mechanisms such as Global Atoms (anyone remember those ?) as well as traditional approaches like local databases or files.
However a browser based model is more difficult because of the sandbox security model. A server based solution does exist in the Java world this is the area of WSRP and Portlets. WSRP allows portlets to publish data to other portlets using standard interfaces. So if you had a window with a directory of your contacts listed, you might click on a name and your other windows (portlets) would respond by bringin back data about the person you clicked on.
Again however, if only browser developers would open their eye’s to client side session management, we could have very dynamic applications WITHOUT portlets and the server side overheads associated with portlets. (Remember a portal view of 5 portlets, means 5 times the number of sessions being managed by the server - hmmm you thought you had redundancy and performance licked until you deployed portlets ;o)
So how could this be done? I’m sure there are a number of ways, but if it’s been done before and worked well then I’m all for plagarising. Global Atoms ;o) Basically you should be able to define a global variable and provide a publish/subscribe model for that data item. This then would allow you to share data across browser applicatons (a bit like Google auto fill, but with application definable fields).
The consequence? We reduce carbon footprints whilst creating more dynamic applications.