Evolution
AI³
Adaptive Information
Adaptive Innovation
Adaptive Infrastructure
a·dap·tive adj. Showing or having a capacity to make fit for new or special situations; flexible; a successful adjustment.

Blogasbörd (cloud version):
Send Email   Get SIOC Profile   Get FOAF Profile   Syndicate full contents for this site using RSS 20
Main Links
Categories
Calendar
September 2010
S M T W T F S
« Aug    
 1234
567891011
12131415161718
19202122232425
2627282930  
Archives
More . . .  
Search
Affiliations
structWSF
Credits
Blog software courtesy of WordPress Obtain Technorati profile Subscribe with Bloglines
View Mike's profile on LinkedIn
Date:   November 16, 2006

“Hitting the 80/20 point is a very central concept” - Tim Bray

A recent InfoQ interview of Tim Bray by Obie Fernandez — entitled Tim Bray on Rails, REST, XML, Java, and More — is wide-ranging, cogent and thought-provoking. The subjects range from (naturally) XML and Java to Ruby, Rails, the semantic Web, agile programming, dynamic languages and typing, web services (WS*), you name it.

I most appreciate the down-to-earth sense of it all. The 30-min video and its transcript are well worth listening to and studying in its own right, but let me illustrate the quality of the interview by Tim’s answer to one question regarding Web services:

“So here’s the problem: we have a radically heterogeneous computer environment. There are different operating systems, different languages, different databases, different computer architectures and that’s not going to go away. The IT profession has struggled for decades, literally decades, on how to build applications to work across this heterogeneous network and accomplish useful things, and by and large have done a pretty bad job. Corba was sort of a sad story. Microsoft DCOM was understood by only 8 people in the world, and then all of a sudden about 10-12 years ago there was this application that worked across heterogeneous networks, had high performance, had extremely broad scaling, ignored networking issues apparently and worked great; that was the World Wide Web.

The world, not being stupid, said maybe there’s something we can learn from that. The thing about the web is that if you look at it, it has no object models and it has no APIs. It’s just protocols all the way down. Some of the protocols are loose and sloppy like HTML, and some of them are extremely rigorous like TCP/IP. But if you look at the stack there’s no APIs, there’s protocols all the way down. I think that the thing that you take away from that, is that that is the way to build heterogeneous network locations. A few other things that we learned from the web is that simple message exchange patterns are better; I mean HTTP has one message exchange pattern; I send you a message, you send me a message and the conversation is over. And it turns out to have incredibly good characteristics and so on.

Now, the other thing that came along around the same time was XML, and it provided a convenient lingua franca to put in the messages you’re going to send back and forth. The basic take-away is “Let’s adopt the architectural pattern of the web by specifying interfaces in terms of message exchange patterns, let’s make those message exchange patterns simple, let’s try and make statelessness possible and easy because that’s on the truth path to scaling. I think that idea has legs, it’s really the only way forward.

The fact is that 10 years from now there’s still going to be Rails apps here and Java apps there and they’re going to have to talk to each other. The only way to do that is by sending messages back and forth.

Somebody said to standardize that. And that led us down this insane trail and the destruction of WS*. If you look at WS* there are these huge universal schemas compressing thousands of pages of specifications, mostly cooked up in back rooms at IBM and Microsoft. Many of them are still unstable years into the project, and they are based on XML schema and WSDL, which are two of the ugliest, most broken and irritating specifications in the history of the universe. I just totally don’t believe you can build a generic world changing infrastructure for the whole software development ecosystem based on broken specifications at the bottom level. So those guys have gone off the rails!”

The death star WS* image, by the way, came from David Heinemeier Hansson of Rails fame and was used at the same Canadian Rails conference at whch both spoke.

Posted by AI3's author, Mike Bergman

Posted on November 16, 2006 at 11:35 am in Adaptive Information, Information Automation, Semantic Web Comments Off
The URI link reference to this post is: http://www.mkbergman.com/300/infoq-interview-with-tim-bray/
The URI to trackback this post is: http://www.mkbergman.com/300/infoq-interview-with-tim-bray/trackback/

Comments are closed.

Comment Guidelines:  All submitted comments are moderated prior to posting. Off-topic or inappropriate language or comments will not be posted. Email addresses will never be published. Thanks for your interest.
Copyright © 2004–2010 Michael K. Bergman.   This work is licensed under a Creative Commons License