For a decent intro to ring and compojure you probably want to watch http://skillsmatter.com/podcast/home/functional-web It's an introduction to the libraries by their author/maintainer, James Reeves.
On Wednesday, September 5, 2012 9:56:51 AM UTC+2, David Dawson wrote: > > 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> wrote: >> > On Tue, Sep 4, 2012 at 4:45 PM, David Dawson >> > <david....@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 clo...@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+u...@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 clo...@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+u...@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