UBI Middleware

Ubiikin Oulun erilaiset komponentit, suuret näytöt, sensorit, käyttäjien omat laitteet ja niiden käyttämät tietoverkot muodostavat laajan hajautetun järjestelmän. Se organisoidaan UBI-middlewaren (suom. välikerrossohjelmisto) avulla, joka piilottaa komponenttien väliset eroavaisuudet ja tarjoaa avoimet yhtenäiset rajapinnat järjestelmän eri resurssien käyttämiseen eri sovelluksissa. Näin koko yhteisö voi tulevaisuudessa hyödyntää syntyvää infrastruktuuria omassa T&K-toiminnassaan.

Välikerrosohjelmiston keskeinen osa on tuottaja-tilaaja malliin (engl. publish-subscribe) perustuva asynkroninen viestintä, joka mahdollistaa reaktiivisten ja proaktiivisten ohjelmien välisen kommunikoinnin hajautetuissa ympäristöissä. Tuottaja-tilaaja mallia käytetään yleisesti dynaamisten järjestelmien toteuttamiseen. Tyypillisesti näissä järjestelmissä komponentteja ei välttämättä tiedetä etukäteen vaan viestintäjärjestelmä reitittää viestejä hajautetussa ympäristössä tilaajien asettamien sekä sovelluspalvelimiin asennettujen ehtojen mukaisesti. Näin ollen tämä malli sopii hyvin ubiikin tietotekniikan sovelluksien rakennusosaksi. Tärkeä osa viestintäratkaisua on viestien sisältöpohjainen reititys, joka mahdollistaa tiedon tarkan kohdentamisen tilaajille. Esimerkiksi viesti voidaan kohdistaa tiettyyn logiseen tai fyysiseeen tilaan, kuten kaikille torilla oleville käyttäjille jotka ovat olleet paikalla 10 minuuttia. Sisältö- ja kontekstipohjainen toiminta mahdollistavat uudentyyppisiä interaktiivisia sovelluksia. Tämä tapahtumaohjattu kommunikaatio ja sisältöpohjainen reititys on toteutettu avoimen lähdekoodin Fuego-arkkitehtuurilla.

Resource Manager on säikeistetty palvelin, joka hoitaa resurssinhallinnan laitteiden välillä. Resource Manager vastaanottaa syöttötapahtumia eri konteksteista ja ohjaa syötteiden perusteella Layout Manageria. Laitekompositioiden koostamiseen Resource Manager käyttää varauksen käsitettä, joka on neuvoteltu sopimus UBI-pisteen ja mobiililaitteen välillä. Nämä varaukset tukevat yhden käyttäjän sovellusten lisäksi monen käyttäjän sovelluksia, joihin liittyy useita mobiililaitteita.

Layout Manager pitää huolta UBI-näytön dynaamisesta jakamisesta virtuaaliruutuihin, joissa sovellukset toimivat. Nämä virtuaaliruutujen asettelut ovat esimääriteltyjä, mutta niihin määritellyt sovellukset eivät ole. Layout Manager tarjoaa web-palvelurajapinnan (SOAP) tilamuutosten laukaisuun ja sovellusten liittämiseen virtuaaliruutuihin.

UBI-mobile on mobiililaitteiden liityntä- ja palvelunlöytörajapinta. Se näyttää käyttäjälle kustakin UBI-pisteestä löytyvät palvelut käyttäjälle, ja hoitaa varauksen neuvottelun Resource Managerin kanssa. UBI-mobile käynnistää mobiilipalvelut, jotka on implementoitu J2ME MIDletteinä MIDP 2.0 Push Registry -mekanismin kautta.

UBI-MIDlet toteuttaa sessionhallinnan, autentikaation ja läpinäkyvän integraation palvelinkomponenttien kanssa. UBI-MIDletin vastuualueeseen kuuluu varauksen käyttöönotto ja ohjaus palvelun käynnistyksen yhteydessä, näin siis jokainen sovellus ohjaa yhtä varausta.