Dataflow Programming with Scala and Akka Streams GraphDSL

Dataflow programming is a programming paradigm that models a program as a directed graph of data flowing between operations. It emphasises the movement of data and model programs as a series of connection with explicitly defined inputs, outputs, and connect operations which function like black boxes.

GraphDSL is a dataflow DSL which comes as part of the Akka Streams library. Unlike fluent DSL which models linear computations, dataflow DSL are written to resemble graph drawing (e.g. protocol specs).

In this presentation, participants will learn about:

  • dataflow programming concepts,
  • GraphDSL common patterns,
  • common use cases, and
  • alternatives.
1 favorite thumb_down thumb_up 0 comments visibility_off  Remove from Watchlist visibility  Add to Watchlist

Outline/structure of the Session

The following is the agenda and outline of the presentation:

  1. Introduction to dataflow programming - 5 mins
  2. GraphDSL primer - 5 mins
  3. GraphDSL common patterns - 12 mins
  4. Common use cases - 6 mins
  5. Alternatives - 2 mins

Learning Outcome

By the end of the presentation, participants should have an understanding of dataflow programming concepts and what problems it solves, and some basic knowledge to compose / implement Akka Streams GraphDSL or other alternative implementations.

Target Audience

Software and / or data engineers working on Big Data systems


Participants should have some programming experience to follow the examples, knowledge of Scala and / or Akka is beneficial but not necessary.

schedule Submitted 5 months ago

Comments Subscribe to Comments

comment Comment on this Proposal