<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Nick Gall &#187; WOA</title>
	<atom:link href="http://blogs.gartner.com/nick_gall/category/woa/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.gartner.com/nick_gall</link>
	<description>A member of the Gartner Blog Network</description>
	<lastBuildDate>Mon, 12 Sep 2011 20:14:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>The Battle Between the Two Gods of Hypermedia: The Reader and The Writer</title>
		<link>http://blogs.gartner.com/nick_gall/2010/09/17/the-battle-between-the-two-gods-of-hypermedia-the-reader-and-the-writer/</link>
		<comments>http://blogs.gartner.com/nick_gall/2010/09/17/the-battle-between-the-two-gods-of-hypermedia-the-reader-and-the-writer/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 15:23:00 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>
		<category><![CDATA[information architecture]]></category>
		<category><![CDATA[semantics]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2010/09/17/the-battle-between-the-two-gods-of-hypermedia-the-reader-and-the-writer/</guid>
		<description><![CDATA[[This is a continuation of a discussion of the “shape of the web” that started in Twitter and then moved to Richard Veryard’s blog: What shape is the Internet.] Glad we agree on the 1st point. On the 2nd point, I&#8217;m not sure Tim&#8217;s vision of hypermedia was all that &#34;innocent&#34;. I think both Tim [...]]]></description>
			<content:encoded><![CDATA[<p>[This is a continuation of a discussion of the “shape of the web” that started in Twitter and then moved to Richard Veryard’s blog: <a href="http://bit.ly/aEbaOk" target="_blank">What shape is the Internet</a>.] </p>
<p>Glad we agree on the 1st point. On the 2nd point, I&#8217;m not sure Tim&#8217;s vision of hypermedia was all that &quot;innocent&quot;. </p>
<p>I think both <a class="zem_slink" title="Tim Berners-Lee" href="http://www.w3.org/People/Berners-Lee/" rel="homepage">Tim Berners-Lee</a>, and <a class="zem_slink" title="Ted Nelson" href="http://ted.hyperland.com/" rel="homepage">Ted Nelson</a> before him, understood that &quot;hypermedia&quot; implied not only <i>following</i> links to go from media to media, but also that such media would be (mis)interpreted, copied, rearranged, (mis)used, mashed up, etc. </p>
<p>In a speech from 2005, Tim presents a slide entitled &quot;<a href="http://bit.ly/9apDAJ" target="_blank">The two gods of literature</a>&quot;, which goes as follows: </p>
<p>[begin slide] </p>
<p>according to Ted Nelson </p>
<p>* The Writer </p>
<p>* The Reader </p>
<p>A common benefit, overlap of need.&#8211;but a battle. </p>
<p>[end slide] </p>
<p>A bit cryptic, so I searched(!) for any discussion of the two gods by Ted. The only discussion that I could find is in this <a href="http://bbc.in/9FX5TA" target="_blank">BBC interview</a>: “I think of it as a form of writing &#8211; and writing is essentially what I would call a two-God system, because God the author proposes and God the reader disposes. The author is completely free to do anything on the page that he likes.” (I would have said “to the page”.) </p>
<p>I can’t be sure, but I think Ted (and Tim perhaps to a lesser degree) WERE plugged into the more general concept of <i><a href="http://en.wikipedia.org/wiki/Intertextuality" target="_blank">intertextuality</a></i>: “the shaping of texts&#8217; meanings by other texts. It can refer to an author’s borrowing and transformation of a prior text or to a reader’s referencing of one text in reading another.” ( ). For a good discussion of intertextuality (if you like semiotics and literary theory), see this <a href="http://bit.ly/9B9y0L" target="_blank">article</a>. </p>
<p>What I think both are alluding to with the metaphor of “two gods”, the reader and the writer, is the idea that “hypertextuality increases intertextuality”: hypertext increases the (mis)use of text (really all media) by users (readers) in ways unforeseen (and often unapproved) by producers (authors). So I think both Tim and Ted are completely unsurprised (but not unconcerned) with how the web of hypermedia is (mis)used in ever more sophisticated ways. It is not just any battle, it is a <a class="zem_slink" title="Red Queen (Through the Looking-Glass)" href="http://en.wikipedia.org/wiki/Red_Queen_%28Through_the_Looking-Glass%29" rel="wikipedia">Red Queen</a> arms race among readers and writers! </p>
<p>The web of linked media enables easier exploration <i>and exploitation</i> of that media. </p>
<p>[The very movement of this discussion from twitter to blog to blog is a perfect example of the intertextual battle. As is my use of a link shortening service…]</p>
<div style="margin-top: 10px;height: 15px" class="zemanta-pixie"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img style="border-bottom-style: none;border-right-style: none;border-top-style: none;float: right;border-left-style: none" class="zemanta-pixie-img" alt="Enhanced by Zemanta" src="http://img.zemanta.com/zemified_e.png?x-id=88c2e3e5-4198-46d4-a4f4-a7d382361b0f" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2010/09/17/the-battle-between-the-two-gods-of-hypermedia-the-reader-and-the-writer/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tim Berners-Lee Doesn&#8217;t Seem to Think &#8220;Linked Data&#8221; Requires RDF</title>
		<link>http://blogs.gartner.com/nick_gall/2010/07/21/tim-berners-lee-doesnt-seem-to-think-linked-data-requires-rdf/</link>
		<comments>http://blogs.gartner.com/nick_gall/2010/07/21/tim-berners-lee-doesnt-seem-to-think-linked-data-requires-rdf/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 17:03:00 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>
		<category><![CDATA[semantics]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2010/07/21/tim-berners-lee-doesnt-seem-to-think-linked-data-requires-rdf/</guid>
		<description><![CDATA[I just plunged back into the linked data scene after having been more focused on other topics, like design thinking/hybrid thinking. I was surprised to find that the controversy about whether linked data requires RDF is still raging: When is Linked Data not Linked Data? &#8211; A summary of the debate. I assumed this would [...]]]></description>
			<content:encoded><![CDATA[<p>I just plunged back into the <a class="zem_slink" title="Linked Data" href="http://linkeddata.org/" rel="homepage">linked data</a> scene after having been more focused on other topics, like <a href="http://en.wikipedia.org/wiki/Design_thinking" target="_blank">design thinking</a>/<a href="http://www.gartner.com/resId=1352013" target="_blank">hybrid thinking</a>. I was surprised to find that the controversy about whether linked data requires <a class="zem_slink" title="Resource Description Framework" href="http://en.wikipedia.org/wiki/Resource_Description_Framework" rel="wikipedia">RDF</a> is still raging: <a href="http://blogs.cetis.ac.uk/lmc/2010/03/16/when-is-linked-data-not-linked-data-a-summary-of-the-debate/" target="_blank">When is Linked Data not Linked Data? &#8211; A summary of the debate</a>. I assumed this would have been settled by <a class="zem_slink" title="Tim Berners-Lee" href="http://en.wikipedia.org/wiki/Tim_Berners-Lee" rel="wikipedia">Tim Berners-Lee</a>’s two TED talks on linked data: one last year (<a href="http://www.ted.com/talks/tim_berners_lee_on_the_next_web.html" target="_blank">Tim Berners-Lee on the next Web</a>) and an update this year (<a href="http://www.ted.com/talks/lang/eng/tim_berners_lee_the_year_open_data_went_worldwide.html" target="_blank">Tim Berners-Lee: The year open data went worldwide</a>).</p>
<p><strong>Tim does not mention RDF at all in either of them</strong>. Here is how he defines <em>linked data</em> in his 2009 TED talk:</p>
<blockquote><p><em>So I want us now to think about not just two pieces of data being connected, or six like he did, but I want to think about a world where everybody has put data on the web and so virtually everything you can imagine is on the web. and then calling that linked data. The technology is linked data, and it&#8217;s extremely simple. If you want to put something on the web there are three rules: first thing is that those HTTP names &#8212; those things that start with &quot;http:&quot; &#8212; we&#8217;re using them not just for documents now, we&#8217;re using them for things that the documents are about. We&#8217;re using them for people, we&#8217;re using them for places, we&#8217;re using them for your products, we&#8217;re using them for events. All kinds of conceptual things, they have names now that start with HTTP.</em> </p>
<p><em>Second rule, if I take one of these HTTP names and I look it up and I do the web thing with it and I fetch the data using the HTTP protocol from the web, I will get back some data in a standard format which is kind of useful data that somebody might like to know about that thing, about that event. Who&#8217;s at the event? Whatever it is about that person, where they were born, things like that. So the second rule is I get important information back.</em> </p>
<p><em>Third rule is that when I get back that information it&#8217;s not just got somebody&#8217;s height and weight and when they were born, it&#8217;s got relationships. Data is relationships. Interestingly, data is relationships. This person was born in Berlin, Berlin is Germany. And when it has relationships, whenever it expresses a relationship then the other thing that it&#8217;s related to is given one of those names that starts HTTP. So, I can go ahead and look that thing up. So I look up a person &#8212; I can look up then the city where they were born I can look up the region it&#8217;s in, and the town it&#8217;s in, and the population of it, and so on. So I can browse this stuff.</em></p>
</blockquote>
<p>Now one might argue that Tim was simply avoiding using geek-speak to a general interest audience. But what’s telling is his choice of examples of linked data successes. In particular, he highlights <a class="zem_slink" title="OpenStreetMap" href="http://www.openstreetmap.org/" rel="homepage">Open Street Maps</a> (OSM) in <em>both</em> talks. AFAICT, the OSM data format is <em>linked</em>, and it is XML, but it’s not RDF.</p>
<p>So if Tim is going to use OSM as a prime example of linked data (actually an example of linked open data), then he’s going to have to open the linked data tent to formats other than RDF. BTW, in the update video this year he also cites examples from both the UK and US open data efforts, many of which I’m sure are not in RDF.</p>
<p>And for those looking for a name data that <em>does</em> require RDF, <a href="http://en.wikipedia.org/wiki/SPARQL" target="_blank">SPARQL</a>, et al? How about <em><a href="http://en.wikipedia.org/wiki/Semantic_Web" target="_blank">Semantic Web</a> Data</em>? Don’t get me wrong. I’m not against the full blown Semantic Web standards per se. I just feel that they fail critical test of the <a href="http://c2.com/xp/DoTheSimplestThingThatCouldPossiblyWork.html" target="_blank">simplest thing that could possibly work</a> or as Tim describes it, the <a href="http://www.w3.org/DesignIssues/Principles.html#PLP" target="_blank">Principle of Least Power</a>.</p>
<p><strong>Remember, linked data is all about the links and the relationships—not the format.</strong></p>
<p>So for me at least, linked data refers to any machine-readable data with URLs pointing to it and URLs pointing out of it. It doesn’t get any simpler than that. I think Tim would agree.</p>
<div style="margin-top: 10px;height: 15px" class="zemanta-pixie"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img style="border-bottom-style: none;border-right-style: none;border-top-style: none;float: right;border-left-style: none" class="zemanta-pixie-img" alt="Enhanced by Zemanta" src="http://img.zemanta.com/zemified_e.png?x-id=1cc5ede8-a073-4c83-8be7-b294094b43b2" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2010/07/21/tim-berners-lee-doesnt-seem-to-think-linked-data-requires-rdf/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
		<item>
		<title>Epiphany: Replace HATEOAS With &quot;Hypermedia Describes Protocols&quot;</title>
		<link>http://blogs.gartner.com/nick_gall/2009/06/02/epiphany-replace-hateoas-with-hypermedia-describes-protocols/</link>
		<comments>http://blogs.gartner.com/nick_gall/2009/06/02/epiphany-replace-hateoas-with-hypermedia-describes-protocols/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 10:08:29 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>
		<category><![CDATA[google]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2009/06/02/epiphany-replace-hateoas-with-hypermedia-describes-protocols/</guid>
		<description><![CDATA[As a few of my friends know, I live for epiphanies. I love to connect concepts. So I&#8217;m really happy to be having one now (it&#8217;s been a while as regular readers of my blog &#8212; if any remain &#8212; can tell). For a LONG time, I&#8217;ve been talking about how all interfaces can be [...]]]></description>
			<content:encoded><![CDATA[<p>As a few of my friends know, I live for <a href="http://ironick.typepad.com/ironick/2003/08/think_orgasmica.html">epiphanies</a>. I love to connect concepts. So I&#8217;m really happy to be having one now (it&#8217;s been a while as regular readers of my blog &#8212; if any remain &#8212; can tell).</p>
<p>For a LONG time, I&#8217;ve been talking about how all interfaces can be defined in terms of IFaPs (Identifiers, Formats, and Protocols). My canonical example of an interface composed of IFaPs is of course the Web: URL (I), HTML (F), and HTTP (P). All three intersect in a particular instance of HTML, say my blog&#8217;s home page. The HTML for my blog&#8217;s home page is filled with URLs, HTML tags, and even HTTP &quot;verbs&quot; (though these are quite rare, mostly in an HTML form or embedded JavaScript).</p>
<p>Then along came REST and with it the concept of <a href="http://www.google.com/search?q=hateoas">HATEOAS</a>: Hypermedia As The Engine of Application State. And everyone, myself included, spent a lot of time trying to grok it and explain it to others. We&#8217;re still trying. One way I try to explain it is by highlighting that HATEOAS requires that each server response must contain not only the requested data &#8212; but also control information (in the forms of specially tagged URLs) describing the next set of permitted interactions with the server. It is this additional control information (at a bare minimum just some links to more data) that turns mere <em>media</em> into <em><a href="http://en.wikipedia.org/wiki/Hypermedia">hypermedia</a></em>.</p>
<p>Now along comes Jim Webber with a much better (dare I say brilliant) way of explaining HATEOAS and hypermedia: &quot;<a href="http://jim.webber.name/downloads/presentations/2009-05-HATEOAS.pdf">Hypermedia Describes Protocols!</a>&quot; (See slide 26.) At first this might seem counterintuitive, since I said that HTTP is the Protocol and HTML is the Format in the WWW. But URLs, HTML, and HTTP are just generic description languages for describing domain-specific identifiers, formats, and protocols. Thus, think of a web of specific HTML pages as a domain-specific protocol. Jim Webber uses the example of ordering a Starbuck&#8217;s coffee. (What&#8217;s important is that each hypermedia DSL is composed using the generic languages of URL, HTML, and HTTP.)</p>
<p>This notion of bringing together identifiers, formats and <em>verbs</em> to describe a protocol is not new. One of the best descriptions of this was in the <a href="http://download.boulder.ibm.com/ibmdl/pub/software/dw/specs/ws-bpel/ws-bpel.pdf">WS-BPEL 1.1 spec</a>:</p>
<p>In thinking about the data handling aspects of business protocols it is instructive to consider the analogy with network communication protocols. Network protocols define the shape and content of the protocol envelopes that flow on the wire, and <u>the protocol behavior they describe is driven solely by the data in these envelopes</u>. In other words, <u>there is a clear physical separation between protocol-relevant data and &quot;payload&quot; data</u>. <strong>The separation is far less clear cut in business protocols because the protocol-relevant data tends to be embedded in other application data.</strong></p>
<p>So if WS-BPEL was already thinking about mixing protocol data with &quot;payload&quot; data, what&#8217;s so new about HATEOAS? The fundamental difference is that WS-BPEL is based on the concept of providing an entire <em>static</em> protocol description up front once and for all &#8212; and providing it <a href="http://en.wikipedia.org/wiki/Out_of_band">out of band</a>. But HATEOAS is based on the notion of <em>progressive description</em> (don&#8217;t bother Googling the term, I coined it; and not to be confused with <a href="http://en.wikipedia.org/wiki/Progressive_disclosure">progressive disclosure</a>). More and more of the description of the protocol is provided to the client (in band in the protocol itself) as the client executes its part of the protocol. I guess another good term might be <em>JIT</em> Protocol Description (Just In Time). Another good term might be &quot;self-describing protocol&quot;. So now when explaining HATEOAS, instead of saying &quot;each server response must contain control information&quot; (huh?), I can say &quot;each server response progressively self-describes the current protocol.&quot;</p>
<p>Now there are pros and cons to static/complete vs dynamic/progressive protocol descriptions. How can I program a client to execute its part of a protocol if I don&#8217;t have a full description of it up front? But if I encode the complete static description of the protocol into my client up front, how can I change the protocol dynamically?</p>
<p>Love to hear others&#8217; thoughts. I&#8217;m going to think about this some more. That&#8217;s why I love epiphanies &#8212; they make you think about things in new ways.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2009/06/02/epiphany-replace-hateoas-with-hypermedia-describes-protocols/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Great set of resources on scalability and other -ility issues</title>
		<link>http://blogs.gartner.com/nick_gall/2009/01/14/great-set-of-resources-on-scalability-and-other-ility-issues/</link>
		<comments>http://blogs.gartner.com/nick_gall/2009/01/14/great-set-of-resources-on-scalability-and-other-ility-issues/#comments</comments>
		<pubDate>Thu, 15 Jan 2009 00:53:12 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2009/01/14/great-set-of-resources-on-scalability-and-other-ility-issues/</guid>
		<description><![CDATA[Recommended: http://blog.maxindelicato.com/2009/01/17-distributed-systems-and-web-scalability-resources.html]]></description>
			<content:encoded><![CDATA[<p>Recommended: <a href="http://blog.maxindelicato.com/2009/01/17-distributed-systems-and-web-scalability-resources.html">http://blog.maxindelicato.com/2009/01/17-distributed-systems-and-web-scalability-resources.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2009/01/14/great-set-of-resources-on-scalability-and-other-ility-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Long Live the Web</title>
		<link>http://blogs.gartner.com/nick_gall/2009/01/06/long-live-the-web/</link>
		<comments>http://blogs.gartner.com/nick_gall/2009/01/06/long-live-the-web/#comments</comments>
		<pubDate>Tue, 06 Jan 2009 15:44:59 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[WOA]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2009/01/06/long-live-the-web/</guid>
		<description><![CDATA[Anne Thomas Manes has started the new year of with a bang by declaring: SOA is Dead; Long Live Services. While I agree with many of the sentiments behind Anne&#8217;s declarations that &#8220;SOA is dead&#8221;, I disagree with her way forward: &#8220;long live services&#8221;. It is services thinking, as conventionally understood, that led to the [...]]]></description>
			<content:encoded><![CDATA[<p>Anne Thomas Manes has started the new year of with a bang by declaring: <a href="http://apsblog.burtongroup.com/2009/01/soa-is-dead-long-live-services.html">SOA is Dead; Long Live Services</a>.</p>
<p>While I agree with many of the sentiments behind Anne&#8217;s declarations that &#8220;SOA is dead&#8221;, I disagree with her way forward: &#8220;long live services&#8221;.</p>
<p>It is services thinking, as conventionally understood, that led to the mess in which we find ourselves: fragmentation caused by entity-specific (service) interfaces. I&#8217;d say instead, &#8220;long live the web.&#8221; I&#8217;m shocked that Anne&#8217;s blog post does not even mention the web!</p>
<p>I agree when Anne says, &#8220;it requires redesign of the application portfolio. And it requires a massive shift in the way IT operates.&#8221; But the disruptive redesign required is to make IT more Web-like &#8212; both in the architecture of software and in the way the ITO operates.</p>
<p>The most &#8220;spectacular gains&#8221; we have are those of Google, Amazon, and even Salesforce. What they have in common is an embrace of the Web, including web architecture, web community, and web business models. To paraphrase Anne&#8217;s blog post:</p>
<p>&#8220;<strong><em></em></strong><a href="http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/">Web-orientation</a> is a prerequisite for rapid integration of data and business processes; it enables situational development models, such as mashups; and it&#8217;s the foundational architecture for SaaS and cloud computing.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2009/01/06/long-live-the-web/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Generic Identifiers aka Web Scale Identifiers</title>
		<link>http://blogs.gartner.com/nick_gall/2008/12/08/generic-identifiers-aka-web-scale-identifiers/</link>
		<comments>http://blogs.gartner.com/nick_gall/2008/12/08/generic-identifiers-aka-web-scale-identifiers/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 22:46:47 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2008/12/08/generic-identifiers-aka-web-scale-identifiers/</guid>
		<description><![CDATA[The most important aspect of WOA is application neutral interfaces (or as some prefer application generic interfaces). Since interfaces are constituted by their IFaPs (Identifiers, Formats, and Protocols), this means that all three aspects must be made &#34;as generic as possible, but not too generic&#34; (playing off Einstein&#8217;s quote regarding simplicity). We all know about [...]]]></description>
			<content:encoded><![CDATA[<p>The most important aspect of <a href="http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/">WOA</a> is <em>application neutral</em> interfaces (or as some prefer <em>application generic</em> interfaces). Since interfaces are constituted by their IFaPs (Identifiers, Formats, and Protocols), this means that all three aspects must be made &quot;as generic as possible, but not too generic&quot; (playing off <a href="http://www.quotationspage.com/quote/2927.html">Einstein&#8217;s quote regarding simplicity</a>).</p>
<p>We all know about generic interface operations, eg HTTP&#8217;s GET, PUT, POST, DELETE, et al. And we are beginning to see more examples of generic formats (or generic schemas if you prefer). For example, ATOM and derivatives like GData.</p>
<p>But its harder to find compelling examples of generic identifiers that are web-oriented, ie, defined as URLs. Well, I just found at great example at the BBC!</p>
<p>
<div class="wlWriterSmartContent" id="949f334a-d30a-4262-9c8e-6d5aa72ee449" style="padding-right: 0px;padding-left: 0px;padding-bottom: 0px;margin: 0px;padding-top: 0px">
<div>
<div style="width:425px;text-align:left" id="__ss_795136"><object height="355" width="425"><param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=permanent-ids-musicbrainz-crids-and-more-1227810921007457-8" /><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://static.slideshare.net/swf/ssplayer2.swf?doc=permanent-ids-musicbrainz-crids-and-more-1227810921007457-8" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px"><a href="http://www.slideshare.net/?src=embed"><img src="http://static.slideshare.net/swf/logo_embd.png" style="border:0px none;margin-bottom:-5px" alt="SlideShare" /></a> | <a href="undefined" title="View this slideshow on SlideShare">View</a> | <a href="http://www.slideshare.net/upload">Upload your own</a></div>
</div>
</div>
</div>
<p>See slides 35 and on.</p>
<p>The basic idea is that MusicBrainz uses a GUID-based set of identifiers to uniquely identify artists, albums, and songs, like this <a href="http://www.bbc.co.uk/music/artists/678d88b2-87b0-403b-b63d-5da7465aecc3">URL for Led Zeppelin</a>. So instead of inventing YAUN (Yet Another URL Namespace), BBC wisely decided to reuse MusicBrainz &#8212; as have others (last.fm).</p>
<p>While I&#8217;m not sure I like the machine-generated, non-human friendly GUID approach, I do love the idea of id sharing across organizations. Such sharing is the essence of the network effect.</p>
<p>For more information see <a href="http://www.bbc.co.uk/blogs/radiolabs/2008/06/the_simple_joys_of_webscale_id.shtml">Web Scale Identifiers</a>, <a href="http://www.bbc.co.uk/blogs/radiolabs/2008/10/automatically_linking_artists.shtml">Automatically Linking Artists</a>, <a href="http://derivadow.com/2008/11/27/permanent-web-ids-or-making-good-web-20-citizens/">Permanent Web IDs</a>, <a href="http://derivadow.com/2007/12/28/web-design-20-its-all-about-the-resource-and-its-url/">It&#8217;s All About the URL</a>, and <a href="http://derivadow.com/2007/06/21/bbc-music-brainz/">BBC/Music/Brainz</a>. The BBC definitely gets WOA and network effects.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2008/12/08/generic-identifiers-aka-web-scale-identifiers/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WOA: Putting the Web Back in Web Services</title>
		<link>http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/</link>
		<comments>http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 03:13:29 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[SOA]]></category>
		<category><![CDATA[WOA]]></category>
		<category><![CDATA[gartner]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/</guid>
		<description><![CDATA[As my friend and colleague Anthony Bradley just pointed out in his blog, our WOA note has finally been published (subscription required) and it&#8217;s something that I am very proud of. Not just because my co-authors Anthony, Dan Sholler and I produced a well-crafted piece of research (if I do say so myself), but more [...]]]></description>
			<content:encoded><![CDATA[<p>As my friend and colleague <a href="http://blogs.gartner.com/anthony_bradley/2008/11/19/i-just-learned-soa-and-now-i-have-to-learn-woa/">Anthony Bradley just pointed out in his blog</a>, our <a href="http://www.gartner.com/DisplayDocument?doc_cd=162022">WOA note</a> has finally been published (subscription required) and it&#8217;s something that I am very proud of. Not just because my co-authors Anthony, <a href="http://blogs.gartner.com/dan_sholler/">Dan Sholler</a> and I produced a well-crafted piece of research (if I do say so myself), but more importantly because we built consensus in support of Web-Oriented Architecture across Gartner over the past several years.</p>
<p>Because of such consensus, the note can put forward Gartner positions such as:</p>
<ul>
<li>Interfaces based on WS-* specifications should be constrained by WOA, especially the generic interface constraints.</li>
<li>More often than not, the WS-* protocol toolkit is unconsciously misused to create needlessly specialized interfaces.</li>
<li>Application neutrality should be the principal goal of an interface, and implementation neutrality should be a secondary goal.</li>
</ul>
<p>While I can&#8217;t share the entire note with the blogosphere, I can share a couple of highlights &#8212; first and foremost the official Gartner definition of Web-Oriented Architecture:</p>
<blockquote><p>WOA is an architectural substyle of SOA that integrates systems and users via a web of globally linked hypermedia based on the architecture of the Web. This architecture emphasizes generality of interfaces (UIs and APIs) to achieve global network effects through five fundamental generic interface constraints:</p>
<ol>
<li>Identification of resources </li>
<li>Manipulation of resources through representations </li>
<li>Self-descriptive messages </li>
<li>Hypermedia as the engine of application state </li>
<li>Application neutrality</li>
</ol>
</blockquote>
<p>Those of you familiar with <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm">Roy T. Fielding&#8217;s REST Thesis</a> will no doubt recognize that WOA&#8217;s five <em>generic interface constraints</em> are an extension of Roy&#8217;s four <em><a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm#sec_5_1_5">uniform interface constraints</a>.</em> The one additional constraint, application neutrality, is implicit in the thesis, but we think it is so fundamentally important that we made it a &quot;first class&quot; constraint.</p>
<p>What is <em>application neutrality</em>? Here is a brief excerpt from the 13-page report:</p>
<blockquote><p>The primary problem with the specifications known as WS-* (such as SOAP, WSDL and UDDI) is that their principal emphasis is on implementation neutrality. All the specifications focus on generalizing away the details of specialized middleware technologies, so that services can be accessed using any one of those technologies. Although this is not an unworthy goal (especially for vendors of specialized middleware technologies), it shifts the focus from the generic interface constraint of application neutrality.</p>
<p>Application neutrality should be the principal goal of an interface, because it is precisely this characteristic that enables shareability (a fundamental SOA principle). In other words, interface designers&#8217; primary goal should be generic, application-neutral interfaces, which generalize away application-specific details.</p>
<p>The key to shared use (reuse) is a generic, application-neutral protocol, such as the Atom Publishing Protocol (APP) or Google&#8217;s GData Protocol. Conversely, the more application-specific a protocol is, the less shareable it is. With sufficient generality, the most powerful kind of reuse becomes possible: serendipitous reuse. So important is this kind of reuse that Tim Berners-Lee and Roy T. Fielding have highlighted it an essential characteristic of the Web:</p>
<ul>
<li>&quot;Unexpected reuse is the value of the Web&quot; (Tim Berners-Lee) </li>
<li>&quot;Engineer for serendipity&quot; (Roy T. Fielding)</li>
</ul>
<p>In terms of Gartner&#8217;s hourglass model for identifiers, formats and protocol operations (IFaPs), application neutrality makes the top of the hourglass wider; implementation neutrality makes the bottom wider. A wide top is more important than a wide bottom. In other words, generic application protocols (application neutrality) at the top of the hourglass are more important in creating powerful network effects than portable implementation protocols (implementation neutrality) at the bottom of the hourglass.</p>
<p>&#8230;</p>
<p>The key to generic interface design, WOA-style, is <strong>nested generality</strong>: gradually specializing generic interfaces in small increments. Whatever level of generalization one begins at &#8212; whether it is at the APP-envelope level or the SOAP-envelope level &#8212; it is a mistake to embed application-specific schemas and identifiers in either envelope.</p>
<p align="center"><strong>Don&#8217;t just build <i>on</i> generic interfaces; build <i>up</i> generic interfaces that are only slightly less generic than those built on.</strong></p>
</blockquote>
<p>One last point highlighted in the note: let&#8217;s not get into a battle over names. If you don&#8217;t like the name WOA, call it REST, or ROA, or Web Architecture, or Fred. &quot;The goal is to focus on the key generic interface constraints that unite these concepts, not debate the nuanced differences among them.&quot;</p>
<p>We&#8217;d love to hear your feedback on this key set of concepts &#8211;especially application neutrality &#8212; whatever name you choose to call it!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2008/11/19/woa-putting-the-web-back-in-web-services/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>WOA is Phony? Ouch!</title>
		<link>http://blogs.gartner.com/nick_gall/2008/10/21/woa-is-phony-ouch/</link>
		<comments>http://blogs.gartner.com/nick_gall/2008/10/21/woa-is-phony-ouch/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 06:13:46 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2008/10/21/woa-is-phony-ouch/</guid>
		<description><![CDATA[Judith Hurwitz apparently doesn&#8217;t like WOA. That&#8217;s OK. To each their own. [BTW, I choose to use the ungrammatical their/they/them as a universal 3rd party pronoun to avoid having to use gender specific his/he/him or her/she/her.] I can&#8217;t be too upset because her blog post turned me on to PollDaddy.com. Here is my first poll: [...]]]></description>
			<content:encoded><![CDATA[<p>Judith Hurwitz apparently <a href="http://jshurwitz.wordpress.com/2008/10/21/why-i-think-web-oriented-architecture-is-phony/" target="_blank">doesn&#8217;t like WOA</a>. That&#8217;s OK. To each their own. [BTW, I choose to use the ungrammatical their/they/them as a universal 3rd party pronoun to avoid having to use gender specific his/he/him or her/she/her.] I can&#8217;t be too upset because her blog post turned me on to PollDaddy.com. Here is my first poll:<br />
<a href="http://answers.polldaddy.com/poll/1024755/">Do you agree with Judith Hurwitz that WOA is phony?</a><br />
<span style="font-size:9px"> (<a href="http://www.polldaddy.com"> surveys</a>)</span></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2008/10/21/woa-is-phony-ouch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Good Walk-Through of a RESTful Transactional Application</title>
		<link>http://blogs.gartner.com/nick_gall/2008/10/06/good-walk-through-of-a-restful-transactional-application/</link>
		<comments>http://blogs.gartner.com/nick_gall/2008/10/06/good-walk-through-of-a-restful-transactional-application/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 02:23:49 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/2008/10/06/good-walk-through-of-a-restful-transactional-application/</guid>
		<description><![CDATA[How to GET a Cup of Coffee is a very detailed discussion of a RESTful application of ordering and paying for coffee at a hypothetical Starbucks. It shows a lot of the details needed to understand the power and flexibility of the approach. It even manages to explain HATEOAS (Hypermedia As The Engine Of Application [...]]]></description>
			<content:encoded><![CDATA[<p>How to <a href="http://www.infoq.com/articles/webber-rest-workflow" target="_blank">GET a Cup of Coffee</a> is a very detailed discussion of a RESTful application of ordering and paying for coffee at a hypothetical Starbucks. It shows a lot of the details needed to understand the power and flexibility of the approach. It even manages to explain HATEOAS (Hypermedia As The Engine Of Application State. Nicely done.</p>
<p><a href="http://www.infoq.com/articles/webber-rest-workflow" target="_blank"><img src="http://www.infoq.com/resource/articles/webber-rest-workflow/en/resources/image1.jpg" /></a> </p>
<p>The Customer State Machine</p>
<p><a href="http://www.infoq.com/articles/webber-rest-workflow" target="_blank"><img src="http://www.infoq.com/resource/articles/webber-rest-workflow/en/resources/image2.jpg" /></a> </p>
<p>The Barista&#8217;s State Machine</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2008/10/06/good-walk-through-of-a-restful-transactional-application/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How Does REST Help Solve Data Semantics Problems?</title>
		<link>http://blogs.gartner.com/nick_gall/2008/10/02/how-does-rest-help-solve-data-semantics-problems/</link>
		<comments>http://blogs.gartner.com/nick_gall/2008/10/02/how-does-rest-help-solve-data-semantics-problems/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 17:48:04 +0000</pubDate>
		<dc:creator>Nick Gall</dc:creator>
				<category><![CDATA[WOA]]></category>
		<category><![CDATA[master data]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://blogs.gartner.com/nick_gall/?p=22</guid>
		<description><![CDATA[Eric Roch recently blogged (Gartner on SOA vs. WOA) about my REST interview and he asked an excellent question: &#8220;So let&#8217;s look at the [REST] constraints, can someone please tell me which of these constraints solves data semantics problems?&#8221; The answer is the uniform interface constraint (UIC), which you can also think of as the &#8220;generality [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://it.toolbox.com/people/eroch/">Eric Roch</a> recently blogged (<a href="http://it.toolbox.com/blogs/the-soa-blog/gartner-on-soa-vs-woa-27514">Gartner on SOA vs. WOA</a>) about my REST interview and he asked an excellent question: &#8220;So let&#8217;s look at the [REST] constraints, can someone please tell me which of these constraints solves data semantics problems?&#8221;</p>
<p>The answer is the uniform interface constraint (UIC), which you can also think of as the &#8220;generality constraint&#8221;. Since an interface is composed of identifiers, formats, and protocol operations, the (UIC) mandates that:</p>
<ol>
<li>Identifiers be as generic as possible</li>
<li>Schemas be as generic as possible</li>
<li>Protocol operations be as generic as possible</li>
</ol>
<p>for the type of application being architected.</p>
<p>Everyone who&#8217;s looked at REST now seems to get the generic protocol operations part: GET, PUT, POST, DELETE, etc. And some are now getting the generic formats part: Atom Publishing Protocol, GData.</p>
<p>But very few are focusing on the generic identifiers part yet &#8212; at least in terms of explicitly RESTful thinking.  The closest thing to generic identifier work in enterprises is master data rationalization. Gartner defines master data as <em>consistent and uniform</em> identifiers and attributes for key business entities used across many business processes (at least that&#8217;s the gist of our definition). To make the master data connection to REST explicit, &#8220;consistent and uniform&#8221; identifiers across many processes translates into <em>generic</em> identifiers, or if you prefer Roy&#8217;s terminology <em>uniform</em> identifiers.</p>
<p>So REST doesn&#8217;t so much <em>solve</em> the data semantics problem; rather, properly understood, REST&#8217;s UIC puts the data semantics problem, ie mandating uniform, generic semantics instead of ad hoc, specialized data semantics, front and center. REST is the only architectural style I know of that makes interface generalization the primary imperative. On the other hand,  WS-* implicitly or explicitly encourages interface specialization. Steve Vinoski has a great article on the evils of interface specialization: <a href="http://www.computer.org/portal/site/dsonline/menuitem.9ed3d9924aeb0dcd82ccc6716bbe36ec/index.jsp?&amp;pName=dso_level1&amp;path=dsonline/2008/02&amp;file=w1tow.xml&amp;xsl=article.xsl&amp;">Serendipitous Reuse</a>.</p>
<p>Hope that helps clarify.</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.gartner.com/nick_gall/2008/10/02/how-does-rest-help-solve-data-semantics-problems/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

