- From: Roy T. Fielding <fielding@apache.org>
- Date: Thu, 11 Apr 2002 16:05:13 -0700
- To: Keith Moore <moore@cs.utk.edu>
- Cc: "Noah Mendelsohn/Cambridge/IBM" <noah_mendelsohn@us.ibm.com>, www-tag@w3.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 UTC