Аннотация:Работа посвящена описанию архитектуры распределенной программной системы, предназначенной для проведения практических занятий по изучению языков программирования и смежным темам. С технической точки зрения задача сводится к удаленному запуску процесса операционной системы на одном из доступных сетевых хостов, и обеспечению интерактивного взаимодействия с запущенным процессом через его стандартные потоки ввода/вывода. В качестве процессов запускаются командные интерпретаторы (например, bash). Конечный пользователь взаимодействует с удаленным процессом через веб-интерфейс, в котором эмулируется терминал операционной системы.
Ключевые слова: распределенные системы, Erlang/OTP, WebSocket, клиентский JavaScript, удаленный терминал.