JavaOne 2011 Executive Summary

JavaOne 2011  on takanapäin – ja Jet Lagista hiljalleen toipuvana kirjailen päällimmäiset vaikutelmat vielä muistiin. Tämä blogiartikkeli on tarkoitettu olemaan executive summary tyyppinen, jossa on tarkoitus ottaa askel taaksepäin ja katsoa vähän laajempia suuntaviivoja, välttää puhumasta liikaa rajapinnoista ja versioista. Joskus tarkastellessaan asioita liian läheltä voi hävitä kokonaiskuva.

Yleisvire oli positiivinen, hyvin positiivinen. Yhteisössä oli energiaa ja positiivisuutta, tuotejulkistukset ja tiekartat saivat aikaan yleisössä asiaankuuluvia ihastuksen huokauksia. Java versio 7 joka on ollut jo hetken aikaa käytössä, sai huomiota, ja monelle uudistukset olivat selkeästi vielä uusia, koska ne herättivät huomiota. Java versio 8 esiteltiin, ja samoin myös versiot 9, 10, 11, ja 12. Tulevaisuuttahan kukaan ei voi ennustaa mutta on mielekästä nähdä että on visio siitä mihin ollaan menossa, on strategia. Versiot 8 ja 9 ovat jo aika selvillä joten Java-alustan kehitystä pystyn ainakin itse hahmottamaan tällä hetkellä viiden vuoden päähän.

Seuraava Java Enterprise editio on versio 7, se julkaistaan jo ensi vuonna. Sen kovin uudistus on multi-tenancy, eli kyky kehittää ja ajaa Java-palvelinohjelmistoja standardoitujen rajapintojen päällä sekä yksityisissä että julkisissa pilvipalveluissa – ja siirtää niitä minimimuutoksin paikasta toiseen. Näin siis ainakin periaatteessa. Nykyisissä pilvipalveluissahan on suurena riskinä lukkiutuminen yhteen palveluntarjoajaan josta ei koskaan pääse eroon. Toinen riski on se, toimiiko esim. verkkoyhteydet ja palvelunlaatu vuokrapilvessä riittävän hyvin. Nyt on mahdollisuus todeta, että ellei toimi, niin siirretään takaisin omaan pilveen. Tai toiselle palveluntarjoajalle. Voidaan myös entistä paremmin testata ja kehittää softat omassa palvelimessa, ja pistää tuotantoon vuokrapilveen.

No eihän tuo versio 7 pelkkää pilveä ole, mutta suuren huomion tuo ominaisuus kuitenkin saa, ja strategiamielessä on tulevan version ydin-ominaisuuspäivitys. Omasta mielestäni tämä ratkoo pilvipalveluiden epäkohtia, eli mahdollistaa helpomman kehityksen, skaalautuvuuden, siirrettävyyden. Java EE 7 on ensimmäinen yritys standardoida PaaS pilvimalli.

Version 8 osalta mielenkiintoista on, että OpenJDK alustaa kehittää nykyisellään Oraclen, IBM:n ja Applen ohella myös esim. Twitter. Ja suuntana tulee olemaan modulaarisuus, eli jo ydin Java pyritään jakamaan pieniin osiin joista voi koostaa aina haluamansa ympäristön. Jollekin riittää pari moduulia. Toinen tarvii parikymmentä. Ja joku haluaa koota moduuleista palvelimen. Modulaarisuusprojekti on nimeltään Jigsaw, ja mahdollistaa myös omien ohjelmistopakettien modularisoinnin.

Modulaarisuus taas antaa joustovaraa konfiguraatioihin, ja tuo parempaa suorituskykyä kun ei tarvitse ladata ja käynnistellä kaikkea, vaan vain se mitä aina tarvitaan. Tulevaisuudessa modulaarisuus ulotetaan myös mobiilipuolelle, Micro Edition alueelle, ja ideana on ettei siellä ole enää jatkossa erillistä virtuaalikonetta ja editiota, vaan se on vain virtuaalikoneen konfiguraatio.

Suuntana tulee luonnollisesti olemaan myös rinnakkaisuus. Kun nykymaailmassa Mooren laki on lakannut toimimasta – prosessorien kellotaajuudet eivät enää kasva eksponentiaalisesti. Ne eivät itseasiassa välttämättä kasva enää ollenkaan. Prosessoriytimien määrä sensijaan kasvaa. Näin saadaan enemmän tehoa, kasvattamatta esim. lämmöntuotantoa ja sähkönkulutusta samassa määrässä. Kun kellotaajuudet eivät kasva, ohjelmat jotka eivät toimi rinnakkaisesti eivät hyödynnä uusia prosessoreita – ne saattavat jopa hidastua. Ohjelma joka on suunniteltu rinnakkaiseksi pystyy jakamaan tehtävänsä eri ytimille ja suorittamaan käytännössä samanaikaisesti useampia tehtäviä ja näin skaalautumaan tulevaisuudenkin prosessoreille. Tällä hetkellä ytimiä on pyötäkoneissa usein 2-4, ja mobiililaitteissakin jo usein 2. Tulevaisuudessa ytimien määrä nousee, 2, 4, 8, 16, 64? Skaalautuvuuden kannalta on ensiarvoisen tärkeää ohjelmoida rinnakkaisesti. Tähän kysyntään vastaa mm. ohjelmointikieli Scala, mutta myös Java 8 uudet piirteet kuten LambdaJ.

Suuntana tulee olemaan näyttävyys.  Oracle tipauttaa vanhan Swing rajapinnan pois kelkasta, ja tilalle tulee juuri julkaistu näyttävä ja suorituskykyinen JavaFX teknologia. Sitä on käytetty jo useissa projekteissa ja tullaan käyttämään tulevissa. Lupaus on siis entistä näyttävämpää entistä helpommin. Lisäksi JavaFX toimii HTML5 tekniikan kanssa yhteen ja on suunniteltu myös konvertoimaan itsensä puhtaaksi HTML5 koodiksi ajoympäristöissä joissa aitoa Java runtimea ei ole saatavana. HTML5 on muutenkin kaikkialla, se on selkeästi tulevaisuuden web-teknologiaa. JavaFX sensijaan on tulevaisuuden käyttöliittymäteknologiaa, joka toimii myös webissä. Molemmat kovia juttuja.

Siinä muutama vaikutelma tapahtumasta. Ollessani San Franciscossa tuli uutinen Steve Jobsin kuolemasta, ja uutinen näkyi konferenssissa vahvasti koska hän oli osa teknologikkojen ja kehittäjien heimoa. Se pisti myös itseni miettimään taas innovatiivisuuden ja suunnan näyttämisen ja rohkeuden arvoa ja arvokkuutta. Lähes jokainen haluaisi olla innovatiivinen – mutta se vaatii työtä (innovation through persiration) ja ennen muuta rohkeutta. Kosketusnäyttöpuhelimia oli kokeiltu ennenkin ja tuomittu toimimattomana – mutta ne puskettiin rohkeudella läpi. Musiikin ostaminen verkosta oli jo nähty – mutta iTunes vain pistettiin toimimaan siitä huolimatta. Tabletteja oli jo pitkään aiemminkin – mutta iPad räjäytti potin. Halu luoda uutta – ja rohkeus puskea visionsa läpi – ja sopiva ripaus aitoa hulluuttakin, siinä menestyksen reseptit.

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s