Article

Where Ruby on Rails fits into SOA

Rich Seeley, News Writer

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.

    Requires Free Membership to View

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."


There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

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: