InfraWeb architecture

Marjetas Oy:n digitaalisten InfraWEB -palveluiden tekninen arkkitehtuurikuvaus.

Infraweb
InfraWEB osana nykyaikaista avointa dataekosysteemiä.

InfraWeb architecture
InfraWEB arkkitehtuurikuvaus Internet Työpöytäympäristö Mobiilikäytettävyys Käyttäjäryhmät Työpöytäympäristö Tenant Admins Nginx IW RWS Web UI InfraWEB Kunto InfraWEB RWS Django Celery Geoserver NodeRED IW RWS REST API IW RWS Core Front Application PostgreSQL / PostGIS DB PostgreSQL DB Database QGIS Workflow Client App Service Client REST API Service External API Services IoT Devices IoT Device MQTT IoT Device UDP IoT Device HTTP

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ä.
Nginx

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.
Celery

Geoserver

 
 


 
 









 

Geoserver
Kunto-palvelun oleellisena osana toimii Geoserver-palvelin, joka mahdollistaa paikkatietoon liittyvän datan hallinnoinnin sekä jakaminen REST API -rajapinnan kautta.
Geoserver

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.