File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Clojure and the fly likes Clojure story at Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Languages » Clojure
Bookmark "Clojure story at" Watch "Clojure story at" New topic

Clojure story at

Hussein Baghdadi
clojure forum advocate

Joined: Nov 08, 2003
Posts: 3479

Hi Mr. Amit,
You are the chief architect of, an enterprise system that is written entirely in Clojure.
Would you please share with us your own experience about Clojure in the real world projects?
What was the most difficult thing about adopting Clojure? any pros and cons?
And if it is ok to share, what is your stack in (the application server, the database, frameworks).
Thanks a lot.
Amit Rathore

Joined: May 08, 2011
Posts: 20

Hi John,

Runa is a SaaS for online merchants. We collect the complete click-stream of any customer that browses a merchant website. This data is continuously analyzed to maintain an running understanding of the traffics conversion behavior and patterns. Then, in real-time, Runa makes offers to likely abandoners - it could be a price-discount, free-shipping, bundling, etc.

As you can imagine, this involves large amounts of data, processing of that data, real-time web-services, etc.

Our stack is Clojure for web-services, and all the data-processing logic. The system is built as a family of DSLs that are used by our engineers, support-staff, and the merchants themselves. Data is stored in HBase for long-term storage, and in Redis for session-related information.

There was no real challenge per se about using Clojure. A couple of engineers needed to transition from Ruby to Clojure, but with pair-programming, they were able to do so within a couple of months. Mastery, of course, takes longer. We've been in production with Clojure for nearly three years now, and we've been extremely satisfied every minute of that time. As far as I'm concerned, Clojure is the language to use on all new projects, and for all new functionality on existing projects.
I agree. Here's the link:
subject: Clojure story at
jQuery in Action, 3rd edition