Updated: 9/21/2006; 6:15:45 AM.
Nick Gall's Weblog
[NOTE: I have moved. My new blog is ironick.typepad.com.]
        

Saturday, November 13, 2004

The network lasts longer than the computer.
Just skimmed the recently released Architecture of the World Wide Web, First Edition, which is now a Proposed Recommendation. It is a lot more complex and opaque than the first version, published a little over two years ago. It was the first version that inspired my definition of Service-Oriented Architecture, which I repeat here:

An SOA is a dynamic, modular, general purpose, extensible, federated interoperability architecture that defines all processes as services delegated to service providers via generic envelope-based service interfaces. Such generic interfaces describe only the interactions between service providers and service consumers and solely in terms of extensible identifiers, formats, and protocols (IFaPs). Such generic service interfaces are intended to be dynamically bound to a diverse array of specific concrete service transport technologies and endpoint service provider technologies that are both federated by envelope-processing service intermediaries. [emphasis added]

Here is the original definition of the WWW Architecture from the first version:

The World Wide Web (or, Web) is a networked information system consisting of agents (programs acting on behalf of another person, entity, or process) that exchange information.

This architecture consists of:
1. Identifiers. A single specification to identify objects in the system: the Uniform Resource Identifier (URI) [RFC2396].
2. Formats. A nonexclusive set of data format specifications designed for interchange between agents in the system. This includes several data formats used in isolation or in combination (e.g., XHTML, CSS, PNG, XLink, RDF, SMIL animation), as well as technologies for designing new data formats (XML, XML Namespaces).
3. Protocols. A small and nonexclusive set of protocol specifications for interchanging information between agents, including HTTP [RFC2616], SMTP, and others. Several of these protocols share a reliance on the Internet Media Type (or, "MIME") the metadata/packaging system [RFC2046].

The current "definition" is not nearly so definitive, especially concerning IFaPs:

The World Wide Web (WWW, or simply Web) is an information space in which the items of interest, referred to as resources, are identified by global identifiers called Uniform Resource Identifiers (URI).

Examples such as the following travel scenario are used throughout this document to illustrate typical behavior of Web agents...

This scenario illustrates the three architectural bases of the Web that are discussed in this document:

1. Identification (§2). URIs are used to identify resources. In this travel scenario, the resource is a periodically updated report on the weather in Oaxaca, and the URI is “http://weather.example.com/oaxaca”.

2. Interaction (§3). Web agents communicate using standardized protocols that enable interaction through the exchange of messages which adhere to a defined syntax and semantics. By entering a URI into a retrieval dialog or selecting a hypertext link, Nadia tells her browser to perform a retrieval action for the resource identified by the URI. In this example, the browser sends an HTTP GET request (part of the HTTP protocol) to the server at "weather.example.com", via TCP/IP port 80, and the server sends back a message containing what it determines to be a representation of the resource as of the time that representation was generated. Note that this example is specific to hypertext browsing of information—other kinds of interaction are possible, both within browsers and through the use of other types of Web agent; our example is intended to illustrate one common interaction, not define the range of possible interactions or limit the ways in which agents might use the Web.

3. Formats (§4). Most protocols used for representation retrieval and/or submission make use of a sequence of one or more messages, which taken together contain a payload of representation data and metadata, to transfer the representation between agents. The choice of interaction protocol places limits on the formats of representation data and metadata that can be transmitted. HTTP, for example, typically transmits a single octet stream plus metadata, and uses the "Content-Type" and "Content-Encoding" header fields to further identify the format of the representation. In this scenario, the representation transferred is in XHTML, as identified by the "Content-type" HTTP header field containing the registered Internet media type name, "application/xhtml+xml". That Internet media type name indicates that the representation data can be processed according to the XHTML specification.

As you can see, protocol was replaced by interaction, which is fine. But the IFaP point that was so clearly made in the first version is now relegated to a comment at the end of the Intro section:

In the remainder of this document, we highlight important architectural points regarding Web identifiers, protocols, and formats. We also discuss some important general architectural principles (§5) and how they apply to the Web. [emphasis added]

However, the latest draft absolutely nails an essential point about the longevity of network IFaP architectures vs. software architectures, that I've been making for quite a while:

5.4. Protocol-based Interoperability

The Web follows Internet tradition in that its important interfaces are defined in terms of protocols, by specifying the syntax, semantics, and sequencing constraints of the messages interchanged. Protocols designed to be resilient in the face of widely varying environments have helped the Web scale and have facilitated communication across multiple trust boundaries. Traditional application programming interfaces (APIs) do not always take these constraints into account, nor should they be required to. One effect of protocol-based design is that the technology shared among agents often lasts longer than the agents themselves. [emphasis added]

Hence, the title of this post: The network lasts longer than the computer. You can be sure I'll be quoting §5.4 and my pithier version quite a bit from here on.

I'll probably have further comments when I've read the draft in detail.


12:01:13 AM      

© Copyright 2006 Nicholas Gall.
 
November 2004
Sun Mon Tue Wed Thu Fri Sat
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
Oct   Jan



Latest Interesting Pages Furled

Full Archive of Furled Pages

Subscribe to my Furl Archive

Click here to visit the Radio UserLand website.



Click here to send an email to the editor of this weblog.

My Latest Blog Postings

Powered by: