Esineiden rajapinta pilvipalveluihin
Juutinen, Antero (2016)
Juutinen, Antero
Kajaanin ammattikorkeakoulu
2016
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016121420354
https://urn.fi/URN:NBN:fi:amk-2016121420354
Tiivistelmä
Opinnäytetyö käsittelee esineiden internet -ilmiötä, joka on mullistamassa palveluiden tuottamisen ja kuluttamisen internetissä. Työssä tutkittiin ja tuotettiin erilaisia teknologioita, jotka tukevat ja mukautuvat esineiden internetin vaativiin haasteisiin. Tavoitteina oli prototypoida mahdollisimman monipuolisesti erilaisia ratkaisuja palveluiden tuottamiseen niin, että ne olisivat helposti sovellettavissa opetuskäyttöön. Työ tehdään Kajaanin ammattikorkeakoulun ICT-muuntokoulutuksen tarpeisiin sekä koulun opetusympäristöjen kehittämisen vuoksi.
Esineiden internetin konsepti mahdollistaa normaalista poikkeavia teknologioita tietoverkkojen ja palvelualustojen toteutuksessa. Älykkäiden esineiden potentiaalinen hyöty on suuri, mutta sitä ennen ratkaistavat ongelmat on monimutkaisia. Nykyaikaiset pilvipalvelut ovat rakennettu internetin päällä toimivaan World Wide Web -palvelualustaan. Tämä palvelualusta on kehittynyt vuosien aikana sovellusalustaksi ja mahdollistaa käytännössä kaiken fyysisten maailman ilmiöiden integroinnin internetiin. Integrointi toteutetaan kuvaamalla asian tai esineen sen hetkinen tila resurssina WWW-palvelualustassa. Resurssi voidaan tunnistaa URI-tunnuksien avulla, ja hypermedia kuvaa resurssien välistä linkitystä ja sen mahdollistamaa epälineaarista resurssien käyttöä.
Työn käytännön osuutena suunniteltiin ja toteutettiin älykkäitä esineitä tukevia pilvipalveluita. Toteutettavat pilvipalvelut rajattiin kahteen eri aiheeseen. Ensimmäinen on älykkäitä esineitä tukevan REST-arkkitehtuurin mukainen WWW:n rajapintapalvelu. Sen ideana on integroida esineitä mahdollisimman yleispätevällä tavalla nettiin ja mahdollistaa lisäpalveluiden tuottaminen kallisarvoisella sensoritiedolla.
Toinen prototyyppi rakennettiin älykkäiden laitteiden kommunikointiongelmien ratkaisemiseksi. MQTT on sovelluskerroksen protokolla, joka on erikoistunut sulautettujen laitteiden viestintään. Se on niin sanottu julkaise ja tilaa -protokolla, joka mahdollistaa viestinnän vähävirtaisissa tai muuten heikko tehoisissa yhteyksissä. Protokolla toteuttaa viestintäpalvelimen avulla asiakassovelluksen ja palvelinsovelluksen erottamisen niin, että ne voivat kehittyä toisistaan riippumatta. Palveluiden tueksi rakennettiin hajautettu NoSQL-tietokantajärjestelmä.
Esineiden internetin konsepti mahdollistaa normaalista poikkeavia teknologioita tietoverkkojen ja palvelualustojen toteutuksessa. Älykkäiden esineiden potentiaalinen hyöty on suuri, mutta sitä ennen ratkaistavat ongelmat on monimutkaisia. Nykyaikaiset pilvipalvelut ovat rakennettu internetin päällä toimivaan World Wide Web -palvelualustaan. Tämä palvelualusta on kehittynyt vuosien aikana sovellusalustaksi ja mahdollistaa käytännössä kaiken fyysisten maailman ilmiöiden integroinnin internetiin. Integrointi toteutetaan kuvaamalla asian tai esineen sen hetkinen tila resurssina WWW-palvelualustassa. Resurssi voidaan tunnistaa URI-tunnuksien avulla, ja hypermedia kuvaa resurssien välistä linkitystä ja sen mahdollistamaa epälineaarista resurssien käyttöä.
Työn käytännön osuutena suunniteltiin ja toteutettiin älykkäitä esineitä tukevia pilvipalveluita. Toteutettavat pilvipalvelut rajattiin kahteen eri aiheeseen. Ensimmäinen on älykkäitä esineitä tukevan REST-arkkitehtuurin mukainen WWW:n rajapintapalvelu. Sen ideana on integroida esineitä mahdollisimman yleispätevällä tavalla nettiin ja mahdollistaa lisäpalveluiden tuottaminen kallisarvoisella sensoritiedolla.
Toinen prototyyppi rakennettiin älykkäiden laitteiden kommunikointiongelmien ratkaisemiseksi. MQTT on sovelluskerroksen protokolla, joka on erikoistunut sulautettujen laitteiden viestintään. Se on niin sanottu julkaise ja tilaa -protokolla, joka mahdollistaa viestinnän vähävirtaisissa tai muuten heikko tehoisissa yhteyksissä. Protokolla toteuttaa viestintäpalvelimen avulla asiakassovelluksen ja palvelinsovelluksen erottamisen niin, että ne voivat kehittyä toisistaan riippumatta. Palveluiden tueksi rakennettiin hajautettu NoSQL-tietokantajärjestelmä.