Big Blue Button is a complex system, that consist of many different components that are working together as one big network.
In this post i’ll start my discovery of BBB by looking at the first step of BBB process – User interaction with System.
So user interacts with system through browser with Flash Player pre-installed. Interface of BBB is done in Flash and also, as i understand , Flash is chosen by BBB architects, because it is one of those languages that allows very easy to send/receive audio and video streams.
When user communicates with the system, the system sends the request to the web server using RTMP or HTTP protocols. HTTP is a hyper-text protocol and this term should be clear because most of the browser- server interactions are through the HTTP protocol, however, for me, RTMP is something that i do not widely use , that’s why i decided to explore a bit more on RTMP.
RTMP stands for “Real Time Messaging Protocol” . In BBB, RTMP is used to transfer the video, audio and data using Flash Player from the user to the web server. In case of BBB it is very important, because the whole user-server interaction is done through Flash, and mostly consist of Binary Data (like uploading presentation), Video and Audio requests. HTTP encapsulates data in RTMP and tunnels it to the web server using port 80. On the other end, of this interaction, is a web server called “Nginx”.
Nginx plays very important role, it sends information received from user to one of two proxies bbb-web or bbb-aps (we will talk about them later), in other words main mission of Nginx is to guide RTMP requests to bbb-aps and HTTP to bbb-web.
That’s all for today, tomorrow I will explore more on “bbb-web” and “bbb-aps” components, and I am also going to blog about Grails,tomcat and MySQL collaboration.