W3C home > Mailing lists > Public > www-tag@w3.org > April 2002

Re: Proposed TAG issue on the boundaries of the Web

From: Roy T. Fielding <fielding@apache.org>
Date: Thu, 11 Apr 2002 16:05:13 -0700
Cc: "Noah Mendelsohn/Cambridge/IBM" <noah_mendelsohn@us.ibm.com>, www-tag@w3.org
To: Keith Moore <moore@cs.utk.edu>
Message-Id: <949D5A94-4DA0-11D6-B08E-000393753936@apache.org>

On Wednesday, April 10, 2002, at 08:35  PM, Keith Moore wrote:

>> The Web both supplies and depends on uniform semantics.  Web servers
>> and client-side library abstractions (connectors and proxies) provide
>> uniform semantic interfaces to other information services.  Proxies
>> work because of it.  Web user-agents pass those uniform semantics on
>> to the user through a consistent UI.  That is what makes the Web 
>> desirable
>> for information integration.  The two are inseparable.
>
> There are two ways one can think of an architecture.
>
> The first way is to provide a common framework that allows a wide
> variety of pieces to work together,while largely preserving the
> ability of those pieces to provide their individual functions and
> to evolve independently of one another.
>
> The second way is to try to limit functionality of each piece,
> coercing everything into a uniform model.

That is incorrect.  A common framework is obtained by applying constraints
(making interfaces common).  The second is the cause and, if done right, 
the first
is the effect.  That is the nature of architectural design.

> The first way encourages evolution; the second inhibits it.
> The first way imposes substantial barriers to entry;
> the second imposes minimal barriers.
> The first way requires central control over many aspects of the
> architecture; the second requires only a minimal framework and
> an extensibility model.

No, what you are saying is that some people try to over-constrain an
architecture for a particular problem.  That just means there are some
designs that are better than others.  It does not mean that you get
good characteristics by obviating the task of architectural design.

The Web is a system that resides on and around the Internet.  It has
certain behavior and properties that are enabled by the Web's architectural
design.  We use that design to determine what changes can be made to
the Web without destroying the other properties that we hold to be 
important.
Doing so does not in any way constrict the behavior of all of the other
systems that co-exist with the Web on the Internet.  Nevertheless, we
need to differentiate between what is the Web and what is other Internet
application architectures, because failing to do so results in nothing
more than a transport system that tries to be all things to all people.
We don't need another one of those -- that is what TCP and UDP over IP
already supplies quite well.


Cheers,

Roy T. Fielding, Chairman, The Apache Software Foundation
                  (fielding@apache.org)  <http://www.apache.org/>

                  Chief Scientist, Day Software
                  2 Corporate Plaza, Suite 150
                  Newport Beach, CA 92660-7929   fax:+1.949.644.5064
                  (roy.fielding@day.com) <http://www.day.com/>
Received on Thursday, 11 April 2002 19:06:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Thursday, 26 April 2012 12:47:06 GMT