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
-~----------~----~----~----~------~----~------~--~---

Reply via email to