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.

Reply via email to