[
Lists Home |
Date Index |
Thread Index
]
At 10:06 AM -0500 1/6/04, Michael Champion wrote:
> Why is the former bad and contrary to the web architecture, and the
>latter is a good thing, even though "it is very little used on the
>web today?" (Why not?)
Why not? Also a good question. I think it's mostly a matter of
history and unfamiliarity with the design and technology of the Web,
as well as inertia.
20 years ago you could have asked why most relational database
developers didn't properly normalize their tables. The answer is that
they were used to other kinds of databases, and hadn't yet really
learned and internalized the architecture and design of relational
databases.
10 years ago you could have asked why most object oriented
programmers were writing code that was essentially C with << and >>
instead of printf and scanf. The answer is that they were used to
other kinds of programming languages, and hadn't yet really learned
and internalized the architecture and design of object oriented
languages.
Today you're asking why web developers are trying to fit yesterday's
square session based system architectures into the web's stateless
round hole. The answer is that they're still thinking in yesterday's
terms. Most web developers don't even ask the question of whether
their application needs sessions. They assume it does because the old
style systems did. It doesn't even occur to them to ask whether a
banking application or a shopping cart could be designed without
sessions. Eventually they too will learn how web applications should
be designed, just as database developers and programmers learned how
to properly utilize those technologies.
Of course, just as there are still some database developers who don't
stuff a ton of unnormalized data in a single table, and some
programmers who write huge monolithic apps wrapped up in a single
class, there will always be web application developers who try to
graft sessions onto a fundamentally stateless HTTP protocol. However,
the percentage of developers doing that is shrinking. Threads like
this one are a part of that process. Every time it comes up I watch
the lightbulbs go on in a few more heads, as people realize they
don't need cookies to design a shopping cart, something that never
even occurred to them before. And just as normalized tables and
message passing objects came to dominate in their respective arenas,
so too will sessionless application design come to dominate in web
applications, because this is how HTTP was designed to work, and
nothing else fits it as well or as cleanly.
--
Elliotte Rusty Harold
elharo@metalab.unc.edu
Effective XML (Addison-Wesley, 2003)
http://www.cafeconleche.org/books/effectivexml
http://www.amazon.com/exec/obidos/ISBN%3D0321150406/ref%3Dnosim/cafeaulaitA
|