Application design with OTP

Design based on processes


Design highly concurrent applications by understanding the advantages of beam.

The concurrence, resistance and fault tolerance are among the most appreciated and praised characteristics in Elixir (and Erlang, from which they come from).A great reason why these characteristics are as prominent in Erlang and Elixir is because they provide large abstractions to build concurrent, reliable and failure-tolerant systems.Most of these abstractions are sent as a great library called OTP.

OTP (Open Telecom Platform) is the library that provides abstractions such as Gen_Server, Gen_Statem, Supervisor and others.Learn how these behaviors work and how to use them for their advantage is key to take advantage of Elixir’s power (and Erlang). This training shows developers the essential elements to occupy these components in the creation of software pieces for databases, web development, systems in time, real, parallelization, distributed systems, creation of extended support technologies.

· Who is it directed:

This training is recommended for:

  • Developers who already have a basic knowledge of the platform (language, virtual machine, libraries and standard tools) and want to delve into advanced topics of the same guided by an experienced instructor.
  • Developers or companies that are about to begin with considerable size projects on the platform and want to feel safe to use it correctly.
  • Developers or companies that want to delve into the changes in the software architecture that involves moving towards this platform.
  • Developers or companies that have already used the platform in real projects, but consider that their knowledge of it is not yet the level they want.

· Pre-requirements:


Knowledge of Elixir language. Know about the management of processes with Elixir / Erlang

  • Having created some application in Elixir and / or PhoenixFramework

· Training content:

  • Beam
  • Protocols.
  • Behaviors
  • Processes
  • Genserver.
  • ETS.
  • Mnesia
  • Registry
  • Agent.
  • Task.
  • Design with processes
  • Applications
  • Workers
  • Supervisors
  • Dynamic Supervisor
  • Setting
  • Releases
  • Nodes