Real-time web applications

Thesis title: Real-time webové aplikácie
Author: Paulech, Matej
Thesis type: Bachelor thesis
Supervisor: Mittner, Jan
Opponents: Buchalcevová, Alena
Thesis language: Slovensky
Abstract:
Táto práca sa zaoberá real-time webovými aplikáciami. Jej hlavným cieľom je zoznámiť čitateľa s pojmom real-time webová aplikácia a s technikami slúžiacimi pre tvorbu real-time webových aplikácií s dôrazom na praktickú ukážku. Prvá kapitola sa venuje histórii vzniku webu, popisu HTTP protokolu a definícii real-time webových aplikácií. Druhá kapitola popisuje technológie použité v ďalších častiach práce s dôrazom na ich dopady a využitie pri tvorbe real-time webových aplikácií. Jedná sa o technológie JavaScript, JSON, Ajax (XHR, JSONP), knižnicu jQuery a serverové riešenie Node.js. Tretia kapitola predstavuje hlavnú časť práce. Zaoberá sa technikami real-time komunikácie klienta so serverom nazývanými tiež transportné spôsoby. Popis každej techniky je doplnený obrázkom znázorňujúcim komunikáciu klienta so serverom a ukážkovým zdrojovým kódom. V závere tretej kapitoly sa nachádzajú riešenia používané programátormi v praxi, konkrétne riešenie Ajax Push Engine (APE), knižnica Socket.IO a služba Pusher.com. Štvrtá, zároveň posledná kapitola obsahuje popis tvorby ukážkovej webovej aplikácie vytvorenej pre účely tejto práce -- skupinového chatu. Jedná sa najmä o popis jej funkcionalít a návodu ako si u seba pripraviť prostredie pre beh real-time webovej aplikácie. Tiež obsahuje návod pre vytvorenie kostry real-time webovej aplikácie s použitím serverového riešenia Node.js, frameworku Express a knižnice Socket.IO. Zdrojové kódy ukážkovej aplikácie sa nachádzajú na priloženom DVD v prípade tlačenej verzie práce, v prílohách informačného systému VŠE v prípade elektronickej verzie práce a tiež na službe GitHub. Hlavným prínosom práce je poskytnutie komplexného a uceleného popisu techník tvorby real-time webových aplikácií s poskytnutím ukážkového zdrojového kódu ku každej technike.
Keywords: Server push; Socket.IO; Reverse Ajax; Comet; Real-time webové aplikácie; Node.js
Thesis title: Real-time webové aplikace
Author: Paulech, Matej
Thesis type: Bakalářská práce
Supervisor: Mittner, Jan
Opponents: Buchalcevová, Alena
Thesis language: Slovensky
Abstract:
Tato práce se zabývá real-time webovými aplikacemi. Jejím hlavním cílem je seznámit čtenáře s pojmem real-time webová aplikace a s technikami určenými pro tvorbu real-time webových aplikací s důrazem na praktickou ukázku. První kapitola se věnuje historii vzniku webu, popisu HTTP protokolu a definici real-time webových aplikací. Druhá kapitola popisuje technologie použité v dalších částech práce s důrazem na jejich dopady a využití při tvorbě real-time webových aplikací. Jedná se o technologie JavaScript, JSON, Ajax (XHR, JSONP), knihovnu jQuery a serverové řešení Node.js. Třetí kapitola představuje hlavní část práce. Zabývá se technikami real-time komunikace klienta se serverem nazývanými také transportní způsoby. Popis každé techniky je doplněn obrázkem znázorňujícím komunikaci klienta se serverem a ukázkovým zdrojovým kódem. V závěru třetí kapitoly se nacházejí řešení používané programátory v praxi, konkrétně řešení Ajax Push Engine (APE), knihovna Socket.IO a služba Pusher.com. Čtvrtá, zároveň poslední kapitola obsahuje popis tvorby ukázkové webové aplikace vytvořené pro účely teto práce - skupinového chatu. Jedná se zejména o popis její funkcionalit a návodu jak si u sebe připravit prostředí pro běh real-time webové aplikace. Také obsahuje návod pro vytvoření kostry real-time webové aplikace s použitím serverového řešení Node.js, frameworku Express a knihovny Socket.IO. Zdrojové kódy ukázkové aplikace se nacházejí na přiloženém DVD v případě tištěné verze práce, v přílohách informačního systému VŠE v případě elektronické verze práce a také na službě GitHub. Hlavním přínosem práce je poskytnutí komplexního a jednotného popisu technik tvorby real-time webových aplikací s poskytnutím ukázkového zdrojového kódu ke každé technice.
Keywords: Socket.IO; Server push; Reverse Ajax; Comet; Real-time webové aplikace; Node.js
Thesis title: Real-time web applications
Author: Paulech, Matej
Thesis type: Bachelor thesis
Supervisor: Mittner, Jan
Opponents: Buchalcevová, Alena
Thesis language: Slovensky
Abstract:
This paper discusses real-time web applications. Its main purpose is to familiarize the reader with the term "real-time web application" and the technologies behind creating real-time web applications with an emphasis on a practical demonstration. The first chapter is about the history of World Wide Web, the description of the HTTP protocol and the definition of real-time web applications. The second chapter describes the technologies used in other parts of the work, mainly their implications and usage in developing real-time web applications. Technologies like JavaScript, JSON, Ajax (XHR, JSONP), jQuery library and server solution Node.js will be mentioned. The third chapter is the major part of the paper. It deals with the techniques of a real-time client communicating with the server, also called transport models. Each technique and its description is accompanied by a picture showing the client's communication with the server and an example source code. At the end of the third chapter, the solutions mentioned are widely used by programmers, specifically the Ajax Push Engine (APE), the Socket.IO library and the service Pusher.com. The fourth, the last chapter of the paper, contains a description of the demonstration web application created for the purpose of this work - a multi-user group chat. It is mainly a description of its features and how you prepare an environment to run real-time web applications. It also contains a tutorial how to create a basic "skeleton" for real-time web application using Node.js server solution, Express framework and Socket.IO library. The source code of the sample application is located on the enclosed DVD, and digitally as an attachment on the VSE information system and it is also uploaded at Github. The main contribution of this paper is to provide a comprehensive and coherent description of technologies behind creating real-time web applications with a provided example source code for a demonstration for each technique.
Keywords: Reverse Ajax; Server push; Node.js; Socket.IO; Real-time web applications; Comet

Information about study

Study programme: Aplikovaná informatika/Informatika
Type of study programme: Bakalářský studijní program
Assigned degree: Bc.
Institutions assigning academic degree: Vysoká škola ekonomická v Praze
Faculty: Faculty of Informatics and Statistics
Department: Department of Information Technologies

Information on submission and defense

Date of assignment: 13. 1. 2012
Date of submission: 6. 5. 2012
Date of defense: 27. 6. 2012
Identifier in the InSIS system: https://insis.vse.cz/zp/35470/podrobnosti

Files for download

    Last update: