InfoQ

News

Mingle from ThoughtWorks is Big Win for JRuby

Posted by Sam Aaron and Obie Fernandez on May 07, 2007

Community
Java,
Ruby
Topics
JRuby
Tags
Java One ,
Mingle ,
ThoughtWorks ,
Innovations ,
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

Watch Thread Reply

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.