07.10.2025

Älykäs ja kestävä asuminen

Olio-ohjelmointi ja mikropalveluarkkitehtuuri

Olio-ohjelmoinnin ja mikropalveluarkkitehtuurin suunnittelumallien käyttö järjestelmän ylläpidettävyyden parantamiseksi

Projektissa kootaan yhteen dataa useista sensoriverkoista ja tarjottiin yksi yhtenäinen rajapinta asiakassovelluksille. Middleware koostuu tarkoituskohtaisista komponenteista, tietokannoista ja erilaisista valmiista IoT-ratkaisuista.

Keskeisiä oppeja olivat suunnittelumallien rooli monimutkaisten järjestelmävuorovaikutusten yksinkertaistamisessa ja ymmärrettävyyden parantamisessa. Toteutuksen aikana korostui modulaarisen lähestymistavan merkitys: suunnittelumallit tarjoavat rakenteellisen viitekehyksen, joka edistää hyväksi todettujen ratkaisujen uudelleenkäyttöä ja vähentää teknistä monimutkaisuutta.

IoT-järjestelmien arkkitehtuurit muuttuvat usein monimutkaisiksi niiden hajautetun ja monimuotoisen luonteen vuoksi. Järjestelmät koostuvat laajasta valikoimasta komponentteja, kuten sensoreista, laitteista, yhdyskäytävistä ja pilvipalveluista, joilla kaikilla on omat protokollansa, standardinsa ja konfiguraationsa. Tätä monimutkaisuutta lisää tarve reaaliaikaiselle datankäsittelylle, laitteiden väliselle kommunikaatiolle ja energiatehokkaalle resurssienhallinnalle.

Ihanteellisesti IoT-arkkitehtuurien tulisi olla skaalautuvia kasvavien laitemäärien käsittelemiseksi sekä mukautuvia kehittyviin teknologioihin. Yhteen toimivuuden varmistaminen heterogeenisten laitteiden välillä ja järjestelmän häiriötön toiminta komponentteja laajennettaessa tai muokattaessa voi olla haastavaa. Siksi skaalautuvien ja laajennettavien IoT-ohjelmistoarkkitehtuurien suunnittelu on tärkeää mutta samalla erittäin vaativaa.

IOT-OHJELMISTOARKKITEHTUURIMME

Hankkeessa rakennetavan IoT-alustan päätavoitteena on tarjota sidosryhmille yksi helppokäyttöinen päätepiste sensoridatan kyselyyn. Data voi olla peräisin useista sensoriverkoista, eikä datan käyttäjän tarvitse tuntea sensoreiden yksityiskohtia tai käytettyjä tiedonsiirtoprotokollia. Ratkaisun periaate on esitetty ao kuvassa.

Tietoa yhdestä pisteestä.


Arkkitehtuuri yleisesti

OPIT JA HAVAINNOT

Turhien kytkösten poistaminen

Datan hyödyllisyyden ja selkeyden varmistaminen on erityisen tärkeää monimutkaisissa IoT-järjestelmissä, jotka koostuvat lukuisista sensoreista tai jopa useista sensoriverkoista. IoT-mittausten rikastaminen metadatalla parantaa ymmärrettävyyttä sekä tehostaa datanhallintaa, yhteistyötä ja järjestelmän ylläpitoa.

Yksi merkittävä riski on datan ja metadatan tiukka kytkentä, joka voi johtaa joustamattomuuteen. On varmistettava, ettei metadatan muutos vaadi laajoja muutoksia koko järjestelmässä, mikä kasvattaisi ylläpitokustannuksia. Metadatan käsittely voi myös aiheuttaa tietoturvariskejä tai suorituskykyongelmia. Siksi integraatiokomponenttien huolellinen suunnittelu on välttämätöntä.

Skaalautuvuuden parantaminen

Yhteentoimivuusongelmat johtuvat IoT-ekosysteemien laitteiden ja protokollien heterogeenisyydestä. Valmistajat käyttävät usein omia standardejaan, mikä vaikeuttaa eri valmistajien laitteiden saumatonta kommunikointia. Standardoinnin puute voi johtaa pirstaleisiin järjestelmiin, joissa dataintegraatio on monimutkaista ja virhealtista. Lisäksi vanhojen ja uusien laitteiden yhteensopimattomuus voi hankaloittaa järjestelmän päivityksiä ja laajennuksia. Huono yhteentoimivuus tarkoittaa myös huonoa skaalautuvuutta.

Kun laitteiden määrä kasvaa, järjestelmän läpi kulkevan datan määrä kasvaa eksponentiaalisesti. Tämä voi kuormittaa verkkoa, tallennustilaa ja prosessointiresursseja, mikä johtaa pullonkauloihin ja viiveisiin ja heikentää reaaliaikaista datankäsittelyä ja päätöksentekoa.

Kommunikaation parantaminen

Suunnittelumallien avulla kokonaiset toteutusrakenteet ja alijärjestelmät voidaan kommunikoida nopeasti kehittäjien välillä. Mallit auttavat myös vertailemaan ja perustelemaan suunnitteluratkaisuja. Koska IoT-sovellukset ovat usein monimutkaisia, arkkitehtuurin ymmärrettävyyden parantaminen voi merkittävästi helpottaa tulevaa ylläpitoa. Suunnittelumallit tarjoavat yhteisen sanaston, joka helpottaa järjestelmän komponenttien ja vuorovaikutusten kuvaamista ja dokumentointia.


MQTT välittäjä API väylänä

Turvallisuuden ja robustiuden lisääminen

Hyväksi todettujen ratkaisujen uudelleenkäyttö parantaa järjestelmän robustiutta. Suunnittelumallit auttavat tunnistamaan tilanteita, joissa ratkaisujen uudelleenkäyttö on mahdollista tai suositeltavaa. Mallit kuvaavat useita testattuja ratkaisuja yleisiin arkkitehtonisiin haasteisiin, kuten laitteistovikojen hallintaan tai kriittisten komponenttien eristämiseen järjestelmän laajuisen häiriön estämiseksi. Mallien avulla voidaan rakentaa IoT-järjestelmiä, jotka säilyttävät korkean käytettävyyden vaihtelevissa olosuhteissa.

JOHTOPÄÄTÖKSET

IoT-ala kasvaa edelleen eksponentiaalisesti. Uusia yrityksiä, teknologioita, laitteita, protokollia, alustoja ja versioita syntyy jatkuvasti ja suuria määriä. Integraatio- ja ylläpitohaasteet tulevat jatkossakin kuormittamaan IoT-järjestelmien kehitystä.

Suunnittelumallit auttavat asettamaan selkeitä suunnittelutavoitteita. Skaalautuvuutta ja ylläpidettävyyttä voidaan edistää kaikilla järjestelmän kehityksen tasoilla. Mallien soveltaminen yksittäisten suunnitteluongelmien ratkaisemiseen tai refaktorointiin olio- tai funktiotasolla auttaa luomaan elegantteja toteutuksia, joita on helppo ymmärtää ja päivittää. Suurempien komponenttien tai alijärjestelmien jäsentäminen mallipohjaisilla ratkaisuilla parantaa järjestelmän laajennettavuutta ja integroitavuutta. Suunnittelumallit tarjoavat ideoita robustien IoT-ohjelmistoarkkitehtuurien suunnitteluun ja auttavat hallitsemaan suurten heterogeenisten järjestelmien monimutkaisuutta. IoT- ja mikropalvelumallien lisäksi myös olio-ohjelmoinnin perinteisiä malleja voidaan hyödyntää IoT-kontekstissa.

Hankkeessa kerätty tieto täydentää IoT-arkkitehtuurien ja -suunnittelun tietopohjaa sisältäen käytännön kokemuksia järjestelmäarkkitehdeille ja kehittäjille, jotka työskentelevät dynaamisia kuormia, muuttuvia vaatimuksia ja tulevaa laajennettavuutta vaativissa ympäristöissä. Hankkeessa konkretisoituu miten suunnittelumallien käsitteitä voidaan soveltaa todellisissa tilanteissa, ja näin kaventaa kuilua abstraktien ideoiden ja käytännön toteutuksen välillä. Uskomme tämän auttavan myös ammattilaisia ja tutkijoita ymmärtämään IoT-projektien skaalautuvuus- ja integraatiohaasteiden vivahteita.

Lisätiedot

Lasse Harjumaa, tutkijatohtori
Ilkka Kivelä, projektipäällikkö
Petri Jyrkkä, projektipäällikkö