InfoQ

Interview

Tim Bray on Rails, REST, XML, Java, and More

Interview with Tim Bray, Obie Fernandez, Floyd Marinescu by on Oct 11, 2006

Community
Ruby,
Java,
SOA
Topics
Dynamic Languages ,
Ruby on Rails ,
WS Standards ,
Web Services
Tags
JRuby ,
TDD ,
Sun Microsystems ,
WS-Star ,
Ruby on Rails ,
Trends ,
XML ,
SOAP ,
Buzzwords ,
CORBA ,
Atom
Summary
InfoQ Ruby editor Obie Fernandez interviews Tim Bray, one of the inventors of XML and current Director of Web Technologies for Sun Microsystems. We cover varied topics such as his opinions about Ruby and Rails, the impact of dynamic languages on web development, static versus dynamic typing, Sun's support of the JRuby project, Atom, and WS-* versus REST approaches to systems integration.

Bio
Tim Bray managed the Oxford English Dictionary project at the University of Waterloo in 1987-1989, co-founded Open Text Corporation (Nasdaq:OTEX) in 1989, and co-invented XML in 1996-98. Currently, he serves as Director of Web Technologies at Sun Microsystems, co-chairs the IETF "Atompub" working group, and publishes a popular weblog (http://www.tbray.org/)
So we are here with Tim Bray at Canada on Rails. It was a very pleasant surprise to see you here. I want to talk to you about some issues about dynamic languages, why you are interested in Ruby and such. Why don't you start by telling us a little bit about why you are interested in Ruby nowadays?
When did you start noticing Rails and what's the perception at Sun nowadays about the Rails phenomenon?
Right, but don't you also have a responsibility to defend the Java platform?
JRuby is obviously a lot of work and in a way, you're supporting them now?
What does it mean when you say "running Ruby on the JVM", how would that look like a year from now?
The Java community is interested to have all these communities running on the JVM, but how can we do that? How can we make it their strategic advantage to be running on JVM no matter what language they are working on? What are we offering them?
So at the higher-level application contracts, you've seen enough of Rails to understand that there are Ruby-specific idioms and programming practices that are an essential part of what makes Rails programming so special. How does that translate onto other platforms once you have Rails and JRuby or JRuby on Rails?
Once again into Rails programming, it's a clean break; it represents a very "out-there" kind of move. Do you think that Java programmers can make that [move] smoothly once they are able to use these idioms, these programming practices on their own platform?
XML configuration is potentially abused in Java, and as a general rule in a lot of Java frameworks. That's something that's shunned in Ruby.
Does Groovy present a dynamic language option?
Is dynamic typing the way of the future?
What about the maintenance programmer that comes afterwards, that didn't write the program?
Not only that. Everything in Rails is by convention, right? You could build an IDE that can understand the conventions of Rails?
When speaking about performance some Smalltalk advocates are keen on reminding Java people that they had just-in-time compilations and really fast virtual machines way before Java did. So does the future look good on that front for Ruby?
Is the static typing versus dynamic typing argument actually a false dichotomy? Isn't it a matter of shades of grey? Can we have implied typing? Other typing? Are we thinking in too-narrow terms?
XML has no typing, but you apply types to it as an aspect, in the form of a schema or DTD. Is it correct to characterize it that way?
Like duck typing, right?
DHH, the author of Rails got up in his key note yesterday at Canada on Rails. He put a slide that he got WS-Death Star from Star Wars and that got a good laugh. What's that all about?
The cynic would say that is in the best interest of vendors to let this situation persist and let the WS-deathstar continue being built out, because the perceived complexity and all the architecture that goes into it and all the vendor benefits that can be claimed in order to support all these specifications. The longer this goes on, the more they can leverage that for marketing!
There are clearly many advantages for using REST approaches when you talk about point-to-point integration, but how do you see that fitting in the wider vision for Service Oriented Architecture?
Railsers, Restafarians, people that believe in Rest architectures. There seems to be a growing community of people that think it's bullshit, that are cynical about vendor motives. You have a long history in the software field, you have seen things come and go. Does this movement of you have legs, where do you see it going?
You mentioned RSS mess in reference to your work with the Atom group. What is the RSS mess for those [who don't know]?
How does Atom address these problems? Why should I be interested in Atom?
RSS sometimes expresses as RDF, which seems to some people like a way to reach the semantic web vision. Where does Atom fit into that vision?
Atom incorporates some things that go beyond what you would typically associate to RSS in terms of doing code operations.
So if I'm trying to use Atom for my bank trading application, am I probably going the wrong way?
How do you see REST replacing a lot of the functionality that the WS* specs are providing like security transactions, choreography?
One of the biggest tenets of DHH and the Rails community is that frameworks are extracted. If we look at where WS* has gone wrong, it would seem that maybe they don't get that, they just don't understand that the way to write useful working software is to extract it from working solutions. Is there a way that we can move forward with this kind of frameworks that are extracted mentality in the wider community, not just in Ruby?
You have a long career in computing. Did you come to these realizations relatively recently or it has been something that you started out with and do you attribute part of your success to it?
Of these frameworks, most of them, I would say are not being written in a TDD way, just from knowing some of their authors and seeing that they're engineered up in an architectural tower.
Any final words from you on what the Rails community should expect to take away from Canada on Rails?
How do we get that started in the Java community a bit?
Nice talking to you!
show all  show all
Great Stuff by Ashley Aitken Posted Oct 11, 2006 6:43 PM
Kaboom by Dorel Vaida Posted Oct 12, 2006 12:53 AM
Re: Kaboom by Dorel Vaida Posted Oct 12, 2006 1:39 AM
Interesting but agonizing to watch by Faui Gerzigerk Posted Oct 13, 2006 7:40 AM
Re: Interesting but agonizing to watch by Jakub Gawlikowski Posted Oct 18, 2006 9:10 AM
WS-death star and SGML by Jakub Gawlikowski Posted Oct 19, 2006 2:43 AM
  1. Back to top

    Great Stuff

    Oct 11, 2006 6:43 PM by Ashley Aitken

    Great interview, thanks!

    Don't miss it folks ...

    Cheers,
    Ashley.

  2. Back to top

    Kaboom

    Oct 12, 2006 12:53 AM by Dorel Vaida

    It's nice to see SUN has such a heterogenous environment there. On one hand, we have John Crupi who seems to evangelize the ideea of designing and exposing enterprise services basically AROUND of course WSDL and XML Schema (being small or big as he puts it :-)) ) and up one slot (on Infoq) we have Tim Bray who is basically saying that SOA is such a great bunch of bullshit and "... XML schema and WSDL, which are two of the ugliest, most broken and irritating specifications in the history of the universe". That's refreshing. I mean you just have to follow both of the presentations and you don't need anyone to tell you what you need to do. You can sooo easily make your choice. Which's yours ? :-D

  3. Back to top

    Re: Kaboom

    Oct 12, 2006 1:39 AM by Dorel Vaida

    More on this here

  4. Back to top

    Interesting but agonizing to watch

    Oct 13, 2006 7:40 AM by Faui Gerzigerk

    I finally managed to watch this to the end but it was really painful because the video stream was interrupted about once every 5 seconds ... buffering ... a a a a ... buffering. I'm on a rather thick pipe so I don't know why this has been so bad.

    I have two suggestions for infoq: Please provide interviews as an audio stream. This is about what people say, so there's little use in watching it on video. The second thing is that Flash doesn't seem to be very good at video streaming. I never had any buffering problems with Real or Windows Media...

  5. Back to top

    Re: Interesting but agonizing to watch

    Oct 18, 2006 9:10 AM by Jakub Gawlikowski

    I agree with Faui: too much pain involved with buffering. I loved the video and found it very informative. In fact, the whole site is awesome, but I will not watch videos very often if I have to take this buffering pain. Floyd, please provide us some downloadable version of the files. If it has to be Flash, I beg you, give us a link to an FLV file in one piece!

    Thanks in advance!

  6. Back to top

    WS-death star and SGML

    Oct 19, 2006 2:43 AM by Jakub Gawlikowski

    I like Tim's no-nonsense attitude, but I think that he is inconsistent in one point: he says that XML was the subset of SGML that made sense. So, would have XML been developed if not for the (initially) unproductive work on SGML? Isn't it the same for WS? I mean maybe people are just trying to find the right way in the dark, and we just have to wait until it becomes clear what part of what they achieved needs to be taken as a useful subset.

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.