JavaOne 2010 – Jälkilöylyt

Tämän vuoden JavaOne on sitten päättynyt ja jetlag alkaa olla haihtunut. Kirjoitin reissusta päivittäistä matkaraporttia blogiini ensimmäistä kertaa, mutta ajattelin koota vielä koosteenomaisesti ajatuksia konferenssista.

Rahaa on liikkeellä taas piilaaksossa, suuria bileitä, rekrytointia, ihan nousukausien tapaan. Uskoa tulevaisuuteen löytyy, ja visioita.

Suurin pelko Java yhteisöllä oli varmaan etukäteen että Java menisi suljetumpaan suuntaan, eli tulisi Oracle Java, johon ei enää muilla ole asiaa. Näyttää siltä että epäilyt ovat perusteettomia, on roadmap Java SE 7:lle, ja siihen kuuluu JCP prosessin mukaiset vaiheet ja avoin lähdekoodi mukaan. Java EE 6:n käyttöönottoon, koulutukseen ja hiomiseen on pistetty ja pistetään rahaa, eli siinäkin on uskottava ja vakaa alusta. Tällä hetkellä sitä tukee ainoastaan Glassfish, mutta muiltakin servereiltä on jo julkistettu aikataulut tuelle, ja osittaista tukea on jo olemassa.

Siitä puheenollen, Netbeansistä ja Glassfishistä julkistettiin roadmapit, jotka sisältävät useampia päivityksiä ensi vuodelle. Näyttäisi siis siltä että avoimenkin lähdekoodin ratkaisut kukoistavat tulevaisuudessa. Konferenssidemoista suurin osa näytettiin Netbeans editorilla, ja osa Eclipsellä.

IBM loisti poissaolollaan ja nähtäväksi jää miten IBM tulee suhtautumaan Java tilanteeseen. Poikkeuksellisen matalan profiilin vuoksi luulen että siellä kypsytellään jotain rajumpaa strategiaa. Mutta puhdasta spekulaatiotahan tämä on..

Google-Oracle lakijupakasta ei ollut oikeastaan mitään viittauksia, ja Google ei juurikaan paikalla näkynyt, kuten ei myöskään Android esityksiä. Googlen edustajia oli kyllä Mason kadun networking-teltassa vetämässä leegonrakennus-showta, mutta muuten tässä oli iso aukko tarjonnassa. Toivottavasti tästä jupakasta syntyy jotain hyvääkin, aikanaan.

JavaFX:stä kirjoittelin jo oman erityisaiheen joten eipä siitä sen enempää. Paitsi että uskon tähän teknologiaan kovasti muutoksen jäljiltä. Se ei pakota kehittäjiä oppimaan uusia kieliä, tarjoaa helpon lähestymisen myös web kehittäjille joilla HTML ja CSS on hallussa, ja sulautuu tarvittaessa saumattomasti Swingin kanssa. Miksi tarvitaan jotain Swingiä näyttävämpää? Kaksi sanaa. Kosketusnäytöt. Tulevaisuus.

Kun vuoden alussa Java EE 6 julkaistiin, pidin sitä itse pikkupäivityksenä, osittain koska muutokset vaikuttivat olevan kosmeettisia ja useimmat versiopäivitykset pieniä. Nyt vasta seminaarissa aloin tajuamaan miten muutokset kumulativisoituvat – otetaan helpotettu paketointi, web profiililla varustettu palvelin, ejb 3.1 lite, jpa 2.0, ja jsf 2.0 ja cdi sitomaan kaikki nämä yhteen, ja saadaan äärimmäisen ketterä ja yksinkertainen kehitysmalli mikä on vielä lisäksi yksikkötestattavissa äärimmäisen helposti. Lisätään pakettiin vielä bean validations api, ja meillä on kyky validoida standardinmukaisesti, missä vain on tarpeen. Esim. syötettä kerättäessä, kantaan vietäessä, päivityksiä tehtäessä, jne. Lisätään vielä JAX-RS restful web services, ja meillä on yksinkertainen ja tehokas tapa tuottaa sähköisiä palveluita – joita voi kuluttaa esim. IPad:stä, kännykästä, tai vaikkapa toisesta serveristä käsin, kuten konferenssissa demonstroitiin. Java EE 6 saa siis minulta henkilökohtaisen hyväksyntäleiman.

Mobile.next alusta? Siihen en usko. Tai tarkemmin sanoen, siinä ei ole minusta mielenkiintoa. Vaikkei tätä sanottu suoraan, väittäisin että mobile.next hakee markkina-aluetta android ja iphone alustojen ulkopuolelta, eli nöyremmistä puhelimista. Joita on toki merkittävä määrä. Mutta tällä hetkellä kiinnostavampaa on miten Android ja iPhone puskevat rautaa ja resursseja eteenpäin, ja tukevat innovaatiota. En usko että Mobile.next tulee olemaan merkittävä juttu, mutta olisi ihanaa olla väärässä – onhan maailmassa muutama sata miljoonaa midp yhteensopivaa puhelinta joiden asiakkaat voisivat olla palveluiden kuluttajia.

Uudet kielet kuten Scala ja Clojure herättivät mielenkiintoa. Javan tappajia etsiville kuitenkin voi olla pettymys että Scala käännettynä on sitä samaa tuttua Java bytecodea, ja ajetaan Java virtuaalikoneessa. Itseäni Scala kiinnostaa kovasti, ja Lift on sen päälle rakentuva web framework, molemmissa on kovasti potentiaalia. Osaamispolkuna on vain Java-kehittäjän vaikeampi siirtyä siihen. On helpompaa siirtyä jos koodaa jo valmiiksi useilla eri kielillä. Mutta jokatapauksessa, mitään uutta Javaa tai Javan tappajaa ei ole näköpiirissä. Java on edelleen tehokkain tapa toteuttaa sovelluksia, oli kyseessä sitten raskas klusteroituva palvelinsovellus sadoilletuhansille käyttäjille… Tai nerokas sovellus mobiilialustalle sallimaan potilaiden tietojen etävalvontaa lääkärien toimesta – alueilla missä lääkärin fyysinen läsnäolo ei ole aina mahdollista suurien potilasmäärien osalta.

Eli tässä on vielä vuosi 2010 aikaa opiskella – ja vuonna 2011 lähtee sitten isompi vaihde päälle ja aletaan soveltamaan! 😉

Tähän vielä lopuksi viitteinä muiden bloggaajien ajatuksia:

http://blog.eisele.net/2010/09/reviewing-javaone-oracle-openworld-and.html

http://maudrit.com/?p=313

http://www.jroller.com/peter_pilgrim/entry/javaone_2010_part_5_is

http://netbeans.org/community/articles/javaone/2010/index.html

Ja pari esitystä:

http://ondemandpreview.vportal.net/?auid=136

http://ondemandpreview.vportal.net/?auid=118

Mainokset

JavaFX on kuollut – eläköön JavaFX!!

Tämä oli JavaOne seminaarin suurin uutispommi joten ajattelin kirjoitella vähän analyysiä ja mietelmiä JavaFX 2.0 versiosta.

Käytännössä Oracle julkisti JavaFX 2.0 roadmapin, jossa JavaFX Script kääntäjää ei enää päivitetä vaan julkaistaan Javalle (ja muille virtuaalikonekielille, kuten Scalalle) rajapinnat joilla JavaFX piirteitä voi hyödyntää. Tämä oli kiintoisa pommi koska käytännössä se tarkoittaa että JavaFX 1 scriptikielellä tehdyt sovellukset ovat käytännössä kuolleita – tulevat toimimaan vielä mutta uusia ei kannata tehdä. JavaFX 2 alustaa taas ei ole edes testikäytössä vielä kuukausiin, ja aitoon projektiin sitä voi käyttää aikaisintaan ensi vuonna, jos aikataulut pitävät. Eli JavaFX kehittäjillä on tässä kohtaa limbomainen tila, vanhaa ei kannata tehdä, uutta ei voi tehdä – vielä.

Toki jos JavaFX kiinnostaa tämän väliajan voi käyttää loistavasti treenaillen vielä JavaFX scriptikielellä asioita – koska samat rakenteet tulevat säilymään jatkossakin, esim. scene graph, valmiskontrollit, jne. Kun ymmärtää alustan toiminnan on se helppo aikanaan ottaa Java-kielen kautta täysin käyttöön. Lisäksi nyt tehdyt javafx scriptiratkaisut toki tulevat toimimaan jatkossakin – käännettyä bytecodea kun lopulta ovat.

Selitetäänpä hieman taustoja. JavaFX 1 kehitti uuden scriptikielen joka oli suunniteltu vain käyttöliittymäkehitykseen. Sen etuna Swingiin oli yksinkertaisuus ja lisäominaisuudet kuten binding, jolla voi helposti sitoa arvoja muuttujiin ja funktioihin. Koodia tarvittiin hyvään käyttöliittymään murto-osa Swing koodin määrästä. Lisäksi alustaan rakennettiin mm. kovan suorituskyvyn videokirjastoja ja suorituskykyä, 3d-kiihdytystä, sisäänrakennettua tukea eli ääni, video, kuva ja muille mediaformaateille.

JavaFX 2.0 perustuu puhtaasti käännetylle koodille. Mielestäni päätös on rohkea mutta vaikea, se tarkoittaa tätä vuoden siirtymäkautta. Mutta kun kielenä on Java, saavutetaan muutamia etuja:

– Ei tarvita erikoisia koodieditoreita, vaan tutut vanhat riittävät
– Ei tarvitse opiskella uusia kieliä samanaikaisesti Javan kanssa, Java riittää
– Javan ohella myös Scala ja muut JRE kielet ovat mahdollisia (ja demonstroituja jo)
– Yhteesopivuus on saumatonta Swingin kanssa – Swing sovellus pääsee suoraan käsiksi kaikkiin JavaFX piirteisiin ja komponentteihin, ja voi käytää haluamaansa. Esim. CSS tukea tai HTML5 tukea tai vaikkapa Charts kaavioita. Näin voi helpommin valita miten paljon JavaFX:ää haluaa sensijaan että täytyy heti tehdä täysi siirtymä. Jotkut kutsuvat tätä Swing 2.0:ksi.

Eli hyötyjä on useita. Ehkä pienenä haittana on että Java kielenä on hieman vanhanaikainen ja kankea, eikä erityisesti tähän suunniteltu. Lohtuna uskon että Java 7 piirteet (goodbye to get/set, jne) + JavaFX:stä portattavat piirteet (binding) tekevät kielestä paremman.

Miksi touhotan JavaFX:stä? Eikö se ole vain epäonnistunut tekniikka muiden joukossa? Itse uskon edelleen alustaan kovasti. Se on alusta nykypäivään ja tulevaisuuteen. Swing on ollut hyvä kirjasto hiirellä käytettäviin pc käyttöliittymiin kun halutaan harmaita lomakepohjaisia business sovelluksia. Nykyäivänä kuitenkin laitteet monipuolistuvat – iPad, iPhone, iPod, Android puhelimet, erilaiset muut sulautetut ympäristöt.. kosketusnäytöt, kiihtyvyysanturit, jne antavat mahdollisuuden olla yhteydessä laitteeseen tavalla mihin näppäimistö ja hiiri eivät pysty. Lisäksi malli antaa hyvän tuen Developer-Designer workflow:lle jossa kehittäjä keskittyy toiminnallisuuteen ja ui-suunnittelija ulkoasuun.

Toki alusta antaa mahtavia piirteitä koko Java alustan käyttöön kuten:

– kiihdytetyt videot ja multimediatiedostotuki – demossa pyöriteltiin 160 videovirtaa yhdenaikaisesti pallopinnalla – ja demokone oli normi pelikonetason kotikone. Tyypillisessä kannettavassa kuulemma pyörii 60-70 kevyestikin. Tämä onnistuu uskomattomalla pinnanalaisella kikkailulla josta kehittäjän ei tarvitse välittää. Tämä suorituskyky pesee mennen tullen esim. HTML 5 kyvykkyyden tai muutkin selaimissa tapahtuvat jipot.

– Valmiit komponentit kuten Charts ja Controls, ei mitään suuria yllätyksiä täällä mutta Swingin tapaan paljon valmista tavaraa on – ne pitää nyt vain portata JavaFX 2.0 alustalle, ja roadmap näyttäisi että tämä tapahtuu ensi vuoden Q3:en mennessä jolloin JavaFX 2.0 General Availability release ilmestyy.

– Alustaan lisätään entistä parempi tuki HTML ja HTML 5 tekniikoille, ja lupaus on 100% tuesta standardinmukaiselle CSS3-tyylisivukielelle. Näitä käyttäen on naurettavan helppoa koristella käyttöliittymää ilman että täytyy tietää Javasta juurikaan mitään. Web kehittäjät voivat käyttää olemassaolevaa osaamistaan. Yksi tarkoitus JavaFX:ssä onkin houkutella uusia kehittäjiä joilla ei ole ennestään Java-taustaa – esim. php koodaajia, web designereita, tms.

Tulossa on pidemmällä aikavälillä myös malli jossa Javalla koodattu JavaFX koodi muuntuu tarvittaessa HTML 5 + JavaScript + CSS yhdistelmäksi – mahdollisesti vähän Google Web Toolkit/Vaadin tapaan. Tämä on suunnattu niille laitteille joihin Javaa ei saa eikä tule saamaan. Tästä on vielä aikaista puhua koska se on täysin uusi piirre ja roadmapilläkin vielä kaukana, mutta kiinnostava konsepti tämäkin..

JavaOne 2010 – torstai

Viimeistä viedään

Noniin, tänään on sitten seminaarin viimeinen päivä. Eilen oli koko viikon virallinen juhlatilaisuus, Oracle Appreciation Event, paikkana San Franciscon Treasure Island. Show oli jenkkiläiseen tapaan ison rahan show ja hulppea, ja jonkun verran mielenlujuutta vaadittiin että sieltä pystyi ihmisten aikoihin palaamaan hotellihuoneeseen odottamaan seuraavaa 6:30 herätystä.

Torstai oli seminaarin viimeinen päivä, mutta vielä täyttä tavaraa noin neljän pintaan asti.

Tarpeeksi pilvessä?

Aika jännä juttu muuten tämä pilvi – cloud. Tuntuu että se on tyypillinen hype – jokainen joka siitä puhuu sisällyttää siihen erilaisia tarkoituksia. Itse ajattelen pilvipalvelun kohdalla mallia jossa asiakas ei tiedä mistä lopulta palvelua saa, mutta malliin kuuluu tietysti redundanttiutta, vikasietoisuutta, skaalautuvuutta. Tyyliin Seti @ Home, nykyisellään BOINC. Siinähän ratkaistavat ongelmat, olivat ne sitten ulkoavaruuden olioiden piilopaikkoja, tai ratkaisuja syöpään ja maailman nälänhätään, läheteään miljoonille pienille työasemille jotka ehtiessään suorittavat pienenpieniä palasia ja lähettävät niitä takaisin. Jos joku kone ei pystykään ratkaisuun, tehtävä lähetetään toiselle joka pystyy. Tässä mallissa siis asiakas – palvelin malli kääntyy aivan päälaelleen. Pienissä asiakaskoneissa ajetaan ongelmanratkaisut hajautetusti -ja jos koneita kaatuu tai vaikka verkkosegmentti menetetään, se vain hidastaa menoa, ei aiheuta virhettä. Ainoa haavoittuva piste on piste jossa tehtävät paloitellaan ja syötetään pilveen. Ja tämähän on jo vanha idea.

Kuitenkin isojen pelaajien pilvet tuntuvat olevan aina tuoteratkaisuja joissa on ISO palvelin keskellä, josta voi vuokrata viipaleen. Tai ääritapauksessa cloud-in-a-box eli osta oma pilvi omaan palvelinhuoneeseen. Toki sieltäkin irtoaa skaalautuvuutta ja redundanttiutta, mutta ei tuo omasta mielestäni ole kuin ASPausta tai hostausta uudessa paketissa. Keisarin uudet vaatteet? Toisin sanoen tuntuu siltä että puolet pelaajista puhuu pilvestä ja tarkoittaa vanhaa kunnon hostausta tai aspausta tai jopa virtualisointia.

Vaikka itseä hieman tuo pilvihype huvittaa, on totta että oli muoto mikä vaan, sopivia ratkaisujahan sieltä löytyy – tiettyihin ongelmiin – mutta ei varmasti kaikkeen. Kuten hype konsanaan tätä touhutaan nyt kovasti ja liikaakin, ja muutaman vuoden päästä tämä on yksi väline muiden joukossa. Mutta aito pilvi odottaa vielä suurta tulemistaan.

Joka tapauksessa, aamun keynote oli melko neutraali, ehkä parhaiten jäi mieleen Ray Kurzweilin inspiroiva visiointi tulevaisuudesta, johon uskon (enemmän kuin pilvipalvelin-konseptiin) – periaatteessa kyseessä oli vain teoretisointia Mooren lain tiimoilta, mutta myös vakuuttavaa statistiikkaa ja visiointia tulevaisuudesta. Joka tapauksessa hyvin kiinnostava ja inspiroiva esitys.

Lisäksi JavaFX teknologiaa demoiltiin toimivilla sovelluksilla, kuten vuoden 2010 talviolympialaiset ja Major League Baseball. Ja lopuksi esitys siitä miten Egyptissä käytetään mobiilia java-teknologiaa lääketieteen tarkoituksiin.

Ahdin mahdollisimman paljon sessioita päivääni ja tuntui että melkeinpä parhaat sessiot osuivat juuri tälle viimeiselle päivälle. Kevyt labra jossa vielä varmistin miten Java EE 6 osat sopivat yhteen. Ja kauniiltahan tuo näyttää. Pitänee tehdä tästä aiheesta pikimmiten uusi hyvä kurssi http://www.tieturi.fi/java alle. Toinen esitys oli Spring 3 – pitkälti jo itselle tuttua tavaraa mutta samalla lailla kaunista, yksinkertaista, toimivaa, ja esityksessä oli hyviä näkökulmia ja vinkkejä mm. testausvälineistä. Molemmat kehitysmallit näyttäisivät sisältävän tulevaisuuspotentiaalia vuodella 2011 melkoisesti,toki siten että Spring rakentuu EE 6:sen päälle.

Osallistuin myös JavaFX 2.0 luentoon jossa kuulin roadmapin tekniikasta. Tämä on sen verran iso aihe että taidan pajauttaa tästä ihan oman blogin pelkästään, koska tämä oli suurin yllätys tälle konferenssille ja paljon harhatietoa on liikkeellä.

Homma alkaa olemaan paketissa konferenssin osalta. Vielä viimeinen kävelyretki Kalifornian auringossa (se palasi takaisin, aurinko kurkistaa sittenkin pilven takaa… sanaleikki sallittakoon 😉 – ja pakkaus, ja sitten aamuneljän herätys jotta ehtii koneeseen ja jetlagia potemaan.

Odotettavissa jahka saan pääni selvemmäksi ja vähän sulateltua: Tarkka-analyysi JavaFX 2.0 tekniikasta, ja tiiviimpi yhteenveto konferenssista.Sitä odotellessa…

JavaOne 2010 – Keskiviikko #javaone10 #javaone

Ja uusi päivä San Franciscossa – aurinkoakin pilkottaa vähäsen. Eilinen ilta huipentui JBOSS ja Java Posse tilaisuuksiin, joita molempia kävin hiukan ihmettelemässä. Java Posse esitti aika hulvattoman aikakonetarinan joka alkoi ajasta viisi vuotta sitten, ja päättyi viiden vuoden päähän sisältäen ennusteita. Jahka presidentti Jobs pääsee valtaan ja San Franciscon väki siirretään Java One 2015 tieltä pois, paljon ehtii tapahtua. Kaiken vakavan asian vastapainoksi puolen tunnin livenä nauhoitettu podcast oli hauska ja rentouttava.

Keskiviikko oli seminaarin keskimmäinen päivä, ja sellaisena tuhtia asiaa täynnä. Aamu alkoi Oracle Develop Keynotella, jonka jälkeen paneuduin itse tutkimaan SUN SPOT laitteita (jollainen omasta kaapistakin löytyy), rinnakkaisuutta ja säikeitä, transaktioita, ja Java Persistence Apia.

SUN SPOT on siirtynyt käyttämään uutta REST pohjaista liittymää joka sallii mm. kommunikaation palomuurien läpi ja rekisteröitymismahdollisuuden takaisinkutsuille. SUN SPOT on siis pieni sulautettu sensoripaketti, joka pystyy havainnoimaan ympristöään ja lähettämään langattomasti tietoa takaisin. Sen avulla voi myös vaikuttaa ympäristöön, esim. aktivoimalla valoja. Näitä käytetään nykyisellään ympäri maailman mitä erikoisimpiin tehtäviin, osittain koska ovat kovin halpoja ja vähävirtaisia.

Toinen ehdottoman mielenkiintoinen esitys koski java concurrency kirjastoa, joka sisältää tukea rinnakkaisprosessoinnille, säikeille, ja turvallisille tietorakenteille. Sisältäen myös lukkoja, semaforeja, atomisia muuttujia, sekä rakenteita kuten barrier ja countdownlatch. Esityksessä havainnollistettiin hienosti miten säikeet toimivat ja kuulin myös eroista java 5 ja 6 toteutusten välillä, ja sudenkuopista – karmivaa kyllä niitä on!

Oraclen Keynote osiossa puhuttiin ADF strategiasta, komponentisoinnista, ja siitä miten Oracle välineillä tehden ei tarvitse joka vuosi oppia uusia trendejä ja tekniikoita, kuten AJAX ja HTML5 ja JavaServer Faces 2.0 – vaan abstraktiotasoa nostamalla kehittäjät käyttävät komponentteja ja automatiikkaa, ja kehys huolehtii yksityiskohdista. Tuottavampi sovelluskehityshän on ikuinen haave, ja Oraclen JDeveloper suuntaa hyvin tiukasti tähän sektoriin.

Päivän päätteeksi luvassa vielä myyttejä transaktioista sekä JPA kehityssuunta kohden 3.0:aa. Tänään esitykset loppuvat aikaisemmin koska luvassa on perinteiseen tapaan bileet, tällä kertaa Oracle Appreciation Event kattaa kaikkien kolmen tapahtuman osallistujat eli vaarana on että n. 40000 ihmistä vaeltaa piakkoin Treasure Islandille missä esiintyy Don Henley, Berlin ja tietysti Black-Eyed Peas.

Java One / Oracle Develop – Tiistai #javaone10 #javaone

Ja uusi päivä pyörähti käyntiin. Edellinen ilta huipentui Oracle Technology Network tilaisuuteen jossa oli tarjolla musiikkia, evästä ja verkostoitumista. Kello oli herättämässä puoli seitsemältä, eli 17:30 suomen aikaa, ja kahdeksalta ensimmäinen luento parc55:ssa.

Tiistain ensimmäinen luento käsitteli JAX-RS restful web serviceiden käyttöä identiteettipalveluiden kehittämiseen. Esimerkkinä oli openpdk, joka vaikutti mielenkiintoiselta ja jopa itselle käyttökelpoiselta.

Osallistuin myös java ee 6 uudet piirteet luentoon, joka käsitteli lähinnä best practises tapaan miten ne sopivat yhteen. Alan oivaltamaan miten monta näennäisen pientä muutosta voi kasautua ja muuttaa isosti tapaa ja tuottavuutta sen suhteen miten palvelinsoftaa koodataan. Kaikki osat ovat olleet olemassa jo pitkään, mutta nyt ne vain kasautuvat miellyttävästi. Erityisen mielenkiintoista on web profile, ejb lite, uudet managed beanit, ja cdi. Nerokkaan yksinkertaista!

Mieleen juolahti vielä yksi asia: Kuolema Patterneille! Tämä muuttaa EE alustaa niin rajusti että hyvin harva J2EE design pattern on enää kurantti – jos yksikään. GoF patternit ovat tietysti edelleen kovaa kamaa, jopa enemmän nykyisin.

Kuuntelin myös esityksen Lift frameworkistä. Kehys on jo ennestäänkin kiinnostanut Scala pohjaisena ei-mvc web kehyksenä jossa tuottavuus on äärimmäistä. Usko lisääntyi taas kehykseen enemmän, ja päätin tähän paneutua vielä loppuvuoden aikana syvemmin. Scala on kaunis kieli, ja vähentää taas Javaan nähden turhaa ns boilerplate koodausta. Lift framework perustuu suoraan tagien ja Scalan yhdistelmään, jolloin perinteistä controlleria ei tarvita eikä käytetä.

Nyt kun jetlagista alkaa selviämään, on aikaa jopa havaita muutoksia aiempaan nähden. Alumni status ei merkitse enää käytännössä mitään, sillä sai vain kivan nauhan passiinsa. Aiemmin on sillä saanut prioriteetteja esityksissä, paremmat paikat, jne. Mitään show devicea ei ole. IBM, Apple ja Google jotakuinkin loistavat poissaolollaan. HP, Intel ja Oracle vetävät tätä showta.  Mielenkiintoista sinällään, näytää että noin puolella osallistujista on Applen ipadejä tai kannettavia käytössään, loput jakautuvat windowsin ja linuxin kesken. Jokatapauksessa uskomaton määrä apple laitteistoa liikenteessä.

Mielenkiintoista on tosiaan myös että edelleen puhutaan Java EE 6.sta vaikka se on jo vanha julkaistu juttu, versioon 7 ei edes viitata. Java 7 tosiaan ilmestynee rajusti karsittuna rajusti myöhässä, eli ensi vuonna vain muutaman uuden piirteen kera. Olkoonkin että piirteet ovat merkittäviä. Tämä ei sovelluskehittäjän vinkkelistä ole kuitenkaan välttämättä huono asia – onpa hetken verran aikaa tehdä nykyvarusteilla töitä. Lisäksi JavaFX scriptikielen kuolema on aika raju veto – joskin JavaFX alustana saa jopa lisää nostetta mutta sitä tullaan koodaamaan ihan Javalla. Ja Scalalla. Aika raju käännös siis. Ja varustepuolella Netbeans ja Glassfish tuntuvat voivan entistä paremmin. Ja mobiilialustan puolella pistetään tuulemaan, Mobile.Next on nyt seuraava kova sana – tiivistettynä smartphone tason käyttöliittymiä halvemmissakin puhelimissa tutulla ohjelmointimallilla.

No niin, eiköhän tähän ole taas hyvä katkaista, ja lisää sitten huomenissa.

JavaOne / Oracle Develop – Maanantai

No niin, nyt on sitten vähän statistiikkaakin selvillä: Osallistujia JavaOne, Oracle Develop, ja Oracle World seminaareilla on n. 42 000 – ei siis vallan pieni määrä. Suomesta vaikuttaisi olevan 50-100 ihmistä tuossa joukossa. Viime JavaOne seminaarissa oli kuuntelemassa 17 000 henkeä, eli tämä on tähän asti suurin yhteisseminaari – tosin osallistujat seuraavat toki pääosin oman aihealueensa ratoja – mutta avaahan tämä uusia mahdollisuuksia luoda uusia yhteyksiä.

Luin tuossa juuri vähän statistiikkaa.

– 3 miljardia puhelinta sisältää Java-tuen ja Java-sovelluksia – 3 miljardia on muuten aika paljon. Jos olisi niin monta penniä, se näyttäisi suunnilleen tältä, kolme kertaa: http://www.kokogiak.com/megapenny/nine.asp
– 5 miljardia älykorttia ajaa javaa
– 80 miljoonaa TV laitetta ajaa Javaa
– Java kehittäjiä on n. 9 miljoonaa – ja Java on edelleen kehittäjien ykköskieli ja halutuin osaamisprofiili ohjelmistoprojekteihin.

Kiertelin hieman näytteillepanijoiden kojuja, tarjolla on monenmoista ratkaisua Java järjestelmien tehokkaaseen kehitykseen ja skaalautuvuuden parantamiseen. Terracotta esitteli jo tutun ehcache tuotteensa ohella uutta BigMemory ratkaisua, ja jakeli osallistujien lätkiin tarraa jossa sanotaan ehdoton ei Java roskankeruulle. Mielenkiintoista oli myös nähdä suomalainen Java kehys Vaadin isolla kojullaan esillä. Kolmas mieleenpainuva ratkaisu oli xxx, joka mahdollisti sovelluksen käytön nauhoituksen ja virhetilanteissa tallenteiden ajamisen uudestaan. Käytänössä sovellusympäristö antaa mahdollisuuden toistaa testauksen aikana ilmenneet virheet automaattisesti jotta ne saadaan korjatuksi, ja näyttää dataa eri kulmista.

Suuri yllätys ei ole että selkeästi Java 7 kiinnostaa: Alkuperäisen aikataulun sijasta projekti tullaan julkaisemaan plan b kaavan mukaan, eli JDK 7 tulee ensi vuoden puolenvälin paikkeilla, ja JDK 8 tulee sisältämään suuren osan päivityksiä jotka alunperin oli suunnattu JDK 7:aan – suurena yllätyksenä JigSaw eli Java modulaarisuus on suunnattu versioon 8. Versio 7 tulee saamaan suuren osan Project Coin (Small changes) piirteistä jotka kumulativisoituvat ja tekevät taas koodauksesta kovin paljon helpompaa ja varmempaa samaan tapaan kuin Java 5 aikanaan.

Keynote oli tällä kertaa jotakuinkin päivän päätteeksi, ja mielenkiintoisia uutisia tuli paukkuen. JavaFX scriptikieli on käytännössä nitistetty – sen tulee siis korvaamaan silkka Java, uusilla parannuksilla höystettynä. Tämä on oikeastaan hyvä uutinen – JavaFX teknologia-alusta on rautainen, mutta tarve oppia uusi kieli vain käyttöliittymiä varten vähän hankala. Sääliksi käy kaikkia JavaFX kirjoja kuitekin 😉

JavaFX 2.0 on siis tulossa ja päämuutos on Java rajapinta. Siihen tulee myös lisää tukea rautaratkaisuille, taas demoiltiin sataakuntaa videota pyörimässä pallopinnalla, ja palloa pompoteltiin ympäriinsä. Näyttäisi että raakaa tehoa ja ilmaisuvoimaa piisaa, mutta aika näyttää tuleeko tekniikka yleistymään käyttöliitymissä. Mielenkiintoista oli kuulla miten JavaFX tulee nivoutumaan yhteen HTML 5 + JavaScriptin kera, eli pyrkii olemaan ykkösvalinta käyttöliittymiin sekä webissä että mobiilipuolella.

Muutakin kiinnostavaa tuli vastaan. Tietokonepelien muuttuminen isommaksi bisnekseksi on ollut pitkään puheenaiheena – ja keynotessa esiintyi tällä kertaa edustaja Biowarelta, joka kertoi miten heidän uudessa Star Wars pelissään käytetään Javaa – ja raskaamman kautta. Javaa käytetään mm. Glassfish klusterissa joka hoitaa autentikointipalvelut muutamalle sadalletuhannelle yhtäaikaiselle pelaajalle.

Rivien välistä oli kiinnostavaa havaita että keynotessa puhuttiin ja demottiin Netbeans ja Eclipse editoreita, mutta mitään ei vilahtanut Fusion tai JDeveloper-puolelta. Alunperin visiona oli että Netbeansistä tulee paras väline Java kehitykseen, ja JDeveloperista paras väline Oracle alustaratkaisujen tekemiseen. Mielenkiintoista kyllä näyttäisi pitävän kutinsa – Netbeansistä luvattiin parikin isompaa versiota ensi vuoden aikana, ja JavaFX alustakehitykseen se on pääväline.

Pitkä päivä on lopuillaan, ja huomenna lisää…

p.s. vaikka en Oracle Worldiin olekaan täällä osallistumassa niin Oracle julkisti eilen ihan uuden tuotteen, liittyen pilvipalveluihin. Tuotteen nimi on Exalogic Elastic Cloud, ja se edustaa ns ’private cloud’ typpistä ratkaisua. Paketissa on 30 serveriä, 360 prosessoriydintä, ja pystyy käsittelemään n. miljoona http pyyntöä sekunnissa. Ellisonin mukaan kaksi tällaista pystyy käsittelemään facebookin serverikuormituksen.

Java One / Oracle Develop – Sunnuntai

Mielenkiintoista kyllä Java One seminaari alkaa tällä kertaa jo sunnuntaista, joskin tahti kiihtyy tappavaksi vasta maanantaista torstaihin. Kun samanaikaisesti on käynnissä Java One, Oracle Develop, ja Oracle World, on koko San Francisco käytännössä sekaisin – tai ainakin Union Square.

Oracle World on valloittanut enimmäkseen Moscone Center konferenssikeskuksen, eli Java One ja Oracle Develop esitykset jakautuvat hotelleihin lähialueella. Virallisia osallistujatietoja ei ole vielä selvillä, mutta vaikuttaisi että Java One osallistujamäärät eivät olisi ainakaan vähenemään päin – tyypillinen määrä viime vuosina oli 10000 – 15000 Java asioista kiinnostunutta, aika vilskeeltä näyttäisi tänäkin vuonna. Hotellien käytön lisäksi Mason Street on katkaistu ja varustettu isolla korttelin pituisella teltalla.

Kun konferenssit ovat syysaikaan ei San Franciscokaan ole tavanomaisen aurinkoinen, vaan lämpötilat ovat 18 asteen hujakoilla, pilvistä kosteaa ja kalsaa on luvassa. Esitysten hajauttaminen eri paikkoihin on pieni logistinen haaste, kun tiivistahtisessa aikataulussa yrittää päästä aina varaamaansa esitykseen kuuntelemaan, saa etukäteen suunnitella reitit hotellien välillä aika tarkkaan. Osa esityksistä on vielä Moscone Centerissä – sinne matkaa kertyykin jo hiukan enempi.

Tämän vuoden esityksissä varmaan suurella mielenkiinnolla odotetaan uusia julkistuksia, painotuksia, ja suuntauksia. Esim. Java EE Roadmap kiinnostaa, samoin JavaFX rooli tulevaisuudessa, uudet EE 6 piirteet ja mitä on tulossa Java SE 7 ja EE 7 versioihin ja millä aikataululla. Lisäksi kiinnostaa mm. Netbeans ja Glassfish tulevaisuus – ehkä merkillepantavaa että niistä ei juurikaan luentoja ole. Sensijaan Oracle Fusion, Application Express, ja Eclipse Enterprise Tools paketteja piisaa. Sattuneesta syystä Google loistaa poissaolollaan, ja aika matalalla profiililla ovat myös IBM ja RedHat (JBOSS). Kun katsoo mitkä esitykset ovat jo täyttyneet, ihmisiä näyttäisi kiinnostavan yli kaiken muun Java EE 6 käyttö, edistyneet Web Servicet tietoturvan ja transaktioiden ja SOA:n kera, ja kaikki Javan suorituskykyyn ja optimointiin liittyvä. Yllättäen myös JavaFX luentoja on buukattu aikalailla täyteen.

No niin, aika kuitata konferenssipaketti ja avainkortti joka avaa ovat seminaaritiloihin. Tästä se käynnistyy. To be continued…