Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
InfoQ: Mingle from ThoughtWorks is Big Win for JRuby
[go: Go Back, main page]

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
Ruby,
Java
Topics
JRuby

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

The Secret Sauce of Highly Productive Software Development

Why do Agile teams get stuck in the just-average "norming" stage, never making it to the exciting high "performing" stage of team growth? The invisible "learning bottleneck" can stunt performance.

Democratizing the Cloud

The web is rocking the world of developers. Hence, at Microsoft, they are trying to stretch the .NET framework to cover the Cloud such that applications can be developed and run anywhere.

Conversations between loosely coupled services

In this presentation, Google architect Gregor Hohpe introduces various concepts for to manage more complex interactions between services, including conversations, choreography, and orchestration.

Availability & Consistency

Amazon CTO Werner Vogels examines the tension between availability & consistency in large-scale distributed systems, and presents a model for reasonsing about the trade-offs between diff solutions.

Overview on Workflow Foundation

Matt Winkler, Technical Evangelist for Microsoft provides an overview of Workflow Foundation. He talks about the impetus for creating Workflow Foundation and where the sweet spots are for using it.

Book Excerpt: Continuous Integration means Continuous Testing

Continuous Integration has become a standard development best practice - but it's not always done well. InfoQ presents advice and examples in Chapter 6: Continuous Testing from a new CI book.

Applying Agile to Ruby

We discuss how to keep productivity while reducing the risk that chaos often brings, we examine key agile practices that when applied to Ruby retain productivity, improve the quality of the code

System Integration Testing Using Spring

Spring co-founder Rod Johnson on integration testing with Spring and support Spring provides for it, testing the persistence layer, testing web apps.