Rails Yet To Make Dent in the Enterprise

The eardrum-rupturing buzz around Ruby on Rails (RoR or just "Rails") among Web developers is understandable. Even the luminaries are singing its praises. James Duncan Davidson, creator of Tomcat and Ant, has described RoR as "the most well thought-out Web development framework I've ever used." Tech book publishing titan Tim O'Reilly thinks it's "a breakthrough in lowering the barriers of entry to programming." Agile programming expert Martin Fowler calls Rails "a standard to which even well-established tools are comparing themselves to."

So why is this free, open, easy-to-use, passionately advocated Web-app framework having such a hard time gaining serious traction in the enterprise?


That was the question confronting panelists at the recent QCon San Francisco developer conference. The event featured a session entitled, "When Is Rails an Appropriate Choice?" hosted by UK-based Rails developer James Cox.

"People have strong opinions about Rails, and there's a lot of trash talk about it," Cox observed. "Is it all FUD [fear, uncertainty, and doubt] or is it real?"

"The reason we see all of this backlash is because the Rails marketing machine has been awesome," panelist Ola Bini replied. "Every developer on the face of the earth has heard of Rails by now. The other language communities haven't been as good at marketing their frameworks, and as their languages seem to get sidelined, this kind of reaction is only natural."

Bini, a Swedish developer, currently working for ThoughtWorks, is the author of "Practical JRuby on Rails Web 2.0 Projects: Bringing Ruby on Rails to Java" (Apress, 2007). He was one of the core developers of JRuby.

Cox characterized JRuby, a Java implementation of the Ruby interpreter, as "the biggest back door into the enterprise," but did his best to keep it out of this panel discussion.

"When the criticisms are directed at Rails in general because it's written in Ruby, and because it's a dynamic language, then it's FUD," said Obie Fernandez. "When it's directed at Rails because it's not appropriate for the enterprise or for applications with large domain models, then I think there's more of a gray area."

Fernandez is an independent consultant specializing in the marketing and development of large-scale Web-based applications, and the editor of the Addison-Wesley Professional Ruby Series. A well-known Rails advocate, he wrote "The Rails Way" (2007) edition for that series.

"I think there are many types of apps where Rails would not be your first choice as your main development environment," Fernandez added, "things like financial apps with large, complex domain models, for example. And yet, if I were a practical enterprise architect, I would permit my Web group to work in Rails and consume other parts of my system that were written in harder languages by Web services."

"Some of the critics want to have it both ways," said Charles Nutter, co-lead developer on the JRuby project, and now full-time JRuby guy at Sun Microsystems. "They say that Rails has this problem or that problem, while they're modifying their own frameworks to work in very similar ways. In the cases where they are the most vehemently against Rails, I suspect that they can see the value, but they can't make the changes necessary to use it. They're stuck. They see people moving away from their framework of choice, and they lash out, as anyone would."

Nutter pointed to Grails, the Web framework based on the Groovy programming language, as an example.

"It ends up being basically Rails that runs on top of a bunch of Java libraries," he said. "More and more, people are learning the core principles of Rails and applying them to their own domains and frameworks."

So, what's the ardent Rails devotee to do?

"Rails is something of a new paradigm for Web development," said Josh Susser, a San Francisco-based freelance developer specializing in RoR Web apps. "It has its own particular strengths. People who don't value those strengths aren't going to get it. It's like trying to explain to a vegetarian why Kobe beef is so good. You can convince those people, but you need a track record. Rails is still a fairly new technology, so it doesn't have the track record of, say, PHP. We're just going to have to wait a couple of years for the success stories."

The San Francisco conference was the first U.S. edition of QCon, a relatively new developer conference series. The first conference was held in London in March. QCon San Francisco was sponsored jointly by the InfoQ online developer community and the Denmark-based ISV Trifork , organizers of the 10-year-old JAOO conference series. QCon San Francisco drew an estimated 400 attendees.

Reader Comments:

Thu, Nov 29, 2007

Here is a more in-depth description of why RoR won't become mainstream:

http://beust.com/weblog/archives/000382.html

Wed, Nov 28, 2007

As a developer, I liked Rails when I first encountered it. The issue for me is that I have such a strong investment in the Java and J2EE worlds that it was difficult to transition into Ruby and Rails (despite what the advocates say about its ease of use). I also had a lot of trouble with the deployment issues, especially because I use PCs running Windows.

Once I found out that Grails does everything Rails does and lets me leverage my existing Java knowledge, it was a no brainer for me to go that way. Groovy is a very elegant dynamic language that compiles to the JVM, and Grails uses Spring and Hibernate under the hood, both of which I already know pretty well. Plus, I can just deploy my app as a war file.

Everything I was thinking of doing in Rails I now do in Grails, and I use Groovy whenever I have a reasonably self-contained application to write. As others have said, I don't see the value proposition of Rails, especially if you consider Groovy and Grails as a practical alternative.

- Ken Kousen

Wed, Nov 28, 2007

I have to agree with the Enterprise architect (and until you've been there, you probably don't get it). In a large enterprise, the development savings purported to be achieved by moving to Ruby are only a tiny piece of the pie. I'm confident that a small group of talented Ruby developers can do amazing things in their own domain in an amazingly short period of time. The problem IS the enterprise integration, the retooling, and the training. Our enterprise apps don't exist in a vacuum. The developer's knowledge of libraries and vendor support are key. Ruby appears to be too new to be there yet. For our Java programmers that typically do the same development stacks over and over, the language and the libraries are not really the hurdle... Ruby doesn't solve much. And the headaches of talking to the enterprise server folks just to get them to install Ruby aren't worth it... we have to pick our battles, and the payback isn't there yet on this one.

Wed, Nov 28, 2007

Most people who sign their names as 'Enterprise Architects' don't get it. Seasoned developers (those who continue to write code everyday) do and know how much the savings are. As for "Rails not having a niche", I think 'Mr Enterprise Architect' is completely off. The niche is a (highly-responsive-interactive) web-application which Rails can do better and cheaper than any framework about there.

I would go as far as to say that Rails is the one framework that can allow a small group of well-paid first-world developers to produce work cheaper (and better) than the average India outsourcing firm which mostly don't do Rails.

Wed, Nov 28, 2007

Mabe it's because it's the lunatic fringe that want RoR. We don't need another stinkin' language. I know my cranial cavity doesn't have room since it's filled with all the 'other" languages, legacy and new, and like many other developers, just too doggone busy with .NET, PHP, C++, SQL and the like.

Add Your Comment Now:

Your Name:(optional)
Your Email:(optional)
Your Location:(optional)
Comment:
Please type the letters/numbers you see above