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
Outline/structure of the Session
The following is the agenda and outline of the presentation:
- Introduction to dataflow programming - 5 mins
- GraphDSL primer - 5 mins
- GraphDSL common patterns - 12 mins
- Common use cases - 6 mins
- Alternatives - 2 mins
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.
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.