« November »
Locations of visitors to this page

Powered by blojsom

Radovan Semančík's Weblog

Friday, 27 November 2009
« Caveat Emptor | Main | What is Resource? »

The Web, created more that 15 years ago, has changed everything. Many people cannot imagine how they possibly could work efficiently without Web, how they would kill the time or how to find they way around. The Web, looking from a user perspective, is a huge success. However, looking under the hood uncovers the surprising truth: Web is just a technology, with all the drawbacks. The deeper one goes into understanding Web concepts, the more he is surprised that Web works.

Current web architecture seems to be reflected in two documents:

  • Architecture of the World Wide Web, Volume One is a W3C recommendation that tries to put all the basic principles of Web architecture into a single document. It is a must-read for any technologist that tries to create anything on the Web.
  • Architectural Styles and the Design of Network-based Software Architectures is a dissertation of Roy Fielding, one of the authors of HTTP 1.1 specification. REST architectural style is defined in this document with an intent to guide the development of Web architecture and protocols (although I would bet that most of the web developers have no idea that REST is an architectural style or what an architectural style is).
Both of these documents were created in a retrospective fashion: to document and formalize what was already created and working. Both documents describe ideal state and does not entirely match the reality, but that is to be expected from a high-level architectural work. However, what I would also expect from an architectural work is consistency and ability to evolve. While the Fielding's work is consistent and exact, the WWW Architecture document does not feature such qualities. The definitions are vague, there are unexplained concepts and although there is no obvious major internal inconsistency, the document contradicts other documents published by W3C Technical Architecture Group (TAG). See this paper for all the details.

It looks like the very foundation of the Web is quite weak and confusing. No wonder that Web developers create all kinds of abominations, no wonder they are confused. They don't know what is good and what is wrong, what will bring the web closer to the ideal and what will be just another nail in its coffin. It is a natural outcome that most developers choose to ignore web architecture as it is mostly useless anyway. And that is going to hurt is badly in a long run.

However, there is an important lesson to be learned. Fifteen years ago the Web was just a simple hypertext system that slowly spread across the small Internet. It had only a minimal design, almost no documentation and no protocol specifications. If the Web should have to pass an architectural review or any major project scrutiny, it would probably be canceled. The web architecture team haven't managed to get the architecture right in all these 15 years. Yet the web is successful, maybe one the most successful technologies ever. Does it mean that quality and technological merit are far less important than popularity, courage and luck?

Technorati Tags:

Posted by semancik at 4:56 PM in Web architecture

Add your comment:
(not displayed)
Generate another code

Please enter the code as seen in the image above to post your comment.
Your comments will be submitted for approval by blog owner to avoid comment spam. It will not appear immediately. Also please be sure to fill out all mandatory fields (marked by asterisk). This ... ehm ... imperfect software does not have any error indication for missing input fields.


[Trackback URL for this entry]