(^182) 97 Things Every Project Manager Should Know
The Web Points the Way, for Now
David Wood
Fredericksburg, Virginia, U.S.
ThERE IS A ChARITy gRoUP WhoSE SlogAn IS “We stand on the shoul-
ders of those who came before us. We provide the shoulders for those who
follow us.” This quote is relevant for us as software developers. As each new
architecture, language, or platform rises to prominence, we tend to sigh, “This
is the answer to all of our programming problems.” And while it may solve
today’s issues, tomorrow there will be new challenges facing us.
Currently, we know of exactly one software architecture that scales to billions
of users and does so while being robust* to failures of individual components:
the World Wide Web. The Web is the largest, most used, and most robust
information retrieval system ever built by humankind—so far.
Why does the Web work so well? Roy Fielding, a founder of the vaunted
Apache project,† researched this very question. Fielding evaluated the archi-
tecture of an idealized version of the early Web and extracted architectural
style elements from it.
The result was a new software architectural style with the properties that we
have come to love about the Web. They are robust to both change and failure of
specific components. They separate concerns so we stop caring about imple-
mentation details such as programming languages. They use a common lingua
franca (a language for communication among those who don’t speak the same
mother tongue) to exchange language-neutral requests for information. They
scale mightily. They are stateless.
- Robust: Capable of coping well with variations, sometimes unpredictable ones, with minimal dam-
age, alteration or loss of functionality.
† Apache project: An open source project to develop and maintain free web server software for mod-
ern operating systems.