Title RAZVOJ RASPODIJELJENIH INTERNETSKIH APLIKACIJA
Author Luka Dubravčić
Mentor Jonatan Lerga (mentor)
Committee member Kristijan Lenac (predsjednik povjerenstva)
Granter University of Rijeka Faculty of Engineering Rijeka
Defense date and country 2017-03, Croatia
Scientific / art field, discipline and subdiscipline TECHNICAL SCIENCES Computing
Abstract Rad je obradio više tehnologija potrebnih za izgradnju jedne Internet aplikacije. Počevši od git distribuiranog sustava za verzioniranje programskog koda, tj. njegove temeljne strukture i reprezentacije te strukture kroz repozitorij, commit koncepta na kojem se sve bazira pa do tehnika pravilne upotrebe povijesti revizija programskog koda. Izneseni su nedostaci i prednosti git sustava.
Poglavlje Web poslužitelji obrađuje najkorištenije poslužitelje na tržištu, Apache httpd i Nginx. Poglavlje prolazi kroz temeljne koncepte rada, arhitekturu, način rada, prednosti i nedostatke pojedinih sustava te uspoređuje performanse.
Phalcon PHP razvojni okvir olakšava razvoj PHP aplikacije. Strukturiran je po Model-View-Controller (MVC) oblikovnom obrascu te pruža razne funkcije putem svojih servisa (kao autoloader, dependency injector, router, view mehanizme).
Poglavlje o aplikacijskim programskim sučeljima (API) nudi pregled najkorištenijih sučelja u Internet aplikacijama kao što su REST, SOAP, JSON-RPC. Pojašnjava principe rada i strukturu komunikacije (protokol), te međusobno uspoređuje REST i SOAP servise.
Od cache mehanizama obrađeni su APC, Memcached, Redis te Varnish tehnologije. Sustavi se razlikuju po načinu rada, uređenju podataka, (ne)perzistentnosti podataka.
Objektno orijentirana paradigma je ustaljen način razvijanja kompleksnijih Internet aplikacija te su obrađene prednosti i mane takvog pristupa.
Na kraju ovoga rada su navedeni neki od najkorištenijih načina tj. sustava za pretraživanje podataka u Internetskim aplikacijama, kao npr. Sphinx i ElasticSearch, načini rada te prednosti i nedostaci.
Abstract (english) This thesis explains technologies needed for developing an Internet application. git distributed version control system is used for managing applications code, and thesis gives analysis of system structure, representation of that structure trough whole repository, concept of commits on which whole system is based all the way to techniques used to take advantage of revision history concept. At the end there a list of advantages and disadvantages of this system.
Web server chapter discusses about most used servers on today's market, Apache httpd and Nginx. This chapter discusses basic concepts, architecture, work modes, advantages and disadvantages of individual systems and gives a comparison between them.
Phalcon PHP framework is used for Internet application development with its Model View Controller (MVC) structure and set of features through services such as autoloading, dependency injections, routing, view mechanisms.
Application programming interface (API) chapter discusses most used API technologies in Internet applications such as REST, SOAP and JSON-RPC. Chapter explains work principles and communication protocols, and gives comparisons between SOAP and REST.
After API, thesis discusses cache mechanism in web applications. Technologies such as APC, Memcached, Redis and Varnish are explained through their work modes, data types, data (non)persistency.
Object oriented paradigm is prefered way of developing large and complex Internet applications so OOP chapter discusses advantages and disadvantages of this approach.
Last chapter of this thesis discusses ways to use search feature in web applications trough covering search engines such as Sphinx and ElasticSearch.
Keywords
distribuirani sustav za upravljanje verzijama
Git
Nginx
Apache
poslužitelj
PHP razvojni okvir
Phalcon
aplikacijsko programsko sučelje
API
JSON-RPC
Simple Object Access Protocol
Representational State Transfer
Alternative PHP Cache
Memcached
Redis
Varnish
pretraga u internet aplikacijama
Sphinx
ElasticSearch
Keywords (english)
Distributed version control
Git
Nginx
Apache
web server
PHP framework
Phalcon
Application Programming Interface
API
JSON-RPC
Simple Object Access Protocol
Representational State Transfer
Alternative PHP Cache
Memcached
Redis
Varnish
search in Internet applications
Sphinx
ElasticSearch
Language croatian
URN:NBN urn:nbn:hr:190:697516
Study programme Title: Computer Engineering Study programme type: university Study level: graduate Academic / professional title: magistar/magistra inženjer/inženjerka računarstva (magistar/magistra inženjer/inženjerka računarstva)
Type of resource Text
File origin Born digital
Access conditions Access restricted to students and staff of home institution
Terms of use
Created on 2017-04-28 10:38:27