Thanks guys! I'll go with ring + compojure bundled with cheshire json and clojuremongodb as a starting point and see where I get to. I'm all in favour of pleasant suprises!
David. On Wednesday, 5 September 2012 03:05:33 UTC+1, Gaz 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) > * 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....@gmail.com <javascript:>> wrote: > > On Tue, Sep 4, 2012 at 4:45 PM, David Dawson > > <david....@dawsonsystems.com <javascript:>> 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 clo...@googlegroups.com<javascript:> > >> Note that posts from new members are moderated - please be patient with > your > >> first post. > >> To unsubscribe from this group, send email to > >> clojure+u...@googlegroups.com <javascript:> > >> 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 clo...@googlegroups.com<javascript:> > > Note that posts from new members are moderated - please be patient with > your first post. > > To unsubscribe from this group, send email to > > clojure+u...@googlegroups.com <javascript:> > > 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