
Explore why building microservices with Clojure matters, provide an overview of the tooling, pedestal, databases, and hosting on Heroku, and how to quickly become productive.
Explore a small web service with persistence and api key header protection; the sample project catalog can list and add projects via Postman.
Explore a simple, restful, stateless microservice demo built in Clojure with Ring and Pedestal, featuring JSON persistence, a project catalog, and deployment to Heroku for end-to-end learning.
Meet a seasoned software architect with deep roots in Lisp and dynamic languages, tracing his path from 90s web programming to a Java-based single sign-on system at Dell.
Explore the Java base to pedestal stack, including closure on the JVM, pedestal for web services, and light table tooling for fast setup and practical development.
Learn how Leiningen automates Clojure projects, from installation and new project creation to managing dependencies via the project.clj, and running your app.
Choose light table as a lightweight, repl-friendly, dynamic language aware IDE that’s easy to install, open source, and extensible for clojure projects.
Examine ring as the low-level HTTP foundation and pedestal as a high-abstraction framework in Clojure, detailing middleware, interceptors, and how requests transform into responses.
Deploy Java microservices to Heroku as a platform as a service, using Pedestal templates, linking local repos, and pushing updates to a live app with environment port handling.
Tour a pedestal template project, configure the service via a map, run the app on a configurable port (env var or 2057), and verify with curl.
Explore closure syntax, and how pedestal handles a request map with headers and body to generate a response, using page generator functions and route aliases in a pedestal project.
Explore the relationship between Clojure maps and JSON structures using Light Table, read JSON into maps and stringify maps back to JSON, with def and namespace imports.
Define a new /projects route and get projects function to serve json content. Return a mock project collection via bootstrap json response to a GET request in a headless microservice.
Add a parameterized get route to fetch a single project by its name, using a named parameter and a mock map to return a json response.
Post data to a resource collection in a Clojure microservice by parsing the JSON body and wiring a post handler for /projects and return a created response.
Explore using a network repl (nrepl) with Light Table to connect to a Pedestal based Clojure service, enabling live changes to a running server and rapid code evaluation.
Connect to a hosted mongo db using the mongar dbi library in a clojure project, configure dependencies and requires, and prepare to fetch data in part 2.
Explore setting up persistence with the Mongar library, connecting to a remote db hosted at compose.io using a single environment variable connection string, and returning project catalog data as json.
Implement a post endpoint in a Clojure microservice, extract json from the request body, insert map into Mongar mongo collection, and return a 201 created with a location header.
Learn to perform parameterized, filtered queries against a mongo-like database in a Clojure microservice. Retrieve a project by name using a find maps query and a get-by-name endpoint.
Protect your microservices with a simple API key strategy by using Ring/Pedestal interceptors to check headers, enforce bearer token validation, and return 401 unauthorized when needed.
Discover how a Clojure microservice uses an HTTP client to fetch data from an external API via get requests, handling headers, body, and debug output in a live REPL workflow.
Learn to use the cmj get function to wrap http responses, expose a see-also endpoint with a q query parameter, and proxy the request to search api via url interpolation.
Post a form using the http client to obtain an access token, then use the bearer token in the authorization header to authenticate a remote api call.
Explore how to parse XML in Clojure using a simple library, extract tag content with a get-by-tag function, and shape data into maps for micro services.
Learn to parse incoming sml from json, convert it to a map for Mongar to insert into MongoDB, and emit sml responses from a Clojure microservice endpoint.
Learn how to use namespaces and require to organize functions into units, alias libraries, and connect namespaces across files, using the project catalog service and db helpers examples.
Learn how to interoperate with Java from Clojure, instantiate objects with new, invoke instance and static methods via dot notation, and use do and string buffer.
Connect to libraries by declaring dependencies in project.clj, pull them from Maven, and inspect the runtime classpath with lein deps and lein deps tree to resolve version collisions.
Explore a lightweight Clojure and Pedestal stack for building microservices, highlighting functional paradigms, statelessness, and easy deployment from local to cloud.
In this Building Microservices with Clojure and Pedestal training course, expert author Scott Rehorn will teach you how to set up, modify, and deploy a basic microservice based on Clojure and Pedestal. This course is designed for users that already have programming experience.
You will start by learning about the stack and toolchain, then jump into using Pedestal. From there, Scott will teach you how to use Pedestal as a web services framework to handle request and response routing and content handling. This video tutorial also covers persistence, how to protect your endpoints with a simple API key strategy, and how to use XML in Clojure. Finally, you will learn about Java Interop.
Once you have completed this computer based training course, you will be fully capable of setting up, modifying, and deploying a microservice with Clojure and Pedestal.