Shirky On P2P
There's an interview with Clay Shirky over at O'Reilly's OpenP2P network regarding P2P. Some of the piece is wordy ruminations over what peer to peer (and dear lord do I hate that term) is, and where it's going - but the most interesting part, IMHO, is the talking about web services and the changing definition of "client" and "server".
- because we chopped up the IP address space based on byte boundaries rather than bit boundaries, an artificial scarcity was created that led (in part) to the widespread use of DHCP and NAT
- DHCP and NAT arguably broke DNS and prevented people from running traditional server processes on their boxen so we created P2P software
- due to the numerous security problems that surface (due primarily to misconfigurations) we invent firewalls that block traffic
- due to firewalls blocking everything but HTTP, we invent a whole new protocol stack on top of HTTP (i.e. SOAP)
and so on and so on... I'd include the push of XML to "fix" the problem of differing binary data formats, and the creation of XML Schemas to make up for the lost type information in all those mismatching DTDs and so on. But you all get the point.I do admit that the ultimate goal of the web services vision is admirable, but it seems to me to be just a bloated (UDDI+WSDL+SOAP+XMLSchema+HTTP(+P2P?)) version of what many software agent research groups have been after for years. Come on people, stop the insanity! There's gotta be a better way!
(and no, I didn't read the whole article, i had to stop and release the built up rant pressure before the insanity blew my head open. go ahead and mod me down for being an offtopic troll now.)
This is a really important debate right now, and there are no good answers. The debate comes down to how much do we need to do to the Web as we have it today to be able to create an environment where programs can be as interoperable as web browsers and servers are today?
.NET, even if a lot of it is hype, it will affect our world a great deal.
There are growing criticisms of the consensus vision of web services -- http / SOAP / WSDL / UDDI -- largely on the grounds that its complexity is un-web-like, and that there are uninvented and possibly uninventable layers required above UDDI for any two arbitrary applications to be able to find each other in the dark.
Dave Winer of Userland, inventor of XML-RPC and co-designer of the SOAP spec, advocates an embrace of these two protocols by the Open Source movement as a lightweight way to advance the battle for interoperability. (Dave's ideas in many ways answer the Will Open Source Lose the Battle for the Web? article form earlier this month.)
Another group, in line with your "Apache is all we need" idea, has taken Roy Fielding's idea of the REST (REpresentational State Transfer) architecture as a way to extend existing web semantics furhter into the domain of applications. They have started a RESTWiki to expand on those ideas.
This is all a big mess right now, with no obvious clarity coming any time soon, but two things we can be certain of are that experiments with application-to-application traffic is going to increase dramatically in the next 12 months, whatever the framework, and that with MSFT driving this idea as part of
-clay