aspose file tools*
The moose likes Ruby and the fly likes Ruby and the Enterprise - Ruby in Practice query Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of JavaScript Promises Essentials this week in the JavaScript forum!
JavaRanch » Java Forums » Languages » Ruby
Bookmark "Ruby and the Enterprise - Ruby in Practice query" Watch "Ruby and the Enterprise - Ruby in Practice query" New topic
Author

Ruby and the Enterprise - Ruby in Practice query

Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
I've seen a lot of talk about how ROR isn't enterprise ready, and some of how Ruby IS. The TOC for "Ruby in Practice" covers topics like:

- Document processing and reporting
- Deployment and management (Capistrano?)
- Integration
- Indexing and Searching

This hints to me that Ruby may, in fact, be ready for the enterprise. Can you talk a bit about the kinds of things that you see Ruby taking over in a normal day-to-day enterprise? I'd like to think that tasks like ETL jobs (Extract, Transform, Load), builds (replacing ANT with Ruby, scripting Maven with Raven), and low-level transformation tasks (XSLT equivalents) would be great candidates for Ruby.

Also - whereas Rails might not be "the" enterprise answer, do you think there are other up-and-coming frameworks for developing enterprise applications with Ruby?

Thanks!
Jeremy McAnally
Author
Greenhorn

Joined: Feb 09, 2009
Posts: 19
Ruby, and by extension Rails, has been ready for the enterprise for years. It's just that companies that want to sell you their non-Ruby, ludicrously expensive solutions don't want you to know it. And that's OK; that's how they put food on the table. Who wants that to go away?

There's a LOT of FUD about Rails. It's mostly because there are well researched metrics that indicate that you can get a *lot* more done in less time with Rails than you can with existing Java and the large majority of PHP solutions, and those who push this FUD are doing so to protect themselves. But honestly, I've developed enterprise level, high traffic websites. I've worked in environments that saw 5m+ requests per day (and this was before a lot of the recent performance improvements). Rails can do it. It's just whether you get the right people who know *how* (just like any other language/framework).

Now, as you'll see in the book, you can use it in almost any situation in day to day "business" development usage. As for your specific queries, there are libraries for ETL (ActiveWarehouse springs to mind but there are probably others). You can easily replace ANT/Maven with Ruby using Rake or, even better, Assaf's (my co-author's) project named buildr (http://buildr.apache.org/). Ruby also sports a pretty tight sweet of data processing libraries, business rule engines, and so on (Google is your friend).

So, don't let anyone tell you Ruby/Rails can't do something. There's a very big chance it can.
Michael Sullivan
Ranch Hand

Joined: Dec 26, 2003
Posts: 235
These are good points, but the FUD around Ruby/ROR pollute the climate in which many of us make our living. (I know, I know... you can change your job, or you can change your JOB.) Consider a work environment which has relied upon shell-scripting and Perl to get those day-to-day tasks done. Can you suggest some ways to kick-start Ruby's entry into a well-established, conservative enterprise?

Thanks!
Jeremy McAnally
Author
Greenhorn

Joined: Feb 09, 2009
Posts: 19
My advice (if it won't get you fired): it's better to ask for forgiveness than permission. I think once your superiors see you get 4x as much done as your Perl-loving peers, they'll wonder what's going on.

If that's not a viable option (e.g., code reviews, etc.), then I'd suggest really pushing it with reason and research rather than emotions and religion. Our book should give you some ammo, but there also books like "From Java to Ruby" and others that provide a view of the transition from a number of viewpoints ("From Java to Ruby" is from a manager's perspective). I'd suggest maybe even targeting a few systems/scripts and rewriting them in Ruby to demonstrate the differences. At least, that's worked well for me in the past.

Assaf may have input on this issue, too.
 
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
 
subject: Ruby and the Enterprise - Ruby in Practice query