Running Pure Functional Microservices On JVM

schedule Dec 14th 03:30 - 03:50 PM place Crystal 2 people 17 Interested

Scala is one of the finest languages on JVM which help us in writing functional code. But can we further make our microservices more concurrent, less error-prone and generic/reusable?

In this session, we would be answering the above questions by visiting one of the most powerful functional libraries in Scala i.e Scala-Cats, which provides abstractions for functional programming and make things developer friendly and feature rich. The syntax and classes of Scala-Cats are similar to Haskell. Various libraries are built over Scala-Cats which aids us in building a purely functional microservices over JVM. In this talk, we would be building microservices using typelevel projects like http4s, circe, doobie and more which are based on Scala-Cats.

We would be demonstrating applications of various scala-cats libraries and perform basic CRUD operations using them. By using http4s we would be implementing synchronous, asynchronous and streaming rest endpoints, using doobie which is a pure functional JDBC layer for Scala etc.

1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist

Outline/Structure of the Experience Report

Within 45 minutes we would be building Microservices which would be demonstrating the use of Scala-Cats based libraries like http4s, circe, doobie, etc and advantages of using them.

Learning Outcome

The session would facilitate with the information on building microservices more concurrent, less error-prone, generic and feature rich. A brief overview of libraries like scala-cats, http4s, doobie etc for writing pure functional code in Scala with ease.

Target Audience

Those who like FP and want to build pure functional microservices over JVM

Prerequisites for Attendees

- Scala basics syntax.

- Brief knowledge of functional design patterns like Monoids, Semigroups, Monads, Functors and more...

schedule Submitted 7 months ago

Public Feedback

comment Suggest improvements to the Speaker