On Tue, Sep 4, 2012 at 7:05 PM, gaz jones <gareth.e.jo...@gmail.com> wrote:
> We do all of the things you mention (minus the replay, but that would
> be trivial) in Clojure where I work, and it is remarkably easy. We
> use:
>
> * ring + compojure and an embedded jetty server to create lightweight 
> webservers
> * the Cheshire JSON encoding/decoding library for all JSON purposes
> (https://github.com/dakrone/cheshire)
> * we wrote our own small wrapper around rabbitmq - but there are
> several available now (such as
> https://github.com/michaelklishin/langohr)

+1 on Langohr, which we use to talk to RabbitMQ too, after having first been
lulled by the apparent ease of use of WabbitMQ (only to find out it's
badly designed).

R

> * for mongo we use: http://clojuremongodb.info/
>
> We also found that when processing JSON messages, multimethods can be
> extremely useful as a dispatch mechanism if the shape of the JSON data
> dictates what should happen to it. I would certainly recommend Clojure
> for what you describe, I think you will be pleasantly suprised how
> straightforward it is :)
>
> On Tue, Sep 4, 2012 at 7:05 PM, Russell Whitaker
> <russell.whita...@gmail.com> wrote:
>> On Tue, Sep 4, 2012 at 4:45 PM, David Dawson
>> <david.daw...@dawsonsystems.com> wrote:
>>> Hiya!
>>>
>>> I saw the names, but then was swamped by moustache, noir and others that at
>>> first glance appear to be in similar spaces.  I found it a bit difficult to
>>> pick out the various specialisms or layers each library is aiming at tbh.
>>> So, I thought it best to look for some guidance if possible from people who
>>> know what they're doing ... :-)
>>>
>>
>> Some of us are only "ahead of you" by relative measures: I myself had
>> to _remove_ noir
>> & noir-async from a project today because of some reloading issues
>> introduced by the latter; see
>> today's (4 Sep 2012) clojure IRC log:
>>
>> http://clojure-log.n01se.net/
>>
>> Russell
>>
>>> david
>>>
>>>
>>> On Wednesday, 5 September 2012 00:24:46 UTC+1, Russell Whitaker wrote:
>>>>
>>>> On Tue, Sep 4, 2012 at 1:52 PM, David Dawson
>>>> <david....@dawsonsystems.com> wrote:
>>>> > Hiya,
>>>> >
>>>> > So, I'm a clojure newbie... and I've been asked to evaluate a few
>>>> > different
>>>> > technology options for a project I've been handed.
>>>> >
>>>> > The end result will need to be a 'router' that accepts JSON messages
>>>> > over
>>>> > HTTP, store them into some datastore (ideally one of the ones available
>>>> > on
>>>> > cloudfoundry, postgres mongo etc), then forward the message onto one or
>>>> > more
>>>> > end points.   Forwarding will probably be either dropping into rabbitmq
>>>> > or
>>>> > posting on with HTTP.
>>>> >  (or both).
>>>> >
>>>> > There also needs to be a replay capability, so you can tell the router
>>>> > to
>>>> > scoop up the historical messages from the datastore and forward them all
>>>> > on
>>>> > (in order) to a particular end point.
>>>> >
>>>> > I'm totally open to any tech, prebuilt (and commercial) or development
>>>> > required but given that the system needs some algorithmic routing rules,
>>>> > clojure seemed a really nice conceptual fit over the languages I
>>>> > normally
>>>> > work with (imperative jvm ones, essentially)
>>>> >
>>>> > So, I'm really interested in any suggestions on how this might best be
>>>> > approached in the clojure world!
>>>> >
>>>>
>>>> Hi David, have you looked at Ring + Compojure?
>>>>
>>>> --
>>>> Russell Whitaker
>>>> http://twitter.com/OrthoNormalRuss / http://orthonormalruss.blogspot.com/
>>>> http://www.linkedin.com/pub/russell-whitaker/0/b86/329
>>>
>>> --
>>> 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
>>
>>
>>
>> --
>> Russell Whitaker
>> http://twitter.com/OrthoNormalRuss / http://orthonormalruss.blogspot.com/
>> http://www.linkedin.com/pub/russell-whitaker/0/b86/329
>>
>> --
>> 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
>
> --
> 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



-- 
Russell Whitaker
http://twitter.com/OrthoNormalRuss / http://orthonormalruss.blogspot.com/
http://www.linkedin.com/pub/russell-whitaker/0/b86/329

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