AsyncAPI-spesifikaatio ja sen soveltamismahdollisuudet Karelian oppimis- ja TKI-ympäristössä
Jänönen, Tuukka (2025)
Jänönen, Tuukka
2025
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2025052114323
https://urn.fi/URN:NBN:fi:amk-2025052114323
Tiivistelmä
Tässä opinnäytetyössä tutustutaan AsyncAPI-spesifikaatioon ja luodaan kyseiseen spesifikaatioon pohjautuva ohjelmointirajapinta, jonka kautta IoT-laitteet voivat kommunikoida. Opinnäytetyö tehtiin toimeksiantona Karelia-ammattikorkeakoululle. Opinnäytetyön toimeksiantajalla oli tarve tällaiselle rajapinnalle opetuskäytössä.
Opinnäytetyön kirjallisessa raportissa tutustutaan ohjelmointirajapintoihin ja niiden kommunikointiparadigmoihin yleisellä tasolla. AsyncAPI-spesifikaatiosta käydään läpi luodun ohjelmointirajapinnan kannalta keskeisimmät omaisuudet. Lisäksi perehdytään myös MQTT-protokollaan, jota luotu rajapinta käyttää viestintään IoT-laitteiden kanssa. Tämän jälkeen tutustutaan luodun sovelluksen toimintaan ja ohjelmistokoodiin sekä käydään läpi kehitystyön aikana ilmenneitä puutteita AsyncAPI-initiatiivin tarjoamissa työkaluissa.
Toiminnallisessa osassa luotiin asiakkaan toiveiden mukainen ohjelmointirajapinta. Rajapinta voi vastaanottaa sekä lähettää MQTT-viestejä IoT-laitteille. Saapuvat ja lähtevät viestit validoidaan palvelimella, lisäksi sovellus mahdollistaa saapuvien viestien käsittelyn aihekohtaisesti palvelimella. Kehitystyössä hyödynnettiin AsyncAPI-initiatiivin työkaluja, jotka helpottavat rajapinnan ylläpitoa ja kehitystä.
Opinnäytetyössä saavutettiin sille asetetut tavoitteet. Asiakas oli tyytyväinen luotuun rajapintaan ja aikoo ottaa rajapinnan käyttöön sekä jatkokehittää sitä tarpeidensa mukaan.
Opinnäytetyön kirjallisessa raportissa tutustutaan ohjelmointirajapintoihin ja niiden kommunikointiparadigmoihin yleisellä tasolla. AsyncAPI-spesifikaatiosta käydään läpi luodun ohjelmointirajapinnan kannalta keskeisimmät omaisuudet. Lisäksi perehdytään myös MQTT-protokollaan, jota luotu rajapinta käyttää viestintään IoT-laitteiden kanssa. Tämän jälkeen tutustutaan luodun sovelluksen toimintaan ja ohjelmistokoodiin sekä käydään läpi kehitystyön aikana ilmenneitä puutteita AsyncAPI-initiatiivin tarjoamissa työkaluissa.
Toiminnallisessa osassa luotiin asiakkaan toiveiden mukainen ohjelmointirajapinta. Rajapinta voi vastaanottaa sekä lähettää MQTT-viestejä IoT-laitteille. Saapuvat ja lähtevät viestit validoidaan palvelimella, lisäksi sovellus mahdollistaa saapuvien viestien käsittelyn aihekohtaisesti palvelimella. Kehitystyössä hyödynnettiin AsyncAPI-initiatiivin työkaluja, jotka helpottavat rajapinnan ylläpitoa ja kehitystä.
Opinnäytetyössä saavutettiin sille asetetut tavoitteet. Asiakas oli tyytyväinen luotuun rajapintaan ja aikoo ottaa rajapinnan käyttöön sekä jatkokehittää sitä tarpeidensa mukaan.
