Chapter 91. The Web Points the Way, for Now
THERE IS A CHARITY GROUP WHOSE SLOGAN IS “We stand on the shoulders 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 architecture 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 implementation details such as programming languages. They use a common lingua franca (a language for communication among those who don’t speak the same ...