20.9.1999
Petra Pietiläinen
Tietotekniikan osasto
Teknillinen korkeakoulu
ppietila@cc.hut.fi
Tänäpäivänä elämämme ovat täynnä eritarkoituksiin hankittuja laitteita, jotka harvoin ymmärtävät toisiaan vaikka niitä yhdistäisi erikoisliitäntä. Sun Microsystemsin Java ohjelmointikieleen pohjautuva Jini teknologia on kehitetty mahdollistamaan kaikenlaisten laitteiden välinen kommunikikaatio - vieläpä nopeasti, joustavasti ja helposti. Jini teknologian avulla erilaiset koneet voivat vaivatta ja nopeasti muodostaa niinkutsuttuja valmistelemattomia koneyhteisöjä, joiden sisällä ne voivat keskustella keskenään ja käyttää toinen toistensa palveluja. Teknologia perustuu Java ohjelmointikieleen, Java virtuaalikoneisiin, RMI olioihin ja kaksiosaiseen "discover and join-in" -protokollaan. Jini teknologian mahdollisuudet vaikuttaa jokapäiväiseen elämäämme ovat laajat. Teknologia luo tarvetta niin uusille palveluille kuin sovelluksillekin kokonaan uusia laitteita unohtamatta.
Tämän esseen tavoitteena on luoda lukijalleen tiivis, mutta kattava yleiskuva siitä, mistä Jini teknologiassa on kyse, minkälaiseen tekniikkaan se perustuu ja miten voimme tulevaisuudessa Jini teknologiasta hyötyä.
Kuvittele maailma, jossa kännykkä voisi pyytää tulostintasi tulostamaan puhelinmuistiosi tai jossa pyyykinpesukoneesi voisi hajotessaan lähettää korjaajalle sähköpostia. Jini teknologia mahdollistaa tämän kaiken vaikka tänään.
Jini teknologian mahdollistaa kaikenlaisten koneiden väliset valmistelemattomat yhteydet. Näin syntyvät koneiden yhteisöt, jotka eivät vaadi sen kummempaa suunnittelua, asennustyötä tai aivotyötä. Jokainen kone tarjoaa omia palvelujaan, joita muut yhteisön koneet saavat käyttää, ja jokaisella yhteisön koneella on omat rajapintansa [1]. Jini on siis teknologia, joka mahdollistaa kaikenlaisten koneiden yksinkertaisen liitynnän verkkoon ja keskustelun keskenään verkon välityksellä. Sanotaankin, että Jini teknologian avulla uusien verkkopalveluiden saatavuus ja käyttö laitteesta kuin laitteesta on yhtä yksinkertaista kuin puhelimen kytkeminen puhelinverkkoon pistokkeella. [6]
Java infrastruktuurin päälle rakennettu Jini teknologia mahdollistaa siis minkä tahansa laitteen liittymisen verkkoon riippumatta sen ohjelmistoista tai koneistosta. Jini teknologia sanelee ne säännöt, joiden mukaisesti koneet liittyvät verkkoon, jakavat tietoa ja keskustelevat keskenään pysyen kuitenkin täysin läpinäkyvänä käyttäjälle. Koska Jini teknologia on alustariippumaton, laitteiden toimintaa ja keskustelua ei enää rajoita niissä käytetyt ohjelmistot, prosessorit, ajurit tai perinteiset verkkoprotokollat. [2]
Jini teknologia lupaa paljon: Se lupaa lähitulevaisuudessa muokata uusiksi kaikki käsityksemme siitä, miten, missä ja milloin erilaiset laitteemme toimivat keskenään. Se mahdollistaa kaikenlaisten laitteiden väliset yhteydet - vieläpä helposti, missä vain ja milloin vain. Sun nimittää tätä laitteiden välistä valmistelematonta yhteyttä koneiden federaatioksi. Tämän federaation sisällä palvelut ovat laitteiden käytössä välittömästi, jättäen työläät asennustyöt ja alustariippuvuusongelmat historiaan [5]. Yksinkertainen koneiden yhteistyö onnistuu siis Jini teknolgian avulla ilman kaapeleita, ajureita tai murhetta siitä, ovatko koneiden käyttöjärjestelmät yhteistyökelpoiset. Tämän lisäksi teknologia tuo käyttäjälle neljä uutta konseptia, jotka ovat
|
Elämäämme usein hallitsevat erilaiset laitteethan eivät tunnetusti osaa jutella keskenään, useiten eivät edes erikoisliitännällä yhdistettynä. Ne tarvitsevat yhteisen kielen keskusteluun ja tavan määritellä toistensa tarjoamat toiminnot. Tässä kohtaa kuvioihin astuu mukaan Jini. [1]
Jini käyttää kommunikointiin Sun Microsystemsin Java ohjelmointikieltä. Jokaisessa Jini teknologiaa käyttävässä laitteessa on sisällä Java virtuaalikone, joka toimii viestien välittäjänä tämän laitteen - olipa sitten kyseessä kännykkä, tietokone tai astianpesukone - ja muiden Jini laitteiden välillä. Kun Jiniä hyväkseen käyttävä laite kytketään verkkoon, se ilmoittaa läsnäolostaan välittämällä tietoa palveluistaan muille verkon laitteille. Laitteet vastaavat, ja voivat sitten alkaa käyttää hyväkseen uuden tulokkaan tarjoamia palveluja.[1] |
![]() Kuva 1. Jini toimii Javan päällä [5] |
Tarkemmin ottaen Jini teknologia käyttää lookup palvelua, jolla laitteet ja palvelut rekisteröityvät. Kun laite haluaa liittyä verkkoon se käy läpi niinkutsutun discovery ja join-in protokollan. Protokollan Discovery-osuus tarkoittaa muiden Jini teknologiaa käyttävien laitteiden paikallistamista. Join-in -osuudella taas tarkoitetaan vaihetta, jossa laitteet lähettävät laitteiden tarjoamia palveluja vastaavia objekteja lookup palvelulle. Kun laite haluaa käyttää yhteisön tarjoamaa palvelua, se lataa tarvittavat objektit, sovelluskoodit, ajurit ja käyttöliittymät Jini teknologian lookup palvelusta. [6,4]
Java ohjelmointikieli on Jini teknologian toiminnan edellytys. Laitteet Jini teknologiaa toteuttavassa verkossa sidotaan yhteen Javan RMI:tä (Remote Method Invocation) hyväksi käyttäen. Jini teknologian keskeiset discovery ja join protokollat, kuten myös lookup palvelu, rakentuvat kokonaisuudessaan Java virtuaalikoneiden välillä liikuteltavien Java objektien päälle. [1]
Erilaiset tekniset laitteet hallitsevat elämäämme: tietokoneet, CD-soittimet, kamerat, mikrouunit ja astianpesukoneet ovat osa arkeamme. Kukin laite suorittaa yksinkertaisen tehtävänsä täysin tiedottomana ympäristöstään - ne eivät kykene tekemään yhteistyötä, kommunikomaan tai edes olemaan tietoisia toisistaan.
Kehityksen myötä tänä päivänä pienetkin, toiminnoiltaan vaatimattomat laitteet voivat kuitenkin kustannuspuolenkin puolesta pitää sisällään edullisia, suhteellisen tehokkaita prosessoreita. Koneet voivat siis olla entistä joustavampia. Esimerkiksi kännykän ja tulostimen vuorovaikutukseen ei enää tarvita välikätenä toimivaa tietokonetta. Sen sijaan, kännykkä ja tulostin kykenevät itse huolehtimaan keskinäisestä kommunikoinnistaan. Nyt kun tietokoneiden hinnat eivät enää ole huimia, on Jinillä paljon tarjottavaa arkielämäämme. Jini teknologia luo mahdollisuuden uudenlaiseen laitteiden yhteistyöhön "laiteyhteisöissä", joita syntyy vaivatta ja nopeasti sinne missä niitä tarvitaan, silloin kun niitä tarvitaan. [2]
Kun mietitään konkreettisia tapoja, joilla Jini teknologiaa voidaan tulevaisuudessa hyödyntää niin tuotteissa kuin verkkopalveluissakin vain mielikuvitus tuntuu olevan rajana. Esimerkiksi ympäristöstä, jossa Jini teknologian käyttö todella helpottaisi ihmisten elämää sopii toimistoympäristöt, joissa esimerkiksi Jini yhteensopivat kannettavat tietokoneet, printterit, levyasemat voivat fyysisestä sijainnistaan riippumatta helposti liittyä yrityksen sisäiseen verkkoon. [7,2,3]
Verkkopalvelujen rooli tulee Jini teknologian myötä kokemaan muutoksen. Minkä tahansa verkkopalvelujen asiakkaat voivat Jini teknologian avulla helposti liittää minkä tahansa laitteen mihin tahansa verkkopalveluun. Asiakas voi esimerkiksi helposti ladata verkosta elokuvia tarjoavan palvelun alta lempielokuvansa set-top boxiinsa talteen myöhempää katselua varten tai tilata lempisanomalehtensä printteriinsä suoraan verkosta. [2]
Jini teknologia tarjoaakin lukemattomia uusia, ennekuulumattomia mahdollisuuksia niin kehitysinsinööreille ja palveluntarjoajille kuin laitteiden valmistajillekin. [2]
Kolme erialan ammattilaista tekevät projektia eri puolilla maailmaa, bob New Yorkissa, Sue Malesiassa ja Dave Kaliforniassa.[3]
Bob viettää iltaa työntäyteisen päivän päätteeksi hotellihuoneessaan New Yorkissa valmistellen pomolleen lähetettävää raporttia. Kun raportti on valmis, hän tulostaa sen valitsemalla "print" Jiniä tukevasta tekstinkäsittelyohjelmastaan, joka löytää kaikki lähellä olevat printterit tuossa tuokiossa. Bob valitsee läheisimmän printterin ja noutaa printtinsä. Oikoluettuaan tuotoksensa Bob faksaa sen pomolleen Davelle lähettämällä sen ensin hotellin aulassa olevalle faksikoneelle, josta raportti singahtaa välittömästi kohti Kaliforniaa. [3]
Sue Malesiassa on juuri saanut valmiiksi projektiin liittyvän videonauhan. Hän kävelee videokameransa kanssa lähimpään toimistoon ja pyytää käyttöönsä PC:tä jossa on Jiniä tukeva selain. Sue käynnistää selainohjelman ja kytkee videokameransa fyysisesti verkkoon. Sue painaa selaimeen ilmestynyttä videokameraan viittaava ikonia, joka käynnistää videokameran kuvankatseluohjelman. Sitten hän valitsee parhaat videot, tallettaa ne lähimpään talletuspalveluun ja lähettää pomolleen Davelle e-mailin, jossa kertoo talletettujen kuvien sijainnin. [3]
Dave vastaanottaa Suen ja Bobin raportit kodissaan Kaliforniassa. Töihin lähtiessään hän muistaa ovella, että oli unohtaa videoida lempiohjelmasa Onnenpyörän. Dave nappaakin esiin käsitietokoneensa, joka käynnistettäessä liittyy kodin verkkoon. Dave käynnistää Jiniä tukevan selaimensa ja katselee kun kodinkoneita merkitsevät ikonit ilmestyvät ruutuun yksitellen. Dave valitsee videoihin viittavan ikonin ja säätää nopeasti videot nauhoittamaan TV ohjelman. Sitten hän kiirehtii töihin..[3]
Sunin sivuilta osoitteesta http://www.sun.com/jini/demos/ löytyy lisää mielenkiintoisia Jinin käyttöskenaarioita jotka sijoittuvat lentokentiltä kadulle ja toimistoon saakka. [7]
| [1] | anon. , What is Jini Connection Technology, [viitattu 12.9.1999]
< http://www.jini.org/whatisjini.html> |
| [2] | Digital Producer Magazine, Sun Introduces Jini Connection Technology, Enabling The Simple Connection of Any
Device to Any Network, Any Time, Anywhere, [viitattu 12.9.1999]
< http://www.digitalproducer.com/pages/sun_introduces_jini_connection_t.htm> |
| [3] | Higaki, Clyde & Venners, Bill, The Network Revolution, 19.5.1999 [viitattu 12.9.1999]
< http://java.sun.com/features/1999/01/jini_scenario.html> |
| [4] | Rawn Shah, The Skinny of Jini, [viitattu 12.9.1999]
< http://www.javaworld.com/jw-08-1998/jw-08-jini.html> |
| [5] | Sun microsystems, Jini Connection Technology, [viitattu 12.9.1999]
< http://www.sun.com/jini> |
| [6] | Sun microsystems, Jini Connection Technology FAQs, [viitattu 12.9.1999]
< http://www.sun.com/jini/faqs/index.html> |
| [7] | Sun microsystems, Jini Connection Technology Demos, [viitattu 12.9.1999]
< http://www.sun.com/jini/demos/index.html> |