Introduction
Open Telecom Platform (OTP) is a set of libraries created by Ericsson as a systematization of common Erlang programming concepts.
The process-oriented nature of Erlang (and Elixir by extension) provides an immense power that may sometimes lead to strange problems. Given the concurrent nature of the languages, sometimes these problems may be really difficult to understand.
OTP was created around the concept of behaviors. A server will generally have the same structure. A finite state machine also has a known implementation pattern. The idea was to create a structure for each of the OTP-defined components that would allow the use of a well-defined and tested structure.
Implementing large-scale systems with a distributed and concurrent nature is much easier given the existence of OTP, which provides a good foundation for these systems.
In this chapter, we will be looking into some of the behaviors available in Elixir (Application, GenServer, and Supervisor).
In the previous chapter...