$this->articleCE->primaryUrlById(3715981) = /dev-news/article.php/3715981/Lots+of+REST+For+Ruby+on+Rails+20.htm
Lots of REST For Ruby on Rails 2.0 - InternetNews.
RealTime IT News

Lots of REST For Ruby on Rails 2.0

Ruby on Rails 2.0 (RoR) is the first major release of the popular dynamic language framework in 18 months. At its heart is a fundamental decision in how the framework will work with Web Services.

Instead of SOAP (Service Oriented Architecture Protocol) support in RoR, the open source framework has instead decided to focus on the competing REST (Representational State Transfer) protocol . The move could make RoR even more popular as it ramps up against other development frameworks.

"It'll probably come as no surprise that Rails has picked a side in the SOAP vs. REST debate," RoR developer David Heinemeier Hansson wrote in a blog post announcing RoR 2. "Unless you absolutely have to use SOAP for integration purposes, we strongly discourage you from doing so."

REST is often considered by developers to be a less complex approach for Web Services than SOAP, though other frameworks such as those for Java and PHP will support both SOAP and REST.

Hansson isn't the only one in the Rails community that thinks the decision to focus more on REST is a good thing. Joe McGlynn, director of product management at CodeGear, which produces the 3rdRail RoR IDE , is also positive on the move.

"Nothing in Rails 2 prevents you from building or consuming SOAP services if you have that need, but true to its nature, Rails expresses a definite opinion about how Web applications should be built," McGlynn told InternetNews.com. "REST leverages the existing HTTP verbs and provides a significantly simpler solution for developing and consuming web-based services."

RoR2 also takes aim at improving security in the open source development framework. Specifically Cross Site Scripting and Cross Site Request Forgery vulnerabilities have been targeted by RoR 2.

"We now ship we a built-in mechanism for dealing with Cross Site Request Forgery attacks," Hansson noted. "By including a special token in all forms and Ajax requests, you can guard from having requests made from outside of your application. All this is turned on by default in new Rails 2.0 applications and you can very easily turn it on in your existing applications."

RoR version one was released in March of 2006. For CodeGear's McGlynn RoR 2 is an evolution of the features that were already in RoR 1.

"The Rails core team worked hard at refining the features, and the results show it," McGlynn said. "While the obvious news is about RESTful development and Rails' closer association with HTTP, the refinement and polish that have been added make this the easiest-to-use and best performing Rails release ever."

CodeGear's enthusiasm for RoR isn't a new thing. In May of 2007 CodeGear announced its IDE for RoR and indicated at the time that RoR was a viable enterprise challenger. 3rdRail which is the name of CodeGear's RoR IDE, includes an update subscription and the plan is to include support for RoR 2 in the Q1 2008 update.

In comparison to other languages that CodeGear supports with its developers tools, RoR stacks up well.

"For building data-backed web applications every developer needs to take a long, serious look at Rails," McGlynn commented. "Java developers, in particular, will see a huge boost in productivity. Personally, I'm really impressed with the focus and simplicity of Rails for web development."

Ultimately though it's always a matter of choosing the right tool for the job at hand. McGlynn noted that CodeGear offers a choice of tools for that reason.

"In our work with developers, Rails seems to be superior for Web development while Java is strong in large enterprises and SOA applications development, and Delphi and C++ are ideal for client-server, engineering/scientific and industrial type applications development. "