Where Ruby on Rails fits into SOA

Ruby on Rails is not going to replace Java EE or .NET in SOA development, but is a "compelling" tool for RESTful data services and Ajax, says Burton Group analyst Joe Niski.

Service-oriented architecture (SOA) in the enterprise can benefit from selective use of Ruby on Rails, according to Joe Niski, senior application platform analyst at Burton Group Inc.

If you're not doing transactions, but just doing reads, you can scale a RESTful data service fairly easily.
Joe Niski
senior application platform analystBurton Group Inc.

The trick is knowing where the popular Ruby scripting language and Rails framework fits into the larger enterprise SOA picture, says Niski, author of "Ruby on Rails Revisited", a Burton report released this past week.

Noting that SOA is about architecture and application design that is independent of specific tools and technologies, he said it is important to understand where Ruby on Rails fits and where it doesn't.

Cutting to the chase, Ruby on Rails is not a one-tool-does-it-all for SOA, but offers strengths for developing RESTful services, data services applications and Ajax as part of a larger service-oriented approach, the analyst said.

"The problem domain of Rails is narrowly focused on Web applications with a relational database back end," Niski writes in his report. "Rails does not aim to replace general-purpose platforms like Java EE and .NET."

Specifically, the analyst said, development of Web services based on SOAP and the WS-* standards is not a strength for Rails, as it is known in its developer community where the "Ruby on" has been dropped the way Sears dropped Roebuck.

"Rails is pretty weak in the area of the Web services framework and the whole family of standards around SOAP," Niski said in an interview with SearchSOA.com. "However, right now with Rails 2.0, Rails probably offers the best and most comprehensive framework for building Web-based services that follow the REST application architecture. If you want to create RESTful Web services, but not necessarily SOAP-based Web services then Rails is a good choice."

REST-based data services applications in the larger SOA context is one area where Niski said developers and architects may want to consider Rails.

"Certain kinds of data services lend themselves to a RESTful architecture," he explained. "Especially for data retrieval and data reading and reporting, those lend themselves to a RESTful architecture because you can create a resource model that maps to your backend data. If you're not doing transactions, but just doing reads, you can scale a RESTful data service fairly easily."

The other area where Rails can be a "compelling" tool is in Ajax development, Niski said.

For more information
How Ruby on Rails and REST go together

Is Ruby on Rails ready for enterprise SOA?

"On the Ajax side, Rails is ahead of some other languages and frameworks," he explained. "Even if you look at Spring, Rails is ahead in support for Ajax in the UI because it takes the Del.icio.us and Script.aculo.us frameworks and bundles those in, but it allows the developer to use those frameworks with the Ruby language, so you don't have to do a lot of JavaScript. So Rails developers can stick with the Ruby language and using Rails build a lot of neat Ajax rich user interfaces."

For organizations considering bringing in Rails for specific applications in a larger SOA context, Niski advises starting with a pilot project. One plus is the Ruby language does not have a steep learning curve for coders used to working in Java or C#, he said.

"Take it slowly," he suggested. "Invest a little time in training, and do some proofs of concepts."

Dig deeper on SOA, XML and Web Services Development Tools

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchSoftwareQuality

SearchCloudApplications

SearchAWS

TheServerSide

SearchWinDevelopment

Close