We have an HL7 message bus in production since January 2009 mostly written in Clojure. It links an Hospital Management System to services like radiology, labs, ... It runs in a distributed environment on clusters of several nodes.
Using Clojure we see key things that eases the pain significantly: a) immutability, we can create "versions" of messages on the bus for each end point without worrying about altering the original, each function has it's own sandbox. Less debugging, better modular design, ... b) We can create parallel functions easily to increase concurrency. Time to test alternate designs is reduced, we can try parallelism and see what we gain/loose with minimal effort before committing to a specific design. We use master/slave redundancy for this first version but we are working on version 2 to have a parallel version based on the data to process and maximize concurrency. c) We can thunk down to the java world when needed. No need to recode stuff already done. d) Creating new functions on the top of the bus is much more easier in Clojure and time to market is faster. It's not a trivial application but using Clojure made it a lot easier to create and extend. Luc On Thu, 2009-06-18 at 09:39 -0700, Howard Lewis Ship wrote: > I've been doing a number of presentations on Clojure lately > (TheServerSide, Portland Code Camp, Open Source Bridge), and I'm > getting some interest in Clojure and functional programming. > > A question that keeps coming up is: where would you use Clojure and/or > functional? > > I've had to cite Rich's background in audio processing and national > election polls. > > I think a slide showing different things people used Clojure for would > be a nice addition. > > Personally, I don't have a specific use for Clojure yet, but I am > having fun learning it by creating a simple web framework. > > BTW, trying to explain Clojure, Lisp syntax, functional programming > and Clojure concurrency in 45 minutes is somewhat exasperating! > > -- > Howard M. Lewis Ship > > Creator of Apache Tapestry > Director of Open Source Technology at Formos > > > > Luc Préfontaine Armageddon was yesterday, today we have a real problem... --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---