Reaaliaikaisen verkkosivun toteuttaminen
Rautiainen, Petri (2016)
Rautiainen, Petri
Metropolia Ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201605096560
https://urn.fi/URN:NBN:fi:amk-201605096560
Tiivistelmä
Insinöörityön tavoitteena oli kehittää jo olemassa olevaa taksinkuljettajien tilauslistaa niin, että siitä saatiin entistä käytettävämpi. Tilauslista päivitettiin vanhanaikaisin menetelmin, mikä aiheutti erilaisia käytettävyyteen ja toiminnallisuuteen liittyviä ongelmia. Tilauslista on verkkosivu, mutta sitä käytetään upotettuna Android-sovelluksessa.
Projektin tavoitteena oli tutkia nykyaikaisia reaaliaikaisia web-teknologioita, tehdä tutkimustulosten pohjalta suunnitelma tilauslistan parantamiseksi ja lopuksi toteuttaa suunnitelman mukainen päivitys järjestelmään.
Insinöörityössä tutkittiin teknologioita, joiden avulla web-sivuston ja palvelimen välille voidaan luoda jatkuva yhteys niin, että palvelin voi päivittää tietoa sivulle heti, kun uutta tietoa on saatavissa. Tutkimustulosten avulla laadittiin suunnitelma, jossa tilauslistan palvelinpuolen rinnalle tehdään WebSocket-palvelin, jonka avulla tilauslistaa päivitetään reaaliajassa.
Suunnitelman pohjalta kehitettiin Ratchet-PHP-kirjastolla WebSocket-palvelin, joka toimi muuten moitteettomasti, mutta se ei ollut tuettu vanhemmissa Android-laitteissa WebView-elementissä. Paremman selaintuen saavuttamiseksi toinen versio toteutettiin Node.js-palvelimella ja Socket.io-kirjastolla. Socket.io:lla toteutettu versio toimi myös vanhemmilla Android-versioilla, joten se otettiin käyttöön.
Insinöörityön lopputuloksena syntyi tilauslista, johon mobiilisovelluksesta tehdyt uudet tilaukset ilmestyivät reaaliajassa. Toteutuksesta tuli kehittyneempien teknologioiden hyödyntämisen seurauksena skaalautuvampi ja reaaliaikaisuuden tuomien etujen vuoksi myös käytettävämpi.
Projektin tavoitteena oli tutkia nykyaikaisia reaaliaikaisia web-teknologioita, tehdä tutkimustulosten pohjalta suunnitelma tilauslistan parantamiseksi ja lopuksi toteuttaa suunnitelman mukainen päivitys järjestelmään.
Insinöörityössä tutkittiin teknologioita, joiden avulla web-sivuston ja palvelimen välille voidaan luoda jatkuva yhteys niin, että palvelin voi päivittää tietoa sivulle heti, kun uutta tietoa on saatavissa. Tutkimustulosten avulla laadittiin suunnitelma, jossa tilauslistan palvelinpuolen rinnalle tehdään WebSocket-palvelin, jonka avulla tilauslistaa päivitetään reaaliajassa.
Suunnitelman pohjalta kehitettiin Ratchet-PHP-kirjastolla WebSocket-palvelin, joka toimi muuten moitteettomasti, mutta se ei ollut tuettu vanhemmissa Android-laitteissa WebView-elementissä. Paremman selaintuen saavuttamiseksi toinen versio toteutettiin Node.js-palvelimella ja Socket.io-kirjastolla. Socket.io:lla toteutettu versio toimi myös vanhemmilla Android-versioilla, joten se otettiin käyttöön.
Insinöörityön lopputuloksena syntyi tilauslista, johon mobiilisovelluksesta tehdyt uudet tilaukset ilmestyivät reaaliajassa. Toteutuksesta tuli kehittyneempien teknologioiden hyödyntämisen seurauksena skaalautuvampi ja reaaliaikaisuuden tuomien etujen vuoksi myös käytettävämpi.