Comparing WebObjects to Ruby on Rails

Deirdre recently gave a presentation at BarCamp that compares the implementation of the same application in Apple’s WebObjects to Ruby on Rails. It includes this graph that contrasts the code-base size of the WO application to the Rails version:

Convince your manager to let you use Ruby on Rails

Zed Shaw has compiled a long list of suggestions on how you can get your manager to let you use Ruby on Rails for your next project. It’s full of goodies including this strategy of dealing with the ill-informed ‘does it scale’:

For example, they say, “It needs to handle 500 connections/second.” Don’t let them say “users”, “users” means nothing. Then you go test their current WizBangOMatic and find it only handles 10 conn/second. You can then come to them and say that Rails can’t do 500 conn/second, but it can do better than the WizBangOMatic which only has 10 conn/second performance. It’s evil, but it puts the performance harpies at rest.

Calling SAP models from Rails

SAP is one of the ERP behemoths that dominates in the enterprise world. Pretty far removed from Rails? Not really, it turns out. Piers Harding has written a great article for the SAP Developer Network that shows how to create a Rails application that uses a SAP backend as the model instead of Active Record.

The article shows how to use SAP4Rails with two BAPI objects – Currency (BUS1090), and ExchangeRate (BUS1093) – and make those available through a standard Action Controller setup. Very cool stuff.

Jason Hunter explains Java's Dilemma

Jason Hunter explains in an article called The Innovator’s Dilemma: It’s Happening to Java why there’s such a big interest in Ruby on Rails from the big Java thinkers like himself:

Ruby on Rails today looks poised to eat Java’s mindshare on the web tier. If not Rails, then something else. Empirically 10 years seems like the right point. Java’s viewed as solid and stable, mature enough for the most stodgy business folks. That leaves a large soft underbelly for a technology intended to help small teams (10 or fewer) who just want to make a site that’s good enough without paying a high price in mental effort.

I’ve written earlier on Rails as a disruptive technology according to Christensen’s framework of thinking.

SwitchTower: Automating Application Deployment

As the 37signals applications have scaled up to run on multiple servers, we needed a better way to manage the deployment phase. We wanted to automate that all six servers got the newest version, that the database server ran the migrations, that the FastCGI processes were restarted on the application servers, and possibly that the web servers showed a “down for maintenance screen”.

SwitchTower is the extraction of that need and its going to be a new part of Rails in the next release. It’s the work of Jamis Buck and you can preview it right now by playing with the beta gems/subversion trunk.

You won’t even be going in blind-folded. Jamis has already created an incredibly extensive manual that teaches you all about how to use SwitchTower. Get on the band-wagon and reduce your deployment pains to “rake deploy”.

VitalSource: Book store with native app in Rails

James Duncan Davidson and Mike Clark has delivered on their first large, commercial Rails project together: VitalSource Bookshelf. It’s a book store that aims to make it as easy to buy your ebooks as your music. What’s special is that it includes a native application, ala iTunes, that works together with the Rails-powered store.

On James’ announcement, there’s also a note from Willie Abrams of VitalSource. He writes about using Rails: “As for Ruby on Rails? Wow. A lot of things would have to change for us to consider doing a web application any other way. It is that good.”.

Thanks, Willie. And congratulations to both Mike, James, and VitalSource for shipping!

What are symbols all about?

In case you’re wondering with it’s :controller => "weblog" and not just "controller" => "weblog", you want to read Kevin Clark’s Understanding Ruby Symbols. It gives a number of angles on why symbols exist and why they make sense to use.