|
|
|
OTP Programming (4 days)
This course gives an introduction to the Open Telecom Platform. It focuses on using OTP design patterns (behaviours) when implementing an OTP
application.
Objectives
After the course, the participants should
- be able to implement an OTP application
- have knowledge of the OTP design principles
- have knowledge of the OTP components
Who should attend
Programmers who will be implementing OTP applications.
Prerequisites
Basic- and Continued Erlang courses, or the corresponding knowledge.
At least a few months experience of Erlang programming.
Try out the diagnostic test.
Course Dates
See current course schedule.
Prices
See current price list.
OTP Programming, day-to-day agenda
Day 1
- Introduction
- Overview
- System architecture
- Design principles
- Components
- Behaviours
- What is a behaviour?
- OTP behaviours
- The sys module
- Behaviours: Servers
- What is a server?
- A server example
- Generic and specific parts
- Implementing a server
- Server example using gen_server
- Termination
- More about servers
Day 2
- Behaviours: Finite state machines
- What is a finite state machine?
- Generic and specific parts
- Implementing a state machine
- A state machine example
- More about state machines
- Behaviours: Supervisors
- What is a supervisor?
- Generic and specific parts
- Implementing a supervisor
- A supervisor example
- Dynamic child processes
- Supervisor bridge
- C code and supervision
Day 3
- Behaviours: Events
- What is an event?
- Event handling in OTP
- Generic and specific parts
- Implementing event handling
- Example
- More about event handling
- alarm_handler
- Behaviours: Applications
- What is an application?
- Application controller
- Application resource file
- Implementing an application
- Configuration parameters
- Application directory
- Distributed applications
- Behaviours: Special processes
- What is a special process?
- proc_lib module
- sys module
- Example
Day 4
- System configuration
- Command line parameters
- Boot files
- Configuration files
- System structure
- Release handling
- An introduction to Mnesia
- Characteristics
- Tables
- Transactions
- Dirty functions
- Queries
- Administration
OTP Programming, diagnostic test
Programming
- Do you know how to write an Erlang server?
- Do you feel comfortable with Erlang process links?
- Can you write Erlang programs without constantly consulting the manuals?
- Can you define a fun?
- Can you use list comprehensions?
- Have you used an RDBMS?
|