Java meni dieetille
Arto Santala
Java meni dieetille

Nykypäivänä marketin leikkelehyllyä tutkaillessa tulee nopeasti selväksi, että kevytvaihtoehdot ovat muotia. Sama suuntaus on inspiroinut myös javaa: päivitys Java 6u10 on kooltaan viidenneksen siitä, mitä alkuperäinen java 6-virtuaalikone oli.
Javan päivitys sisältää muutakin kuin hoikistuneen paketin. Sen myötä java-virtuaalikoneen luonne muuttuu merkittävästi.
Vanha java oli tunnettu jähmeydestään. Jos web-sivulla oli käytössä sovelma, piti ensin ladata ja asentaa 12 megatavun kokoinen täysvirtuaalikone. Myöhemmin, kun sivulle palattiin, virtuaalikone piti erikseen käynnistää joka sovellukselle, jota ajettiin.
Sovellusten alku, käyttöönotto ja käynnistyminen saattoi olla hyvinkin tahmaista. Tämä ei palvelinympäristössä haitannut, mutta työasemissa ja kotikoneissa javaa ajettaessa on toiminta ollut selkeästi hitaampaa kuin esimerkiksi Adobe Flash -tekniikalla toteutettujen sivujen käyttö.
Uusi solakka ydin
Uusi Kernel java perustuu ytimeen, jonka koko on noin kaksi megatavua (entinen oli 8–12 megatavua) ja joka sisältää vain javan olennaisimmat piirteet. Kyseessä on uuden ajan modulaarinen java-ympäristö, joka kykenee tarvittaessa lataamaan uusia osia verkon yli.
Työasemille ja kotikonekäyttäjille tämä lupaa sitä, että java asennus soljuu verkon yli noin viisi kertaa nopeammin ja käynnistyy myös sukkelammin. Tämä asennus on valinnainen, eli esimerkiksi palvelinympäristöihin on edelleen järkevintä ladata suoraan täysversio.
Yhdessä nämä parannukset muuttavat radikaalisti java-sovellusten käyttöä työasemissa ja tekevät applet- ja web start -sovellusten teosta entistä houkuttelevamman vaihtoehdon.
Käynnistymisnopeus on teemana myös muissa muutoksissa. Uuden javan virtuaalikone voidaan esiladata jo käyttöjärjestelmän käynnistyessä, eikä enää ensimmäisen java-sovelluksen vastaan tullessa. Uusi Kernel-pohjainen java kykenee myös lataamaan päivitykset patch-tyyppisesti eli vain muutokset ladataan. Ja käyttöön on otettu uusi pack2000-pakkaustapa, jonka avulla verkon yli siirrettävät päivitykset, lisäkirjastot ja ohjelmat saadaan tiivistettyä entistä pienempään tilaan.
Mukana on toki edelleen jo jdk 1.4-versiossa ollut hotspot eli älykäs, optimoiva virtuaalikone, joka kykenee ajamaan vanhaakin java-koodia huimaavasti paremmilla nopeuksilla.
Sovelmien vastaisku
Muutakin uutta löytyy; java sai alkunsa selaimessa suoritettavista sovelmista (applet), mutta vuosien saatossa tekniikka on hävinnyt kiinnostavammille vaihtoehdoille, kuten Adobe Flash ja Flex, pitkälti johtuen Flashin vain muutaman megatavun kokoisesta virtuaaliympäristöstä. Java on ollut monin verroin hitaampi.
Sovelmat eivät ole kuitenkaan menneet minnekään, niitä on käytetty useissa rikkaissa web-käyttöliittymissä ja ne ovat edelleen vahvasti osa javaa. Java 6.0u10 päivittää sovelmien käyttämän java-laajennuksen nopeampaan ja toimintavarmempaan versioon, ja lisää uuden kikan: sovelma voidaan nyt raahata web-sivulta työpöydälle ja sulkea selain, jonka jälkeen sitä voidaan ajaa suoraan työpöytäsovelluksena ilman selainta.
Tämä on jälleen yksi helpotus sovellusten jakeluun, asennukseen ja päivitykseen. Jos sovelman yhteydessä käytetään web start -tekniikkaa, sen saa asennettua koneeseen pysyvästi.
Uusi niin kutsuttu drag&drop-sovelma edellyttää Firefoxin versiota 3, Internet Explorerin versiota 6 tai 7. Se otetaan käyttöön antamalla sovelmalle uusi lisäparametri draggable, jonka arvoksi asetetaan true. Oletuksena vanhat sovelmat eivät siis ole asennettavia.
Kun sovelma on tehty tällä tavoin asennettavaksi, sen voi raahata web-sivulta työpöydälle pitämällä alt-näppäintä pohjassa ja raahaamalla se hiirellä haluttuun paikkaan. Tämän jälkeen selaimen voi vaikka sulkea.
Kun uusi dieettijava yhdistetään muihin jdk 5.0:n ja 6.0:n muutoksiin, kuten web start -jakelutekniikka ja web services -kutsumahdollisuudet, voidaan rakentaa aivan uudenlaisia java-sovelluksia. Sovellusten levittäminen muuttuu helpommaksi, ja sovellukset voivat olla yhteyksissä palvelinratkaisujen kanssa internetin yli entistä helpommin.
Jdk 6.0 sisältää jo virtuaalikonetasolla täyden web service -tuen, ja sillä onnistuu tarvittaessa palveluiden kutsumisen ohella verkkopalveluidenkin tekeminen.
Java FX, Silverlight ja Air
Vuodesta 2008 muodostui rikkaiden internet-sovellusten lähtölaukaus. Adobe tarjoaa Flash, Flex ja Air- tekniikoitaan joiden paras etu on Adoben olemassa oleva graafisen käyttöliittymän ja sisällöntuotanto-ohjelmistojen kokonaisuus.
Microsoft on lanseerannut jo kakkosversion Silverlight-tekniikastaan, joka on käytössä esimerkiksi Hollywood-elokuvien esittelysivustoilla. Sen erikoisuutena on muun muassa vahva tuki teräväpiirron eri muodoille.
Koska kilpailu on kovaa, on javan pakko sopeutua myös tälle kentälle ja tuleva 6u10-päivitys on ensi askel tässä pelissä. Javan vahvuuksia on ollut alusta alkaen tuki hyvinkin erilaisille alustavaihtoehdoille. Uusi versio kohentaa keveyttä, nopeutta ja integroituu paremmin käyttöjärjestelmiin. Tulossa on myös muun muassa parannettu tuki äänelle ja teräväpiirtovideolle.
Vuoden 2009 aikana internet-sovellusten eri teknologiat tulevat vääntämään tiukasti kättä työasemien herruudesta, toivon mukaan markkinoilla riittää tilaa edelleen kaikille kolmelle.
Nimbus vääntää swingiä
Muita uudistuksia ovat swing-käyttöliittymän ulkoasupäivitys nimeltä Nimbus, sekä java deployment toolkit, joka auttaa itse virtuaalikoneen ensiasennuksen ja päivityksen kanssa. Vaikka päivityksen virallinen versionumero on pieni, luvassa on paljon kotikäyttäjille näkyviä muutoksia. Loppuvuodesta on työasemiin luvassa seuraava suuri päivitys, Java FX.
Java deployment toolkit on käytännössä javascript-kirjasto deployjava.js, joka voidaan ottaa web-sivulla käyttöön. Tämän jälkeen käytössä on valmiita javascript-funktioita, jotka voivat muun muassa tarkistaa onko käyttäjällä java asennettuna, ja jos on, mitä java-versioita löytyy. Uuden voi tarvittaessa asentaa yhdellä funktiokutsulla. Tässä esimerkki koodista joka asentaa uusimman javan:
deployJava.installLatestJRE();
Tarvittaessa voi myös valita javasta kernel-version nopeinta mahdollista asennusta varten:
deployJava.setInstallerType("kernel");
deployJava.installLatestJRE();
Vanhat versiot syövät levytilaa
Jos javan virtuaalikonetta on päivittänyt usein, kannattaa tarkistaa, mitä löytyy Program Files\Java kansiosta. Ennen 6u10-päivitystä virtuaalikoneesta latautui aina kokonainen uusi kopio, jolloin lukuisat eri versiot syövät nopeasti levytilaa. Yleensä vanhentuneet virtuaalikoneet voi poistaa ja jättää vain tuoreimman.
Alkaen Java 6u10-päivityksestä versioita ei enää synny, ellei pääversio päivity. Esimerkiksi tietoturvapäivitykset asennetaan patch-tyyppisesti, jolloin ne luonnollisesti ovat paljon nopeampia ja kevyempiä ladata.
Javan lähteillä
Työpöytäsovellukset:
http://java.sun.com/developer/technicalArticles/javase/6u10_Applets/
Uudet ominaisuudet:
http://java.sun.com/developer/technicalArticles/javase/java6u10/
Työkalupakki:
http://java.sun.com/javase/downloads/ea/6u10/deploymentToolkit.jsp








