InfraWEB architecture
InfraWeb architecture
Marjetas Oy:n digitaalisten InfraWEB -palveluiden tekninen arkkitehtuurikuvaus.
InfraWEB osana nykyaikaista avointa dataekosysteemiä.
InfraWEB arkkitehtuurikuvaus
InfraWEB osana nykyaikaista avointa dataekosysteemiä.
Internet
InfraWEB-palvelut ovat käytettävissä julkisen Internet-verkon kautta kaikkina aikoina ympäri vuorokauden.
Työpöytäympäristö
InfraWEB-palveluita voidaan käyttää tietokoneen web-selaimella.
Mobiilikäytettävyys
InfraWEB-palveluita voidaan käyttää myös mobiililaitteilla.
Käyttäjäryhmät
InfraWeb-palveluiden käyttäjiä voivat olla tilaajan edustajat, hoitourakoitsijat ja mahdolliset yhteistyökumppanit kuten esimerkiksi sääasiantuntijat.
Työpöytäympäristö
InfraWEB-palveluita voidaan käyttää ja kehittää tietokoneen web-selaimella.
Tenant Admins
InfraWEB-palvelun pääkäyttäjät ja sovelluskehittäjät käyttävät ja kehittävät palvelua työpöytäympäristön web-selaimella.
Nginx
Nginx
Nginx on web-palvelinkomponentti, joka hoitaa dataliikenteen Application-sovelluskerroksen ja internetin välillä.
IW RWS Web UI
IW RWS Web UI
Dataliikenteen sovelluskerroksen ja internetin välillä hoitaa HAProxy-palvelinkomponentti.
InfraWEB Kunto
Kunto-palvelu on Marjetas Oy:n toteuttama infraomaisuuden hallinnointityökalu. Kunto-palvelussa asiakkaan infraomaisuuteen liittyviä ominaisuus ja -paikkatietoja voidaan tallentaa, tarkastella ja tulostaa karttakäyttöliittymien kautta. Lisäksi palvelussa voidaan tehdä edistyneitä suodatushakuja paikkatietoaineistoihin ja ladata suodatushakutulokset halutussa paikkatietoformaatissa käyttäjän GIS-työpöytäsovelluksen käyttöön. Kunto-palvelu on rakennettu käyttäen paikkatiedon avoimia palvelinohjelmistoja, joista mainittakoon Geonode, Geoserver, PostGIS, OpenLayers ja Mapstore. Pääosin Kunto-palvelun avulla on tarkoitus hallinnoida sellaisia paikkatietoaineistoja, joihin tehdään päivityksiä silloin tällöin esimerkiksi kausittaisten tienparannustöiden jälkeen. On myös mahdollista tehdä reaaliaikaisia päivityksiä ja muutoksia aineistoihin esimerkiksi QField-työtilan kautta suoraan maastotyöskentelyn aikana. Käyttäjien data on tallennettu tietokantaan vahvoilla salasanoilla suojattuna, GDPR-tietosuoja on huomioitu ja Kunto-palvelun palvelimet sijaitsevat suojatuissa ja valvotuissa palvelinsaleissa luotettujen palveluntarjoajien toimipisteissä.
InfraWEB RWS
Marjetas Oy:n toteuttaman IW RWS -kelipalvelun käyttöliittymätoiminnallisuudet on toteutettu oman ohjelmistokehitystiimin toimesta. Palvelun taustajärjestelmässä toimii Timeseries -tyyppinen tietokanta, jonne asiakkaiden IoT-sensoridataa tallentuu lähes reaaliajassa. RWS-kelipalveluun tallennettu asiakkaan data voi olla peräisin lähes mistä tahansa lähteestä. Esimerkkeinä mahdollisista erityyppisistä datalähteistä mainittakoon kelisensorit, urakoitsijoiden kunnossapitokalusto, tiesääasemat, ilmanlaadun mittausasemat, liikkeen- ja valoisuudentunnistimet jne. Käyttäjien data on tallennettu tietokantaan vahvoilla salasanoilla suojattuna, GDPR-tietosuoja on huomioitu ja IW RWS -kelipalvelun palvelimet sijaitsevat suojatuissa ja valvotuissa palvelinsaleissa luotettujen palveluntarjoajien toimipisteissä. Lyhenne RWS tulee sanoista Road Weather System.
Django
Django
Kunto-palvelun web-käyttöliittymän toiminnallisuudet on rakennettu käyttäen Django-ohjelmistokehystä.
Celery
Celery
Celery on ohjelmistokomponentti, joka käsittelee joustavasti järjestelmäkomponenttien välisiä viestejä ja tarjoaa toiminnallisuuksia järjestelmän ylläpitämiseen tarvittaville työkaluille.
Geoserver
Geoserver
Kunto-palvelun oleellisena osana toimii Geoserver-palvelin, joka mahdollistaa paikkatietoon liittyvän datan hallinnoinnin sekä jakaminen REST API -rajapinnan kautta.
NodeRED
NodeRED
NodeRED on visuaalisen ohjelmoinnin työkalu, jonka avulla InfraWEB-palveluun on toteutettu monipuolisesti datan vastaanottoon ja välittämiseen liittyviä toiminnallisuuksia mm. REST API -ohjelmointirajapinnan avulla.
IW RWS REST API
IW RWS REST API
IW RWS -kelipalvelun sovelluskerros sisältää ohjelmointirajapinnan, jonka avulla voidaan vastaanottaa ja välittää IoT-laitteiden sekä ulkoisten rajapintojen tuottamaa dataa.
IW RWS Core
IW RWS Core
Application -sovelluskerroksen Core sisältää IW RWS -kelipalvelun sovelluslogiikan ydintoiminnallisuudet sekä toimii datakommunikaation solmukohtana järjestelmän muiden ohjelmisto- ja palvelinkomponenttien välillä.
Front
Front
Arkkitehtuurikuvauksen Front-kerros sisältää palvelinkomponentit, joiden avulla mahdollistetaan InfraWEB-palvelun datan välittyminen tietoturvallisesti käyttäjän web-selaimeen.
Application
Application
Application-sovelluskerroksen ohjelmisto- ja palvelinkomponentit muodostavat InfraWEB-palveluiden sovelluslogiikkaan liittyvät perustoiminnallisuudet, joita voi olla hajautettuna useille eri palvelimille.
PostgreSQL / PostGIS DB
PostgreSQL / PostGIS DB
Kunto-palvelun tietovarastona toimii PostgreSQL tietokanta, jossa PostGIS laajennus hoitaa paikkatietoon liittyvien aineistojen käsittelyn tietokannassa.
PostgreSQL DB
PostgreSQL DB
IW RWS -kelipalvelun kaikki mittausdata tallennetaan PostgreSQL -tietokantaan, josta data on luettavissa ja käytettävissä Core-ydintoiminnallisuuksien ja sitä kautta sisäisen REST API -rajapinnan käyttöön.
Database
Database
InfraWEB-palvelun arkkitehtuurikuvauksen Database-kerros sisältää tietovarastoina toimivat PostgreSQL-tietokannat.
QGIS
QGIS
Paikkatietoaineistoihin voidaan tarvittaessa tehdä laskentaa ja tietojen päivittämistä suoraan tietokantaan esimerkiksi QGIS-ohjelmiston avulla.
Workflow
Workflow
Työn sujuvuutta paikkatietoaineistojen päivitystyössä voidaan edesauttaa paikkatieto-ohjelmistojen välisen datakommunikaation parantamisella esimerkiksi sopivien lisäosien ja laajennuksien toteuttamisella.
Client App Service
Client App Service
Tilaajat ja yhteistyökumppanit voivat hyödyntää InfraWEB-palvelun ohjelmointirajapinnasta noudettua dataa hyvin monenlaisissa eri sovellus- ja palvelinympäristöissä.
Client REST API Service
Client REST API Service
InfraWEB-palvelu voi tarvittaessa noutaa dataa ulkoisista REST API -rajapinnoista ja datalähteistä. Noudettua dataa jatkokäsitellään ja jalostetaan eteenpäin tilaajien ja yhteistyökumppaneiden toiveiden mukaisesti.
External API Services
External API Services
Ulkoiset sovellukset, datalähteet ja REST API -ohjelmointirajapinnat, joiden kanssa InfraWEB-palvelun Application-sovelluskerros kommunikoi dataa vaihdettaessa järjestelmästä toiseen.
IoT Devices
IoT Devices
IoT-laitteilta saapuva data välitetään InfraWEB REST API- rajapinnan kautta IW RWS -kelipalveluun. IoT-laitteita voivat olla kiinteät tai mobiilit kelisensorit, kunnossapitokaluston seurantalaitteet ja muut mahdolliset sensorit.
IoT Device MQTT
IoT Device MQTT
Sensori, josta mittausdataa saapuu InfraWEB REST API -ohjelmointirajapintaan MQTT-viestiprotokollan avulla.
IoT Device UDP
IoT Device UDP
Sensori, josta mittausdataa saapuu InfraWEB REST API -ohjelmointirajapintaan UDP-verkkoprotokollan avulla. Näihin sensoreihin sisältyy esimerkiksi Marwis, johon on liitetty Aplicom-dataloggeri.
IoT Device HTTP
IoT Device HTTP
Sensori, josta mittausdataa saapuu InfraWEB REST API -ohjelmointirajapintaan HTTP-verkkoprotokollan avulla.