1. Nov 27th, 2006

    HTTP as a Three Tier Protocol

    Of course we saw it coming early on. Simple prevails over complex. You get more participation if you keep barriers low. Distributed systems only scale when things are easy to address. Data (and code) that is out of sight rots, and Web technologies are all about keeping it in the open.

    It’s a simple matter of knowing your engineering principles, to undestand why the Web is the best choice for small and large distributed systems.

    Well … I, for one, didn’t know any of that.

    When I first got an Internet account it was all about FTP. Then came Gopher and Archie, and made things better. But the jaw-dropping experience was HTML over HTTP. I realized the Web (back then, version 0.1) was more than just geek-tech.

    But then came IM and improved on e-mail in so many ways. And XML that opened up data to even more applications. We had JavaScript and the promise of run-anywhere Java Applets. And when you’re looking at it from the inside, there’s clearly a trend. New technologies that improve on old ones in so many ways. Why would it ever stop?

    Critical mass and the laws of diminishing returns.

    At some point, a technology becomes just good enough for a large enough number of uses, that it wins critical mass. Users, developers, tools, documentation, examples, knowledge, do it yourself, and fix it yourself. When you have that critical mass, the barrier to change becomes high enough that anything “better” is actually worse.

    So with that long introduction to “why HTTP is here to stay”, here’s a select three links from the past few days. Each link looks at a different use of HTTP, and together they turn HTTP into the 3-tier protocol of choice.

    Alex Bunardzic, on the multi-purpose of REST: “The reason I think that Rails 1.2 is a death knell for the databases lies in the fact that it brings full fledged resource oriented development into the mainstream.”

    James Duncan Davidson on replacing yet-another-protocol with HTTP: “So, if it’s all about the web request, why not use the simplest pipe possible? You know, the one we already have. The one that was defined a decade ago. … These proxy bits are what gives HTTP the richness needed to connect various web components together.”

    Aristotle Pagaltzis starts by looking at the enormous complexity that is Vista, draws a parallel to the mythical distributed system that will “fix” the Web, and reminds us once again that: “The web is the first system we have that has proven to work at massive scale. Why on earth would we want to unlearn its lessons? ”

    Photo by Casey K

    1. Nov 28th, 2006

      Crosbie Fitch

      What’s the opposite of graceful degradation?

      Graceful enhancement?

      New systems are possible, but they must first build upon the highest tier in use. They cannot say “Ooh, look over there. Those eminent foundations have lain dormant for years. We could build on those.”

      So, no matter how ridiculous that you must build protocols on top of HTTP (or SOAP), that’s what you do, and then gracefully enable other far more efficient foundation protocols for those who can re-enable their use.

    2. Nov 30th, 2006

      tnkgrl

      I remember first seeing the Web circa 1993 on an SGI Indigo running Mosaic, and thinking…

      “Wow, this is going to change everything!”

      That was my biggest understatement ever :) Coming from Gopher, Archie, FTP, UseNet and e-mail, HTML over HTTP was complete magic.

    Your comment, here ⇓