Building Reactive Applications with Scala, Akka & Akka-Http

Learn how to build the next generation event-driven, highly scalable and fault-tolerant applications with Akka and Akka-http using the Scala programming language. By doing so, you will get to know all the ingredients to write high-performing, asynchronous- and non-blocking web applications that reflect all characteristics of modern reactive systems.

This training is co-created by Raymond Roestenburg, author of the book: Akka in Action

you want to learn how to build web-based reactive applications using Akka and Akka-http.

Important: Basic knowledge of Scala is required

Achievements Upon Completion

You will build a sample application in small steps that involves all relevant elements of Akka and Akka-http. In each step, a particular feature is treated and consequently implemented with a hands-on exercise. Extensive attention will be spent on testing. Finally, the Actor-based application will be exposed to the web using Akka-http. The most important advanced Scala features used in these frameworks will be treated as well.

After completing the 2-day training, you will know:

the architectural foundation used to build reactive systems as well as their groundbreaking possibilities,

the principles of Actor-based concurrency,

the core building blocks Akka and Akka-http offer,

the most important advanced Scala features used in Akka and Akka-http.

You will gain experience in:

Using the core features Akka offers, namely:

Actor Basics

Testing Actors

Resilience

Configuration

Extensions

Scheduling

Event Stream

Logging

State Machines

Writing REST APIs and web frontends with Akka-http, by mastering:

Akka-http Routing DSL

Testing Routes

Directives

Marshaling/Unmarshalling

Integration with Akka

Applying the advanced Scala features applied in Akka and Akka-http, namely:

Partial Functions

Implicit Conversions

Futures and Promises

You will develop the skills to:

confidently write production applications with Akka and Akka-http,

test Actor based code,

design asynchronous, non-blocking and event-driven systems and which best practices to apply,