REST Web services critical to Rails upgrade

Framework creator declares REST to be superior to the previously-used SOAP for Ruby on Rails Web services

Ruby on Rails 2.0, a planned upgrade to the open-source Web framework, will feature REST (Representational State Transfer) as its preferred choice for Web services, the developer of the framework, David Heinemeier Hansson, said at the RailsConf 2007 event in Portland on Friday.

REST Web services will be emphasized for linking applications when using Rails rather than the more high-profile SOAP technology.

"We never really had an emphasis on SOAP Web services. What we had was we didn't know what to do. It hadn't played out yet," Hansson said when interviewed after his keynote presentation.

"In our minds, in my mind, it's now played out, and SOAP is not something I want to use if I can help it," he said.

"It’s not a good fit for the Ruby feeling," Hansson said. "It’s getting overly complex, especially with the WS-* (spoken as ws star) protocols. It's too much software for what most people need most of the time."

To this end, the Action Web Service SOAP capability in earlier versions of Rails is being unbundled and replaced with an Active Resource tool for REST. Users still can use Action Web Service if they want.

Hansson stressed to the audience that Rails is not neutral about technology but instead makes choices. "The answer is not SOAP. The answer's REST," he said.

The REST emphasis struck a chord with conference attendee Matt Olson, a developer who is president of Ruby Cloud in San Francisco.

"The REST approach is very natural from the HTTP perspective, and it fits right in with the protocol level and also from an application development perspective," Olson said.

Rails 2.0 is due for release this year, hopefully within a few months, Hansson said.

Overall, Rails 2.0 will offer more simplicity and niceness, according to Hansson.

"Rails 2.0 is about making things a little bit nicer," he said. It will not be a complete rewrite that changes everything and loses backward compatibility, he said.

"It's going to be in some ways a lot more humble," said Hansson. Rails will not be like a unicorn, a magical creature that solves every problem, he stressed.

The upgraded framework will leave out some things previously bundled with the package and allow them to be added as optional plugins. Macros for the in-place editor, for example, will be removed. The macros capability was a "cool idea [that] doesn't fit in Rails," said Hansson.

Debugging is being enhanced in version 2.0 through reintroduction of the breakpoints feature. With breakpoints, an application can be stopped during execution so developers can examine what is happening with it.

"We’ve made debugging a lot easier again," Hansson said.

Also featured is HTTP authentication. "It didn’t used to be a native technique that Rails just had baked in. We made it real easy, just a few method calls, to use that," said Hansson.

Hansson also noted how Rails is gaining mindshare, with books being published about it in multiple languages and job listings now requiring Rails experience. Rails also has spread beyond the United States, he said.

Meanwhile, Sun developers at the conference said the 1.0 version of JRuby would be released at the end of the month. JRuby implements the Ruby language on the Java Virtual Machine and features a runtime allowing C-based Ruby applications to work with Java systems. Sun's Charles Nutter and Thomas Enebo are in charge of the project.

Also at RubyConf 2007, ActiveState released a new version of its Komodo IDE featuring Ruby and Ruby on Rails support. Editing and debugging for Ruby on Rails is included in version 4.1 of the product.