Naslov Web aplikacije u programskom jeziku Java i razvojni okvir Play
Autor Ana Marija Karlović
Mentor Zvonimir Bujanović (mentor)
Mentor Goran Igaly (mentor)
Član povjerenstva Goran Igaly (predsjednik povjerenstva)
Član povjerenstva Mladen Jurak (član povjerenstva)
Član povjerenstva Zvonko Iljazović (član povjerenstva)
Član povjerenstva Vjekoslav Kovač (član povjerenstva)
Ustanova koja je dodijelila akademski / stručni stupanj Sveučilište u Zagrebu Prirodoslovno-matematički fakultet (Matematički odsjek) Zagreb
Datum i država obrane 2017-02-23, Hrvatska
Znanstveno / umjetničko područje, polje i grana PRIRODNE ZNANOSTI Matematika
Sažetak Pri razvoju aplikacija, razlikuju se tri međusobno povezane cjeline. Jedna se brine za čuvanje podataka, druga za implementaciju poslovne logike same aplikacije, a treća prikazuje sadržaj korisniku i omogućava interakciju s njim. Prva cjelina je u većini slučajeva baza podataka, dok se druga cjelina nalazi samo u većim aplikacijama koje rade komplicirane radnje nad podacima. U ovom radu predstavljen je razvojni okvir Play koji sluzi za izradu web aplikacija. On omogućava oblikovanje prezentacijskog sloja aplikacije prema MVC oblikovnom obrascu. Izrada aplikacije u Play-u odvija se po principu konvencija prije konfiguracije. To znači da se prati obrazac koji propisuje Play gdje su neki elementi predefinirani. Na primjer, mapiranje ruta, stvaranje sesija, ORM alati... Play koristi programski jezik Java za serverski dio, Scala za generiranje html stranica te je omogućena jednostavna integracija Javascript i CSS elemenata. Najpoznatiji korisnici Play-a su LinkedIn i Coursera. Struktura aplikacije napravljene u Play-u sastoji se od četiri odvojene cjeline. To su model, upravljači, pogledi i dodaci. Model se sastoji od Java klasa koje predstavljaju podatke iz baze u obliku prikladnom za prikaz korisniku. Upravljači sadrže metode čiji su rezultati različiti pogledi. Pogledi su generirane html stranice koje se prikazuju korisniku aplikacije. Prilikom generiranja pogleda, koriste se dodaci za stilsko uređivanje html elemenata i obradu događaja kao sto su klik na gumb, odabir vrijednosti unutar padajućeg izbornika, itd. Za potrebe ovog rada napravljena je aplikacija Redomat. Ona omogućava pretplatu na uslugu uzimanjem broja, te administriranje obrada tako generiranih rednih brojeva. Izrađena je u Play-u i pritom je korišten SBT alat za razvoj, kompajliranje i pokretanje aplikacije. Model koji je razvijen za potrebe aplikacije Redomat omogućava dodavanje ili brisanje usluga u aplikaciji bez prilagođavanja samog koda - dovoljno je dodati ili izbrisati redak u odgovarajućoj tablici u bazi. Svi pogledi se generiraju dinamički i tu glavnu ulogu ima Javascript koji iz danog modela generira strukturu za prikaz podataka. Poslovna logika sadržana je u prezentacijskom sloju. Baza podataka organizirana je tako da omogućuje spremanje podataka u obliku pogodnom za kreiranje modela koji se prikazuje korisniku. Aplikacija Redomat može naći primjenu u svim institucijama u kojima postoji red za obradu. Primjeri su banke, policijske uprave gdje se izrađuju dokumenti, zavodi za zdravstveno ili mirovinsko osiguranje, pa i same bolnice i domovi zdravlja. Na mjestima na kojima bi uslugu koristio širok krug ljudi, među kojima možda ima dosta onih koji nemaju pristup internetskoj mreži, mogli bi se dodatno koristiti aparati koji ispisuju brojeve na papir kao i dosad. U tom slučaju bi jedna aplikacija generirala sve brojeve, pa bi se onemogućili konflikti. Uz minorne promjene aplikacija Redomat bi podržavala takav način rada. Tako bi usluga postala dostupnija i informatiziranija, ali bi se korisnicima omogućilo i pretplaćivanje za uslugu na stari način. Moj dojam o Play-u na kraju je vrlo dobar. Sama izrada aplikacije bila je ponešto otežana uslijed izdavanja nove verzije Play-a, zbog čega je dokumentacija bila djelomično nepotpuna. Moje dotadašnje iskustvo u izradi web aplikacija uključivalo je Microsoftov razvojni okvir ASP.net. I u njemu je veoma naglašen princip konvencije prije konfiguracije, te je Play čak i rađen na temeljima tog okvira. Zbog navedenog mi je bilo prilično lako prilagoditi se Play-u i shvatiti strukturu aplikacije koju on definira. S druge strane, prednost jednog takvog uhodanog razvojnog okvira pred Play-om je puno detaljnija i točnija dokumentacija te puno više informacija o istome na webu. Kao početniku u Javi, problem mi je stvarao i odabir biblioteka koje su kompatibilne s Play-om, a imaju funkcionalnost koja mi je potrebna. U tome uvelike pomaze odabir pravog IDE-a.
Sažetak (engleski) There are three cooperating layers when developing applications. The first one takes care of data storage, the second one implements business logic of the application itself, and the third displays the content to the user and allows him to interact with it. The first layer is usually the database, while the second layer is found in larger applications that run complex operations with data. This thesis presents the Play framework for developing web applications. It allows designing the presentation layer that implements MVC design pattern. Development of applications in the Play framework follows the principle of convention over configuration. This means that while creating application, one follows Play prescribed pattern, using predefined elements. For example, routing, creating sessions, using ORM tools, etc. Play allows using Java programming language for backend services, Scala to generate frontend (HTML pages) and enables easy integration with JavaScript and CSS. The most known Play users are LinkedIn and Coursera. Application developed using Play consists of four separate units. These are model, controllers, views and accessories. The model consists of Java classes that represent the data from the database in a form suitable for displaying to the user. Controllers implement methods whose results are different views. Views are generated HTML pages that are displayed to the user. Accessories consists of images, CSS and Javascript elements which are used to style the views and process events such as clicking on a button, selecting a value within drop-down menu, etc. Application Redomat was made for this thesis. It allows one to subscribe to a service by taking a number and also administration of servicing those numbers. Development, compiling and running the application is done using SBT. The model that was developed allows one to add or remove a service in the application without rewriting the source code - it suffices to insert or delete a row in the corresponding table in database. All views are generated dynamically using Javascript which generates the model in a structure for presenting the data. The presentation layer implements business logic. The database stores data in a form suitable for creating a model that is displayed to the user. Application Redomat can be used in all institutions where there is a queue for processing. Examples include banks, police departments where personal documents are issued, health and pension insurance offices, and even hospitals and other health centers. At places where the service would be used by a wide range of people, among which there may be many who do not have access to the Internet, we could also use devices that print numbers on a piece of paper. In that case, one application would generate all the numbers to prevent conflicts. Application Redomat would require minor adjustments to work this way. Thus, services would become more accessible and digitalized but still enable users to subscribe for them the old way. In the end my impression of Play is very good. The development of Redomat application using Play framework was somewhat inconvenient considering its incomplete documentation. The documentation is incomplete due to the recent release of a new version of Play. My previous experience in web development includes Microsoft’s ASP.net framework. It follows the principle of convention over configuration and it inspired Play’s evolvement. Therefore, it was quite easy for me to adapt to Play and understand the structure of the application which it defines. On the other hand, the advantage of a well-established development framework such as ASP.net over Play is the more detailed and accurate documentation and more information about it on web. As a Java beginner, the problem I encountered was choosing a library that is compatible with Play and that provides the functionality that was needed. Another lesson I learned was that choosing the right IDE greatly helps with development.
Ključne riječi
razvoj aplikacije
Javascript
Play
MVC obrazac
Redomat
Ključne riječi (engleski)
application development
Javascript
Play
MVC design pattern
Redomat
Jezik hrvatski
URN:NBN urn:nbn:hr:217:573739
Studijski program Naziv: Računarstvo i matematika Vrsta studija: sveučilišni Stupanj studija: diplomski Akademski / stručni naziv: magistar/magistra računarstva i matematike (mag. inf. et math.)
Vrsta resursa Tekst
Način izrade datoteke Izvorno digitalna
Prava pristupa Otvoreni pristup
Uvjeti korištenja
Datum i vrijeme pohrane 2017-04-25 12:37:27