Distributed Objects are Still Distributed
I don't often agree with The Register, but this column by Bill Thompson makes an awful lot of sense. In discussing "web 2.0" and asynchronous xmlhttp, people elide the difficulties of distributed development:
Ajax is touted as the answer for developers who want to offer users a richer client experience without having to go the trouble of writing a real application, but if the long term goal is to turn the network from a series of tubes connecting clients and servers into a distributed computing environment then we cannot rely on Javascript and XML since they do not offer the stability, scalability or effective resource discovery that we need.
I first ran across this issue back in 1995, when PPD introduced VisualWave. Wave was a cool product - you used the normal GUI builder to paint an interface, and then the system would "automagically" html-ify it for you. Marketing touted this as "instant web access" for our customers who wanted to push their apps out to the net.
Well, not so fast. Most applications written for the desktop had a number of baked in limitations - all too common were things like:
- Only one user at a time assumed
- One database connection, with one username/password assumed
- Any cache scheme assumed a single user
And so on. getting a UI on the web was (relatively) simple; getting the application to actually function there wasn't. The intervening decade hasn't really changed that much. Whenever you deal with network resources, you have to be ready to deal with failure gracefully - and I get the distinct impression that most developers tossing around the "web 2.0 mojo" aren't thinking about that. It's going to come back to bite them.


Comments
[] November 25, 2006 12:46:07.280
I couldn't agree more! I believe there are similar reasons that so many ASP (Application Service Providers) failed in the late nineties; No disconnected usage, network outages between the customer and the provider wreak havoc, and issues of data security. Data may not actually be more secure at my location, but I always think it is :-) The industry I'm in is building software for folks with intellectual and cognitive disabilities, and they simply cannot deal with error dialogs or network outages, so the network has to be insulated from them, so data needed for normal usage has to be local and updated periodically when the network is available. if I provide a wholly network dependent app like a web 2.0 app, this goes out the window. Of course, you can deploy the web server and associated stuff locally, but then what has that gained? Brian brian at ablelinktech dot com.
Moving to distributed systems
[Bill Thompson] November 25, 2006 14:17:25.278
I'm glad you think I'm on the right track, because I suspect too many Web 2.0 advocates are unable or unwilling to accept tthat what they are doing should be seen as a temporary solution and not the promised land. I remember work being done in the late 80's at ANSA (www.ansa.co.uk has the archive) on real distributed computing, and it's hard but necessary to get it right.
Still, once the VC funding dries up late in 2008 they'll come running to the real computer scientists for help!
a long way to go yet
[matthew knight] November 27, 2006 8:19:12.390
i think the current use of ajax isn't much different to any other new or hot technology (or use of existing technology) or concept, the first wave always provides a large amount of inspiration, but often poor implementation. the second (and third and so on) wave then evolve that usage, and expand upon the ideas with stronger (and more reliable) design or usage patterns. it (javascript/xml/etc) is maybe not the final solution, certainly, but it could be the catalyst which helps the web evolve into more a seamless networked computing experience, which is no bad thing.
[Carl Gundel] November 27, 2006 9:09:50.318
While Web 2.0 may be a misguided track, Ajax is itself no worse than straight HTML. If you lose your connection to the server you're stuck in either case.