Fran Fabrizio writes: > - Real-time data updates. HTTP is stateless: it serves up the page then > closes the connection. Any updating involves a round-trip back to the > server. In traditional GUI, you just hold a db connection and repaint > the areas that are updated.
Solved with refresh? JavaScript and Java can also help here. For interactivity, check out: http://www.cs.brown.edu/people/dla/polytope/tetra.html > - State maintenance. Since it is stateless, you have to jump through a > lot of hoops to realize that two requests are coming from the same > person, since they could be handled by two different child processes or > even two different servers. This has all sorts of ramifications on user > login, user preferences, where the user was in the application, etc... > you have to do a lot of work on the server side to realize that it's the > same client that keeps talking to you. Cookies work fine. > - Fancy interface widgets/layouts. HTML/CSS/JavaScript/DHTML can only > get you so far. If you need fancy menu types, forms, layouts, etc... it > quickly becomes tedious/impossible on the web. Tedious is questionable. Impossible, I seriously doubt. Remember, you can always delegate part of your screen to a Java applet, although I strongly recommend you avoid this. > This is just the tip of the iceberg. Let's talk about the positives: + You update the server and instantly all clients are up-to-date. + You can detect incorrect usage, bugs, etc. by parsing a single log file, in real-time + The system is immune to operate system upgrades. And "DLL hell" on Windows boxes. + You access the system from anywhere reliably and securely. You don't have to open up a database connection to anybody but the Web server(s). + There is only one version of the software. + Support people can view the output sent to the client exactly as the client received it. Including following a series of actions. + The use of a Web browser is familiar to most users. + The user can keep multiple views of the pages she wants, not what the application decides to offer. + Bookmarks allow users to structure their view of the application. Advanced users can create new organizations (short cut pages) for themselves and their co-users. + Users can share information easily (send page by email, mail bookmarks, print page, save to disk, save picture, etc.) I'm sure others will add to the list. Rob