InfoQ

News

Mingle from ThoughtWorks is Big Win for JRuby

Posted by Sam Aaron and Obie Fernandez on May 07, 2007 01:00 PM

Community
Java,
Ruby
Topics
JRuby
Tags
Innovations ,
ThoughtWorks ,
Java One ,
Mingle ,
Commercial Offerings

Today at Sun’s CommunityOne conference, ThoughtWorks Studios' announced that their upcoming Agile IT project management application, Mingle, will be the world’s first commercial application to run on JRuby. Actually, it may be the first commercially distributed Ruby on Rails-based product.

According to ThoughtWorks, there were a number of motivations for launching Mingle on JRuby. First of all, it streamlined the deployment process across their target platforms. Mingle is a web-based application that will be available as an external hosted application (ASP model), but it will also be licensed commercially and distributed as an installable package.

In particular, the deployment story for Ruby on Rails applications is still significantly more complex than it should be. This is fine for a hosted application where the deployment platform is in full control of a single company, but Mingle isn't going to be just hosted. Not only is it going to need to scale ‘up’ to the sizes of Twitter (okay, that's wishful thinking and maybe it won't need to scale that much) but it's also going to need to scale ‘down’ to maybe a simple Windows XP machine with just a gig of RAM. On top of that, it's going to be installed by someone who doesn't understand anything about Ruby on Rails deployment and, well, possibly not much about deployment either.

The downloadable version of Mingle will be distributed as a simple installer for Windows, a simple .app (drag, drop, double-click) file for Mac, and an .rpm/.tgz for ‘generic’ Unix. Enterprise customers will have the option of deploying Mingle to their existing production systems:

Mingle 1.1 released a few months later will also be delivered as a .war file that can be deployed on any of the popular Java EE application servers and using any of the popular database servers. This is required by our larger customers.

Sheer innovation also had something to do with the decision. According to Chad Wathington, VP of Product Management at ThoughtWorks Studios, "Obviously ThoughtWorks likes to push technical boundaries and there's also the coolness factor." As far as anyone can tell, Mingle is definitely pushing the boundaries of commercial applicability of JRuby.

Mingle represents ThoughtWorks' first foray into commercial product development for the masses. It was built using Ruby on Rails by a small, focused development team based in Sydney, Australia, led by senior ThoughtWorks technologists David Rice and Jon Tirsen. Everyone involved has been very vocal about the benefits of using Rails:

“Ruby on Rails allows us to be incredibly productive and deal with complexity to a completely different degree than would have been otherwise possible. In the long term, this will allow us to deliver better features with a lower price, conclusively benefiting our customer.”

Internally, Mingle uses Java technologies for both the web server (Jetty) and database (Derby). Performance has not been a major concern. The current runtime easily supports hundreds of concurrent users with a simple cluster, and JRuby performance has been getting faster all the time. According to the team, experimental deployments have included 10 JRuby interpreters running in a single JVM process.

JRuby core developer Ola Bini is due to start working full-time for ThoughtWorks in June, where he will continue to work on JRuby and support internal ThoughtWorks JRuby-related initiatives, such as Mingle.

ThoughtWorks feels strongly that they are paving the way for many JRuby applications to come. Mingle certainly acts as strong supporting evidence to the following claim, made by Jon Tirsen in a moment of (perhaps some degree of) hyperbole:

“JRuby is ready for prime time!”

No comments

Reply

Exclusive Content

Book Except and Interview : Aptana RadRails, An IDE for Rails Development

Aptana RadRails: An IDE for Rails Development by Javier Ramírez discusses the latest Aptana RadRails IDE, a development environment for creating Ruby on Rails applications.

Fast Bytecodes for Funny Languages

Cliff Click discusses how to optimize generated bytecode for running on the JVM. Click analyzes and reports on several JVM languages and shows several places where they could increase performance.

Scott Ambler On Agile’s Present and Future

Scott Ambler, Practice Lead for Agile Development at IBM, speaks on the current status of the Agile community and practices having a look at the perspective of the Agile’s future.

Manager's Introduction to Test-Driven Development

Dave Nicolette and Karl Scotland try to introduce non-technical managers to one of the most popular Agile development techniques: Test-Driven Development (TDD).

Structured Event Streaming with Smooks

Smooks is best known for its transformation capabilities, but in this article Tom Fennelly describes how you can also use it for structured event streaming.

How to Work With Business Leaders to Manage Architectural Change

Successful architectures evolve over time to meet changing business requirements. Luke Hohmann presents how to collaborate with key members of your business to manage architectural changes.

Colors and the UI

In this article, Dr. Tobias Komischke explains how colors used in a GUI can influence our interaction with a computer and offers advice on using the appropriate colors for the interface.

Building your next service with the Atom Publishing Protocol

In his presentation, recorded at QCon San Francisco, MuleSource architect Dan Diephouse explores ways to use the Atom Publishing Protocol (AtomPub) when building services in a RESTful way.