https://github.com/ITEdge/service-hub
Service-hub is a modular library for building service-oriented applications with fine grained authentication, authorization and validation rules. The library is centered around idea of "handlers" as light-weight abstractions to CRUD interactions and "services" as something exposed to the outer world, which is authenticated, authorized and validated -> one service could be composed of many handlers if needed. The core library containing abstractions of handlers, services, authorizators, validators and convertors along with some util namespaces and simple in-memory implementation is packaged in the sub-project core: https://github.com/ITEdge/service-hub/tree/master/core When you need to implement sql-handlers, Service-hub provides the sub-project persistence-korma, which depends on library korma-enhanced 0.3.1: https://github.com/ITEdge/service-hub/tree/master/persistence-korma For datomic-handlers, just use the sub-project persistence-datomic: https://github.com/ITEdge/service-hub/tree/master/persistence-datomic And finally to expose your service-oriented application through http, use sub-project http-ring, which depends on ring and compojure libraries: https://github.com/ITEdge/service-hub/tree/master/http-ring I also created some simple examples showing how to use service-hub: https://github.com/ITEdge/service-hub-examples Note that i designed and implemented the library a while ago (even if it was constantly upgraded and most dependencies are not obsolete), when i needed a tool to prototype and create relatively simple data exposing services in the most declarative and easy way possible, so it's probably not the best tool to build services requiring the data to be persisted with complicated transaction strategies, or to implement asynchronous communication in the effective fashion out of the box, libraries like pedestal-service are much better at those kind of tasks. I still think it could be useful to people, so i decided to announce it. Feedback welcomed, Jan -- -- 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 unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.