Introduction to Akka Framework

Building Web Applications using Akka and Scala

The Introduction to Akka Framework training course builds on the Introduction to Scala course, with a focus on building web applications with the Akka framework. The Introduction to Akka Framework course beings with a quick review of key Akka and web application development concepts leveraged by Akka, including things like the Model-View-Controller design pattern, convention over configuration, etc. It then transitions into a discussion around the Akk architecture, key components, and walks you through the creation of a simple app. Once the foundation is laid, Introduction to Akka Framework takes a deeper dive and explores the more commonly used features like templating, persistence, and webservices. The course concludes with a discussion on how to move to Production and a general q/a time.

Course Summary

Learn how to quickly build web applications in Scala using the Akka framework.
Scala developers looking to build web applications with the Akka framework.
Skill Level: 
Learning Style: 

Hands-on training is customized, instructor-led training with an in-depth presentation of a technology and its concepts, featuring such topics as Java, OOAD, and Open Source.

Hands On help
3 Days
Productivity Objectives: 
  • Describe the key architectural components of the Akka framework
  • Install and configure Akka
  • Build a simple Hello World application using Akka
  • Create a “full-featured” Akka-based application including database interactions and templating

What You'll Learn

In the Introduction to Akka Framework training course you’ll learn:

  • What is Akka
    • What is Akka
    • History or Akka
    • Requirements of Akka
    • Understanding the Akka and Scala Community
    • Terminology
    • Use Cases of Akka
  • Untyped Actors
    • Untyped Actors in Java
    • Untyped Actors in Scala
  • Typed Actors
    • Typed Actors in Java
    • Typed Actors in Scala
  • Futures and Promises
    • The History of java.util.concurrent
    • Understanding scala.util.concurrent
    • Futures and Promises
    • Using Futures and Promises in Actors
  • Killing and Poisoning Actors
  • Fault Tolerance
    • One for One Strategy
    • One for All Strategy
  • Dispatchers
    • Configuring Dispatchers
    • Configuring Mailboxes
  • Scaling up with Routers
    • Configuring Additional Routers to Handle Load
  • Scaling out with Remote Systems
    • Understanding Netty
    • Configuring Additional Systems to Handle Load
  • Persisting State in case of failure
  • Event Bus
    • Listening for changes on the Event Bus
  • State Machines
    • Change state Becoming and Unbecoming
    • Using Finite State Machines
  • Memory Transactions
    • Create atomic references with STM (Software Transactional Memory)
    • Managing State with Agents
    • Coordinate Actors with Transactors
  • Scaling with Clusters
    • Configuring Clusters of Actors
    • Using Clusters
  • Testing Akka
  • Q/A

Meet Your Instructor

Daniel pic

Daniel has been a self-employed developer, teacher and speaker for private businesses, education and government entities since 1999. Daniel also actively teaches programming for the University of New Mexico Continuing Education.

Daniel is a Pomodoro Technique practitioner, and co-founder of the Albuquerque Java User’s Group in Albuquerque, New Mexico. When he’s not supporting other local Java developers, Daniel spends most of his waking hours developing in and around the Java ecosystem, encompassing...

Meet Daniel »

Contact us to learn more

Not all training courses are created equal. Let the customization process begin! We'll work with you to design a custom Introduction to Akka Framework training course that meets your specific needs.

DevelopIntelligence has been in the technical/software development learning and training industry for nearly 20 years. We’ve provided learning solutions to more than 48,000 engineers, across 220 organizations worldwide.

About Develop Intelligence
Di Clients


Need help finding the right learning solution?   Call us: 877-629-5631