Building type-safe Clojure services with HTTP, JSON and Avro


Details
EnjoyHQ's frontend application communicates with 10 different Clojure services. Some expose a single endpoint and others represent a whole business domain. Ensuring that both clients and servers follow the same schema contract is tough. Clojure has Schema, clojure.spec or pre/post conditions. These solutions work great within a single application but EnjoyHQ needed to create and extend services with strict input and output schemas, while supporting good old JSON and HTTP.
Łukasz Korecki, CTO at EnjoyHQ, will talk about the Duckula library, how it relates to prior experience building a similar framework for RabbitMQ, and why RPC-style APIs are a better fit than REST at EnjoyHQ.
We're also excited to have two presentations in this meetup as we introduce a quick talk format! Desmond Pompa Alarcon Rawls, from Pivotal, will present "Tests, Types, and Simplicity as Sources of Confidence" and will propose some principles for deciding on the right tool for the job.
LOCATION: This month we'll be switching up our location! We're grateful to Pivotal for hosting this month's meetup.
Someone will be posted at the door to allow access until 6:30. If you arrive later don't worry, a phone number will be posted. Just give a call and someone will come down to let you in!
There are several public parking structures nearby.

Building type-safe Clojure services with HTTP, JSON and Avro