JRuby on Rails

Which web application development framework to use?. Simplicity, productivity, ability to deliver high quality of service (QoS), especially performance and scalability (can’t ignore that when you’re talking about 200,000+ users and expect high concurrency!) were our top criteria for framework selection. After considerable research on state-of-the-art, we zeroed in on 2 frameworks: 1) “Ruby on Rails” (RoR) for its super simplicity and productivity and 2) “Java Enterprise Edition” (JEE) for its obvious “enterprise” class, high QoS.

But we just couldn’t rule out either one, since each framework had been proven to deliver qualities not so proven in the other framework. Naturally, we started dreaming of a framework which can deliver best of both worlds! And in reality, there lived such a framework — ‘JRuby on Rails’!

JRuby is the Java implementation of the Ruby programming language. It enables calling Ruby components from Java code and vice versa, thus giving Ruby, and hence RoR, the power of Java Virtual Machine (JVM). In this presentation we focus more on our experience of how JRuby, and hence JRoR, can do a fantastic job of delivering best of RoR and JEE worlds to an enterprise application w.r.t multiple ‘quality of service’ attributes like scalability (parallel processing, Garbage Collection, compilation, caching, advanced database connection pooling etc.), extensibility, productivity as well as constraints such as ‘alignment with existing/preferred technology stack’ etc.

With the help of the real world case in point, this presentation highlights the constraints and tradeoffs involved in deploying RoR in a typical large scale enterprise environment such as that of CustCollab, and demonstrates how the distant, isolated worlds of RoR and JEE can synergize with the help of the JRuby bridge to result in a highly productive and scalable enterprise application development platform. Without the psychological comfort of a long list of well known, time tested large JRuby/JRoR implementations or availability of/access to any large scale enterprise JRuby/JRoR case study,our decision to build our micro-blogging platform on JRoR relied on our time tested confidence on Java/JEE, RoR’s assurance of simplicity and productivity, and the faith on JRuby core developers’ promise of synergizing the Java and Ruby worlds. And we are pleased to say that JRuby fulfilled its promise!

Video Producer: http://rubyconfindia.org/