Jini

18.02.1999

Sami Lankinen

Ti III

Teknillinen Korkeakoulu

Sami.Lankinen@hut.fi

 

  1. Tiivistelmä
  2. Prosessorien hinnan lasku riittävän alas, jotta pieni mikroprosessori riittävän tehokas suorittamaan korkean tason olio-ohjelmointikieliä ja siirtämään oliota järjestelmien välillä löytyy yhä useammasta laitteesta, mahdollistaa teknologian jolla laitteet voivat kommunikoida ja toimia keskenään. Sun Microsystemsin Jini-teknologia tarjoaa alustan dynaamisesti muuttuvan verkkoyhteisön toiminnan hallintaan.

    Jini pohjautuu Java-kieleen, sen olio-malliin ja RMI (Remote Method Invocation) tekniikkaan. Jini on koodin kooltaan vain 48kb, joten se voidaan liittää osaksi mitä erilaisimpia sähköisiä laitteita, jotka siten voivat olla Jini-ympäristön palvelun tarjoajia. Muut Jini-laitteet voivat käyttää näitä palvelu hyväkseen. Jini-ympäristön voi muodostaa esim. yrityksen mikroverkko tai kännykän ja kotona sijaitsevan pesukoneen ja jääkaapin muodostama verkko. Eri laitteet kytkeytyvät toisiinsa eri verkkojen kautta.

    Jini-teknologian ensimmäinen toimiva versio esiteltiin vuoden 1999 alussa. Monet valmistajat ovat antaneet tukensa Jinille, mutta ensimmäisiä Jini-tuotteita voidaan odottaa vasta vuosituhannen vaihteessa. Sun tarjoaa Jinille kahta eri kehityspakettia, joissa on Jini-teknologian ydinkomponentit ja niiden spesifikaatiot.

  3. Johdanto
  4. Prosessoritehon jatkuvasti kasvaessa ja mikropiirien yhä pienentyessä, mikroprosessori on löytänyt tiensä modernin leivänpaahtimen, television, auton sytytysjärjestelmän ja tietokoneen sydämmeen. Tietokone voidaan kytkeä verkkoon tai siihen voidaan kytkeä oheislaitteita, jolloin se pystyy kommunikoimaan muiden laitteiden kanssa. Tämä kuitenkin on monimutkaista ja yleensä vaatii ammattilaista asentamaan järjestelmän, laitteen tai palvelun.

    Laitteisto puolella tähän epäkohtaan ollaan jo puututtu esim. Microsoftin ja laitteisto valmistajien Plug and Play standardilla. Laitteen kytkeminen USB(Universal Serial Bus)-väylään on yksinkertaista. Käyttöjärjestelmä tunnistaa uuden USB-laitteen heti sen kytkemisen jälkeen ja asentaa sille tarvittavat ajurit, jotta laite voisi toimia järjestelmän osana.

    Nyt tähän samaan pyritään myös erillisten laitteiden osalla, jotka ovat yhteydessä esim. verkon välityksellä. Kaiken tämän mahdollistaa prosessoritehon kasvu, jotta prosessori riittävän tehokas suorittamaan korkean tason olio-ohjelmointikieliä ja siirtämään oliota järjestelmien välillä, löytyy yhä useammasta laitteesta.

     

  5. Jini - spontaneous networking
  6. Sun Microsystemsin kehittämä ja heinäkuussa 1998 julkistama Jini-teknologia tarjoaa yksinkertaisen mekanismin laitteille kytkeytyä toisiinsa ja muodostaa toimivan yhteisön, jonka muodostus ei vaadi suunnittelua, asennustyötä tai ihmisen puuttumista asiaan. Jokainen laite tarjoaa palveluita, joita muut laitteet yhteisössä voivat käyttää. Jokainen palvelu tarjoaa myös rajapinnan palvelun käyttöön, jolloin muiden laitteiden ei tarvitse tuntea palvelua entuudestaan. Tämä mahdollistaa yhteensopivuuden ja luotettavan toiminnan.[3]

    Esimerkiksi Jini-yhteensopiva digitaalikamera voisi automaattisesti tunnistaa verkkoon kytkettäessä samaan verkkoon kuuluvan tulostimen, joka tarjoaisi tulostuspalvelua kameralle, joka vastaavasti havaitsisi kameran ajuri-informaatiota sisältävän java-olion ja palvelun tarjota digitaalikuvaa. Kirjoitin pystyisi tulostamaan kameran välittämän kuvan välittömästi.

    Jini ei kuitenkaan ole tavoitteessaan ainoa teknologia. Microsoftin myöskin heinäkuussa 1998 julkistama Universal Plug and Play initiative [4] ja Nokian, Ericssonin ja muutaman muun alan yrityksen Blue Tooth pyrkivät kaikki laitteiden väliseen yhteistoimintaan. PC Week-lehdessä Ericssonin Teksasin yksikön teknologiajohtaja Skip Ryan arvioi tammikuussa 1999, että nämä kaikki teknologiat voivat olla toisiaan täydentäviä.[5].

  7. Jini-teknologia
  8. Jini-teknologia perustuu Java-kieleen, sen olio-malliin ja RMI (Remote Method Invocation) protokollaan välittää olioita Java virtuaalikoneiden välillä. Jinin Lookup-palvelu, discovery- ja join-protokollat käyttävät kaikki RMI-protokollaa. Näiden lisäksi Jini tarjoaa myös mekanismin laitteiden väliseen kommunikointiin dynaamisesti muuttuvassa verkkoympäristössä ja mahdollistaa täysin hajautetut järjestelmät. Verkkosovellukset toimivat Jini-arkkitehtuurin päällä.

     s

    Kuva 1, Jini perustuu Java-tekniikkaan [2]

    Jini-ympäristössä (verkossa) toimii Jinin Lookup-palvelu, joka rekisteröi ja ylläpitää tietoa ympäristöön kytketyistä laitteista ja palveluista. Kun laite kytketään Jini-ympäristöön se etsii Lookup-palvelun discovery-protokollaa käyttäen ja sen löydettyään lähettää Lookup-palvelulle rajapinnat kaikista palveluistaan join-protokollallaan.

    Palvelua käyttääkseen käyttäjä tai ohjelma etsii haluamansa palvelun Lookup-palvelun avulla. Palvelun rajapinta kopiotuu sen jälkeen kutsuvaan laitteeseen, josta rajapintaa sitten käytetään. Kun laitteet ovat kytkeytyneet Lookup-palvelu ei enään ole osallisena palvelun ja asiakkaan välisessä liikennöinnissä. Lookup-palvelu toimii siis puhelinvaihteen tapaan, joka kytkee osapuolet keskenään.

    Palvelu voi sijaita lähes missä tahansa ja olla lähes mikä tahansa, koska rajapinnat palvelujen käyttämiseen välitetään Lookup-palvelun avulla. Yhteensopivuus on taattu kaikkien Jini-laitteiden välillä. Keskitettyä ajuri tai rajapinta kirjastoa siis ei tarvita, koska laitteet löytävät "lennossa" toistensa rajapinnat, kun niitä tarvitaan. [3]

    Jotta Jini-ympäristö voisi joustavasti toimia ja muuttua, Jini määrittelee Leasing-käsitteen. Kun laite liittyy verkkoon se rekisteröidään Lookup-palveluun tietyksi määritellyksi ajaksi. Kun aika kuluu umpeen laite voi uudelleen neuvotella Leasing:in verkkoon, mutta jos laite suljetaan tai se poistuu verkosta ennen Leasing:in raukeamista, sen tiedot poistetaan Lookup-palvelusta. [2]

    Jini peruskoodi on kooltaan vain 48kb, joten se on riittävän pieni, jotta Jini-ympäristö voi myös muodostua hyvinkin yksinkertaisista laitteista. Kodin elektroniikan tai muutaman kännäkyn muodostama Jini-ympäristö voi olla täysin toimiva ilman välissä olevaa "oikeaa" tietokonetta.

     

  9. Avoin arkkitehtuuri
  10. Jotta Jini-teknologia voisi menestyä täytää sen saavuttaa laaja tuki itselleen. Kuten internet, myös Jini pyrkii perustumaan avoimiin protokolliin, joiden päälle sovellukset rakentuvat. Sun Community Source License (SCSL) on mekanismi, jonka kautta voidaan liittyä mukaan yhteisöön joka vastaa Jinin avoimesta jatkokehityksestä.

    Sun myy Jiniä suurille valmistajille kohtuuhintaan. Pienet saavat saavat sen ilmaiseksi ja maksavat Sunille jokaisesta myymästään Jini-laitteesta muutaman kymmenpennisen tai markan. [6]

    Jini System Software lähdekoodin voi hakea Sunin kotisivulta kahtena eri versiona: JiniTM Starter Kit:nä ja JavaSpacesTM Technology Kit:nä. Komponenttien hakeminen kuitenkin edellyttää rekisteröitymistä ja Sunin lisensointi ehtojen hyväksymistä.

    Jini Starter Kit sisältää kolme komponenttia. Jini Technology Core Platform (JCP) sisältää Jini-teknologian ydin komponentit, niiden specifikaatiot ja vastaavat rajapinnat ja luokat. Nämä luokat ovat Lookup, Discovery, Join, Distributed Events, Leasing ja Transactions. Jini Technology Extended Platform (JXP) sisältää laajennennuksia Jini-teknologiaan. Se sisältää spesifikaatiot ja vastaavat rajapinnat ja luokat Discovery- ja Entry-apuohjelmille. Se sisältää myös spesifikaation JavaSpaces:lle. Jini Software Kit (JSK) sisältää toteutuksen Lookup ja Transaction manager palveluille, jotka on määritelty Jini Technology Core Platform (JCP):ssa ja erilaisia apuluokkia, jotka ovat käteviä uusien ohjelmien ja palvelujen toteutuksessa. [1]

    JavaSpaces Technology Kit sisältää JavaSpaces Technology Kit 1.0 Eval (JSTK):n, jossa on toteutettu JavaSpaces palvelu, jonka Jini Technology Extended Platform (JXP) määrittelee. Tämä on kuitenkin saatavilla ainoastaan evaluaatio binäärinä. [1]

     

  11. Jini-tuotteita
  12. Ensimmäisenä Jini tuotteiden markkinoille ehtinee Quantum-yhtiö levyasemineen ja Bosch-Siemens Jini-astianpesukoneineen ennen vuosituhannen vaihdetta. Helmikuussa 1999 Sun Microsystemsin Euroopan pääinsinööri tohtori Hellmuth Broda arvioi laitteisiin tarvittavan Jini-palikan hinnaksi noin 50 markkaa [5].

    Laajemmin Jini-tuotteita voidaan odottaa muutaman vuoden kuluttua. Jini-maailman syntymisen perusedellytyksenä kuitenkin on sekä langottomien että langallisten tietoverkkojen kapasiteetin saaminen nykyistä selvästi halvempaan hintaan [5].

     

  13. Lähdeluettelo

[1] Anon, Jini System Software 1.0 Product Offerings, [viitattu 18.2.1999] <http://developer.java.sun.com/developer/products/jini/product.offerings.html>

[2] Anon, Jini Technology Fact Sheet, January 25, 1999, [viitattu 18.2.1999] <http://www.sun.com/jini/factsheet/>

[3] Anon, Jini Technology Executive Overview, Revision 1.0 January 1999, [viitattu 13.2.1999] <http://www.sun.com/jini/overview/#998999>

[4] Lisa M. Bowman, Jini aims to prove it can grant wishes, Jan 24, 1999 1:38 PM, [viitattu 13.2.1999] <http://www.zdnet.com/zdnn/stories/news/0,4586,2191828,00.html>

[5] Pekka Uotinen, Jini avaa helpon käytön kilpaa, Kauppalehti, 1999, Nro 26

[6] Raili Leino, Jini kytkee tiskikoneen tietoverkkoon, Tekniikka&Talous, 1999, Nro 6