This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2023-03-02
Channels
- # announcements (25)
- # babashka (76)
- # beginners (74)
- # biff (36)
- # calva (11)
- # cider (5)
- # clerk (43)
- # cljs-dev (4)
- # cljsrn (12)
- # clojure (111)
- # clojure-austin (14)
- # clojure-europe (82)
- # clojure-nl (2)
- # clojure-norway (5)
- # clojure-uk (1)
- # clojurescript (36)
- # core-async (13)
- # cursive (30)
- # datomic (12)
- # fulcro (6)
- # honeysql (9)
- # hyperfiddle (73)
- # instaparse (3)
- # introduce-yourself (1)
- # membrane (40)
- # nbb (2)
- # off-topic (6)
- # other-languages (9)
- # polylith (33)
- # reagent (2)
- # reitit (7)
- # rum (7)
- # shadow-cljs (47)
- # tools-deps (10)
- # vim (11)
- # xtdb (16)
I’d like to improve my ability to design web APIs and design sane persistence models that support them. Since the Clojure community seems very thoughtful, I thought I’d ask here. What books/articles do you recommend that contain production-realistic examples of APIs and the persistence layer that supports them? Have you found any that explicitly walk through the trade offs of different design decisions?
There's some good blogs posts on https://martinfowler.com/architecture/. For example • https://martinfowler.com/eaaDev/EventSourcing.html Bit on a B2B Java enterprise focus - but still useful background.
I quite like APIgee's little ebook on web API design: https://cloud.google.com/files/apigee/apigee-web-api-design-the-missing-link-ebook.pdf It focuses on the Web API bits, and one will have to infer the data/table design parts of the persistence side of the equation.
Thank you for the resources I scanned them quickly and they all seem useful! I’ll take some time and read them in more depth. As a follow-on question: Have you ever come across a repository of case-studies that have very explicit blueprints of web service designs? I’d love to add that to my reading list as well
There’s a few key/popular designs for web services: • Static file website • Monolith Server (backend rendered HTML UI) -> Database • Client side SPA -> Monolith Server backend -> Database • Client side SPA -> Microservices -> Microservices -> Database • Client side SPA -> Micrsoservices -> Event Bus -> Microservices -> Database There’re others out there but many are just remixing the above. I think real life case studies are only useful to a point, because the actual architecture of a project often ends up growing organically over multiple years and may be a compromise that’s not based on a cohesive set of principles.