InfoQ

News

Ruboss – A Flex Framework on Rails

Posted by Moxie Zhang on Dec 01, 2008

Community
Java,
Ruby
Topics
Rich Internet Apps
Tags
ActionScript ,
Rails

Ruby on Rails (ROR) is a Ruby-based open-source framework for rapid Web application development. Both Rails and RIA communities are actively seeking convergence to offer integrated solutions. The Flex framework, Ruboss, is an example. InfoQ spoke with Peter Armstrong, the co-founder and CEO of Ruboss, to learn more.

According to Armstrong, the Ruboss framework represents an attempt to simplify the integration between Flex applications and RESTful server-side frameworks. These frameworks currently include RoR and Merb. Ruboss has also built a RESTful interface to allow Ruboss to talk to Adobe AIR's embedded SQLite database. The Ruboss framework serves Rails and Merb applications in a manner that is similar to Adobe LiveCycle Data Services ES for J2EE applications.

When asked why not just live with the existing established frameworks, such as Cairngorm or PureMVC, Armstrong explains:

Quite simply, there wasn't anything that fulfilled our needs. The Ruboss framework is not an architectural framework in the same sense as Cairngorm, Mate or PureMVC. Instead, it is a data integration framework, focusing on integrating Flex with RESTful frameworks. While it is tempting to think about Ruboss as "Flex + Rails," a more accurate way to think about Ruboss is as "Flex + Simple RESTful CRUD"—of which Rails is just the most popular and currently best-integrated example.

We wanted something that seamlessly integrated Flex with RoR and brought the design principles and productivity of Rails development to Flex. We think that Rails is one of the most productive server-side frameworks and Flex is one of the best client-side RIA technologies. Naturally, we wanted the best of both worlds.

So, we're not really competing with Cairngorm, PureMVC or Mate. For example, you can write Flex code that uses Ruboss in a style very similar to Cairngorm, but which features a less verbose way of using the command pattern. However, you can also write Flex code that uses Ruboss in a much more terse way than the Cairngorm style.

Armstrong goes on to describe the features that make Ruboss special:

First, we are the only Flex framework focused on using RESTful CRUD as the common interface when talking to services as different as Rails, Merb and SQLite in AIR. This simple, elegant design lets the Ruboss framework be extended to support services that we don't have the need or the time to support at the moment. For example, one user of Ruboss is considering using it to talk to CouchDB. So, Ruboss expands the range of services that integrate extremely well with Flex.

Second, the code you write with Ruboss is not only abstracted from the transport mechanism, but also is simple and elegant.

Third, you can get up and running extremely quickly. You can create a complete Flex + Rails application in five minutes using Ruboss. No other Flex framework does this, and no other Flex framework gets you from a data model to a running application as fast as Ruboss. To see how, follow the Ruboss "pomodo" tutorial.

Finally, we realize that no framework is going to solve all your data integration needs or be the correct architecture for all applications. So, what we try to do is just make the common 80 percent a lot easier.

Armstrong shares the roadmap for the Ruboss framework explaining:

For the framework, we plan to add support for data synchronization between local and remote service providers, since this is currently something that the application developer must do themselves. We also plan to get the Merb + DataMapper support up to the level of Merb + Active Record. After this, we will consider extending Ruboss to support more services, such as SimpleDB and Google AppEngine.

Peter Armstrong is also the author of Flexible Rails and the main author of Hello! Flex 4.

Don't Forget about LCDS :) by craig w Posted Dec 1, 2008 6:53 PM
Merb support by Matt Aimonetti Posted Dec 6, 2008 2:40 AM
  1. Back to top

    Don't Forget about LCDS :)

    Dec 1, 2008 6:53 PM by craig w

    Mr. Armstrong mentions "you can get up and running extremely quickly. You can create a complete Flex + Rails application in five minutes using Ruboss. No other Flex framework does this, and no other Flex framework gets you from a data model to a running application as fast as Ruboss".

    I wanted to mention that the LCDS people did a 10 minute setup of a data driven Flex application at MAX recently ( anilchannappa.org/2008/11/18/lc-ds-max-demo-upd... ), and it looks like the future LCDS product will allow a model driven application to be created with very, very little code.

    I'm glad to see continued adoption of Flex and additional frameworks, but I just wanted to point out that LCDS is making things quick to get rolling as well.

  2. Back to top

    Merb support

    Dec 6, 2008 2:40 AM by Matt Aimonetti

    Thanks for supporting Merb and planning on an even better integration. I'll certainly keep an eye on this project.

    @craig LCDS sounds interesting, but it's not free, not open source and I didn't find an example to use it with Ruby. No offense, but as a Rubyist, Ruboss sounds very promising because of the reasons mentioned above.

    - Matt

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.