[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: P2P and URIs
Rich Salz wrote: > > ... > > I'm still waiting for someone to show me that the Web was something > designed and guided by REST principals (as claimed in the link above), How could I show you what was in Roy Fielding's head? And if I could, what would it matter? The best I could do is say that the Web largely adheres to REST principles and these principles provide a plausible explanation for its success, as architectural principles provide a plausible explanation for the success of my house in standing up. If you belive that making a house stand up is easy then I won't be able to convince you that architecture is important. But I've heard of houses falling down due to poor architecture and I know for a fact that there is a vast graveyard of dead protocols and dead hypertext systems. So I believe in architecture. > and not something that we all just happened to fall in, and by massive > effort, made work. You cannot, by sheer force of will, make a fundamentally broken architecture work. If a builder fixes a mistake the architect has made then the builder has changed the architecture for the better. Of the various REST design principles, the Web has adhered to most since day one. They are: * statelessness The 1993 version of HTTP billed itself as a "stateless object oriented protocol." * generic interface to components (whatever their access protocol) Fielding: "For example, the Web's primary transfer protocol is HTTP, but the architecture also includes seamless access to resources that originate on pre-existing network servers, including FTP [107], Gopher [7], and WAIS [36]. Interaction with those services is restricted to the semantics of a REST connector." Berners-Lee (1992): "One is that it turns out that almost all other information systems can be represented in terms of W3 documents. A W3 user can interrogate WAIS indexes ( example ) and Gopher servers ( example ). This comes from the flexibility of the W3 model to describe other structures. A WAIS database is a searchable document. The hit-list returned by a WAIS server (or any other query engine) is a hypertext document with links to the documents found. This flexibility has allowed lots of different kinds of data to be put on-line by writing a simple script to generate a hypertext "view" of the database. " * identification of resources; One of the core concepts of the very first Web was URIs. In 1993, Tim BL identifies URI-based links as the central differentiator between the (quickly growing) Web and the (stagnating) Gopher and WAIS protocols: http://www.w3.org/History/1992/WWW/FAQ/WAISandGopher.html * manipulation of resources through representations; This one probably legitimately came later with REST. It only became important to distinguish between resources and their representations when we started thinking about caching and metadata. Nevertheless, it was always explicit in HTTP's design that the thing you get back is not necessarily the abstract object that is addressed. * self-descriptive messages; The Web's messages have been self-descriptive since day 1, and presumably this was a conscious choice. Still, this too became much more crucial in the face of caching. * and, hypermedia as the engine of application state. For instance, here is something that Tim Berners-Lee wrote in 1989 about "Hypermedia as the engine of application state": "In 1980, I wrote a program for keeping track of software with which I was involved in the PS control system. Called Enquire, it allowed one to store snippets of information, and to link related pieces together in any way. To find information, one progressed via the links from one sheet to another, rather like in the old computer game "adventure"." "What is required is a gateway program which will map an existing structure onto the hypertext model, and allow limited (perhaps read-only) access to it. This takes the form of a hypertext server written to provide existing information in a form matching the standard interface. One would not imagine the server actually generating a hypertext database from and existing one: rather, it would generate a hypertext view of an existing database." In short, most of REST was built-into the Web since day 1. Most of it was explicit but some (like self-descriptiveness) was just taken for granted. Other stuff was added as it became necessary for the Web to scale (in particular the model had to be extended to allow for intermediares). > > But anyhow, the point is that BitTorrent is extremely non-invasive in > > user experience, standards and technology. Gnutella et. al. are > > extremely invasive along all axes. > > Perhaps relative success and GUI agents have more to do with this than > anything architectural. I don't know what you are saying here. -- "When I walk on the floor for the final execution, I'll wear a denim suit. I'll walk in there like Willie Nelson, John Wayne, Will Smith -- Men in Black -- James Brown. Maybe do a Michael Jackson moonwalk." Congressman James Traficant.
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|