InfoQ

Interview

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

Interview with Tim Bray, Obie Fernandez, Floyd Marinescu by on Oct 11, 2006 02:00 AM

Community
Ruby,
Java,
SOA
Topics
Web Services ,
Ruby on Rails ,
Dynamic Languages ,
WS Standards
Tags
Trends ,
Sun Microsystems ,
WS-Star ,
Buzzwords ,
CORBA ,
Atom ,
TDD ,
Ruby on Rails ,
SOAP ,
JRuby ,
XML
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

Bindings, Platforms, and Innovation

This presentation focuses on the Internet and separating myth from fact, history from the future, and the mundane from the imaginative. Bob Frankston presents a vision of what could and should be.

Orchestrating Long Running Activities with JBoss / JBPM

This article explores the use of JBoss and jBPM to implement design solutions that effectively address the issue of orchestrating long running activities.

Neo4j - The Benefits of Graph Databases

This presentation covers the use of graph databases as an optimal solution for data that is difficult to fit in static tables, rapidly evolving data or data that has a lot of optional attributes.

Realistic about Risk: Software development with Real Options

This session introduces Real Options and shows how it can help in running your project. Real Options is a decision-making process that can be used to manage risk.

Communication Flexibility Using Bindings

This article discusses the use of bindings on services and references (including the instance of non-configured bindings) as the means to implement SCA communications in a Web and SOA environment.

Writing DSLs in Groovy

After a short introduction to DSLs, Scott Davis plays with the keyboard showing how to approach the creation of a DSL by typing working snippets of Groovy code that get executed.

Scaling Agile with C/ALM (Collaborative Application Lifecycle Management)

IBM Rational and InfoQ present, Scaling Agile with C/ALM, an eBook showing organizations how to become “finely tuned software delivery machines” by enabling team integration and scaling.

Concurrent Programming with Microsoft F#

Amanda Laucher presents a real life enterprise application written in F#. She shows actual code snippets, explaining design decisions and suggesting how to use some of the F# constructs.