JavaOne 2011 San Francisco – 1/4

Ensimmäinen aamu JavaOnessa käynnistyi hassun Code Hard/Java Life musiikkivideon jälkeen Keynotella jossa puhui Intelin ja Oraclen edustajia, aiheena olivat tekniset asiat.

Intel osuus oli hieman pitkäveteinen tunti, mutta se on perinteisesti ollut aina mukana. Twitter kanavilla kyseltiin paljonko Intel maksoi tästä tunnin mainospuheestaan. Olihan siinä kuitenkin jotain kiintoisaakin, mm. suorituskyvyn kasvua virtuaalikoneiden ja Intelin raudan yhteistoiminnan suhteen. Doug Fisher Inteliltä lohkaisi myös mehukkaasti: Hardware without software is just heat. 😉

Vaivihkainen stealth julkistus koski Oraclen uutta NoSQL tietokantatuotetta. Tarkempia tietoja varmaan luvassa jatkossa..

Sitten alkoi mehukas osuus. Mark Reinhold puhui Java 7 piirteistä uusina joka ihmeellistä kyllä herätti kovat wow efektit yleisöstä. Ovathan ne koodaajan elämää helpottavia pieniä muutoksia mutta niitä on tullut itse jo käytettyä ja koulutettua reipas puoli vuotta, itseasiassa enemmänkin, joten osio lähinnä pitkästytti koska mitään uutta näkökulmaa ei tullut.  Yksi ahaa elämys syntyi: Jo kovin tutuksi tullut fork&join framework sopinee parhaiten eräajojen käsittelyyn, joita suomessakin jokunen firma vielä tekee reippaissa määrin. Kaikesta huolimatta version 7 uudistukset herättivät mielenkiintoista kyllä salissa ooh ja aah efektejä, ilmeisesti ne monelle eivät olleet vielä tuttuja. Kuulemma jossain ajetaan vielä softaa Java versiolla 1.0 😉

Heräsin vasta kun alettiin käsittelemään Java versiota 8 – ja 9.

Edit: Versio 8 tulossa siis vuonna 2013, kesäaikaan. Pieni viive jätetty julkaisuun jotta versioon 7 ehditään sertifioitua ja hyödyntää ennen seuraava. Ja Java 8 ainoat kaksi pääpiirrettä ovat mullistavia. Mitä enemmän kuulen niistä sitä enemmän pidän Lambda Expressioista ja Project Jigsawsta. Metka juttu oli myös sneak päivitys jotta Lambda Expressions on ylipäätään mahdollinen: rajapinnoissa voi nyt määritellä metodeita joille on oletustoteutus referoituna. Näin voidaan jatkossa lisätä rajapintoihin metodeita rikkomatta yhteensopivuutta aikaisemman koodin kanssa. Kun Java versiot 6 ja 7 ovat olleet evoluutiota, versio 8 on taas revolution, vallankumous, se tulee muuttamaan tapaa koodata ja tehdä ohjelmistoja reippaasti – positiiviseen scala ja mavenmäiseen suuntaan.

Pieni vilaus tuli myös Java 9 tuleviin piirteisiin. Java 9 todennäköisesti julkaistaneen vuoden 2014 tiimoilla, ja sen sisältöön tulee…

  • – Self-tuning JVM (virtuaalikone optimoi itsensä, tähän suuntaanhan on muutenkin menty)
  • – Improved Native Integration (JNIEnv on jo nähty, eteenpäin! 😉
  • – Big Data (Parempi tuki massiivisille muistimäärille kerrallaan)
  • – Reification (tyyppijärjestelmän ravistelua)
  • – Tail Calls/Continuations
  • – Meta-Object protocol
  • – Multi-Tenancy
  • – Resource Management
  • – Heterogenous Computer Models

Java EE 7 suunnitelmat ovat kunnianhimoisia: Speksi ulos ensi vuonna, Glassfish 4.0 referenssitoteutuksena. Java EE 7 sisältöhän voidaan tiivistää sanaan: pilvi. Mutta mukana myös mm. välimuistiratkaisujen standardointia. Pääteemana on kuitenkin PaaS – Platform as a Service. Muita tulossa olevia muutoksia on yhdenmukaistaminen ja yksinkertaistaminen – esim. Managed Beans konsepti laajennetaan CDI, EJB ja JSF beaneihin (nämä kai tehtiin jo EE 6:ssa) ja Pruning eli vanhojen ominaisuuksien poisto kuten Entity Bean ja JAX-RPC on yksi osa (tämäkin kai jo aloitetiin EE 6:ssa?)

Ai niin, ja itse konferenssista.. Väite oli että osallistujamäärä on tuplaantunut – viime vuoteen nähden. 400 sessiota lähistön hotelleissa neljän päivän ajan, puhujia 350 yrityksestä.. 9 miljoonaa java koodaajaa ympäri maailman. 3 miljardia mobiililaitetta joissa Java pyörii. Kiintoisaa..

JavaFX 2.0 meni Betasta General Availability moodiin, tosin sen saa tässä vaiheessa lähinnä windowsille 😉 MacOS X:ään tulossa developer preview. Netbeans beta 7.1 omaa suoraan JavaFX 2.0 tuen, ja tietysti JavaFX Scene Builder on uusi palikka jolla näyttöjä voi koostaa, siitä on early access versio liikkeellä. Ja tuolta löytyisi latailtavia ja ajettavia demoja http://www.oracle.com/technetwork/java/javafx/downloads/index.html ja http://download.oracle.com/javafx/2.0/overview/jfxpub-overview.htm

Jossain välissä ehdin pyörähtämään myös näyttelyalueella. Tavanomaisten epäiltyjen lisäksi haaviin jäi kaikenlaista kiinnostavaa suomalaisia projekteja ajatellen. Esim. CloudBees, JRebel, New Relic, ja MongoDB. Varsin uusia nämä eivät ole mutta mitä itselle jäi mieleen näistä:

– JRebel mahdollistaa hot deploy tuen ilman buutteja, käytännössä joka alustalla. Se asentaa tietysti uudet muutetut luokat mutta meikäläiselle demottiin myös tilannetta jossa luokan Spring annotaatioita muutettiin ja JRebel latasi dynamisesti muutetun luokan ja prosessoi annotaation, ja lopputuloksena MVC Controller mäppäytyikin uuteen osoitteeseen – ilman buuttia, resettiä tai redeployta. Kyselin hieman muistivuoto-ongelmista esim. tomcat palvelimissa, mutta minulle vakuutettiin että JRebel kun asentelee luokan kerrallaan, sillä saa tehdä tuhansia muutoksia ennen kuin on syytä käynnistellä palvelinta. Vaikutti kiinnostavalta.

– New Relic oli toinen kova juttu: käytännössä yhdistelmä agenttia ja seurantatyökalua joilla voi seurata web tai web service palvelinsovelluksen toimintaa. Kuvaus oli ’x-ray vision for your production web apps’. Katselin läpi demoa jossa seurattiin vasteaikojen jakautumisia eri kerroksissa – reaaliajassa ja graafisesti. Helppo hahmottaa missä vietetään aikaa ja missä on ongelmia.

– Pari muuta tuotetta oli CloudBees palelu, joka on pilvipalvelu josta voi vuokrata esim. JFrog, SonarSource, New Relic, MongoDB, etc palveluita. Kehitysympäristön infran voi vuokrata ja skaalata tarpeen mukaan. – sekä MongoDB NOSQL tietokanta jossa data kuvataan JSON tapaan.

Ja lisää huomenissa.. Kohden seuraavaa sessiota matka käy.

Mainokset

Java One 2011 San Francisco – Prelude

No niin, saapuminen San Franciscoon, kone myöhässä pari tuntia hurrikaanin vuoksi, ja kauhea härdelli lentoasemilla kuten aina. Loppu hyvin kaikki hyvin, sain tavarat hotelliin ja asetuin kodiksi. Uskomatonta miten kalliissa jenkkihotellissa wi-fi on erikseen maksullinen, suomessa on tottunut että jopa rupisemmissa pikkuhotelleissakin on nykyään ilmainen wi-fi tai edes kaapeliyhteys. Lisäksi tämä jenkkien high-speed internet muistuttaa nopeudeltaan 1200bps modeemeita joita tuli 80-luvulla käytettyä bbs:n pyörittelyyn.. Mitähän tykkäisivät jenkkiläiset meikäläisen kotilaajakaistasta jossa bitit vilkkuvat 200Mbs tahtiin..?

Joka tapauksessa, konferenssi on alkanut. Tsekkasin varustepaketin, ja tänä vuonna ei näemmä konferenssiohjelmaa saa enää paperilla ollenkaan, vaan vain virtuaalisena. Sinänsä hatunnoston arvoinen temppu, mutta kun android versio ei jostain syystä näytä aikataulua, ja sessioissa tulee varmasti olemaan taas viime hetken peruutuksia ja muutoksia, ja javaone sessiot tänäkin vuonna on hajautettu ympäriinsä lähestön hotelleihin, niin kiintoisa viikkohan tästä tulee.. 😉 Hupaisaa kyllä ipad versio toimii paremmin ja ajattelinkin tällä reissulla bloggailla ja liikuskella puhtaasti ipadin varassa. Jetlag vaivaa sen verran että kovin raskasta ohjelmaa ei voi sunnuntaille ottaa, mutta eipä java sessiot täysipainoisesti vielä tänään käynnistykään.

Huhutaan jostain kiinnostavista julkistuksista.. Nähtäväksi jää miten laajalti kiinnostavia. Katselin Larry Ellisonin Oracle Openworld keynoten, joka nyt ei itselle sisältänyt maatajärisyttävän kiinnostavia asioita. Mieleen jäi kuitenkin kiintoisa perustelu sille miksi Exalogic ja Exadata serverit ovat hintansa väärtejä. IBM:ää kyrmytettiin sillä että heillä on maailman nopein superkone – integer laskutoimituksiin. Exalogic + Exadata yhdistelmää kehuttiin nopeimmaksi datan siirtämiseen ja Javan ajamiseen. Jos olisi liikaa dollareita taskussa niin kyllähän nuo alustat vakuuttavalta vaikuttavat, mutta itse pyörin eniten Intel Linux ja Windows purkkien parissa, ja joskus harvemmin törmää IBM purnukoihin.

Joka tapauksessa, San Franciscossa on uusi aamu, ja sitten kohden alkavaa JavaOne Technical Keynotea, jossa toivon mukaan on enemmän asiaa jaettavaksi asti. Ja siitä se päivä sitten alkaa 😉

Joka tapauksessa Larry Ellisonin keynote on tänään sunnuntaina, ja huomenna aamulla on Java technical keynote, eli saapa nähdä mitä tulee näkyville..

JFokus 2/4 – tarinoita Tukholmasta

No niin, edelleen ollaan siis Tukholmassa ja JFokus konferenssissa. Osallistujia täällä on hieman yli 1100, joista se satakunta tuli Suomen puolelta aamulautalla.

Aamun avasi räväkästi Henrik Ståhl Oralelta, ja mitä keynoteihin tulee tämä oli piristävää vaihtelua. Henrik puhui Oraclen ahneudesta ja arvosteli Oraclen toimintaa Machiavellin silmin 😉 Toden sanoakseni esitys oli hyvin huumoripitoinen, yllättävänkin suora ajoittain, ja siinä vastattiin taas hyvin kysymyksiin joita Java kehittäjät ovat pohtineet ja myös julkisesti ruotineet. Javan ja Oraclen näkymiä luotailtiin kolmesta näkökulmasta: Niccolo Machiavellin, Duken, sekä rahan jumalan Mammonin.

Machiavellillä on muuten ollut jo aikanaan PR puoli hyvin hallussa, monet viisaudet pätevät (entistä enemmän) tänä päivänä. Pelottavaa.. Oli miten oli, aamu oli kiintoisa ja rentouttava. Esityksen lopussa tuli myös esille roadmap ajatuksia aina Java 9:ään asti. Nyt kannattaa kaikkien kynnelle kykenevien pistää ehdotuksia HotSpot + JRockit JVM yhdistelmän nimeksi, tai muuten sen nimeksi tulee Fusion JVM 😉

Esityspuolelta mieleen jäi Oraclen standin Brainwaves peli jossa piti aivonsa alfa aallot rentouttamalla saada kuula leijumaan ilmassa mahdollisimman pitkään. Tiedä sitten onko hyvä asia mutta kun pistin anturit päähäni kuula pomppasi melkein samantien kattoon, liekö sitten tuo aivojen tyhjentäminen vahva puoleni. Valitettavasti kuulan liikkeistä innostuminen toi aktiviteetia ja tipautti kuulan maahan. Paikallinen ennätys oli 22 sekuntia leijuntaa (eli tyhjä pää), ja kuulemma joiltakuilta onnistuu pari minuutiakin. Itseä kun nuo UI puolen asiat aina kiinnostavat, ja kun en usko että monitori, hiiri ja näppäimistö on se lopullinen ratkaisu tietokonetta käskyttäessä, niin tällaiset poikkeukselliset ratkaisut kiinnostavat. Tuossa linkit vielä Neurosky laitteeseen ja yleensä aiheesta: http://www.neurosky.com/ http://gajitz.com/mind-games-four-games-you-control-with-your-brain/

Brainwaves anturien oikea käyttö on liikkumisrajoitteisten ihmisten käyttöliittymissä, ja keskittymällä kuulaa pystyikin ohjaamaan. Kontrolli oli vielä omasta yrityksestä kaukana mutta eiköhän tuossa muutamassa päivässä olisi jo vauhdissa. May the Force be with you!

Sieltä sitten takaisin maan pinnalle. Eric Evans puhui ketterästä DDD:stä, Domain Driven Developmentista, ja sen sudenkuopista ja parhaista käytännöistä. Toistuvana kaavana suomalaisten firmojen kanssa olen aika ajoin kuullut miten ketteriä menetelmiä kuten Scrum:ia kirotaan alimpaan manalaan ja haukutaan miten ne eivät toimi. Useimmiten kun kuulen tällaista ja kyselen lisää, selviää kaksi asiaa aina toistuvasti: 1) Projektissa ei olekaan Product Owneria ja piirteiden priorisointia, vaan kyseessä onkin Scrummerfall eli on tehty speksit, on tehty suunnittelu alussa, ja sitten ohjelmoijatiimille sanotaan että olkaa ketteriä. Ja 2) on aamupalaverit ja iteraatiot, mutta toteutuksen osalta on lähinnä omaksuttu että ei suunnitella, eikä dokumentoida varsinkaan, eli jätetään suunnittelu ja testaus kokonaan pois iteraatiosta ja hakataan vain päätä seinään tekemällä lyhytnäköistä koodia jota ei ehditä saamaan iteraatiossa edes valmiiksi. Tässä esityksessä ei suoranaisesti menty Agile menetelmiin tai prosesseihin, vaan käytiin läpi miten DDD:tä voi tehdä hyvinkin luonnollisesti keskustelujen kautta.

Tähän väliin hieman kehuja Vaadin frameworkille tehdystä seminaarin aikatauluohjelmasta, ainakin vielä osoitteessa http://www.jfokus.se/jfokus/page.jsp?id=vschema ja http://code.google.com/p/devoxx-schedule-2010/ – varsin näppärä ja toimiva kontrolli ja sovellus. JFokushan fiksusti julkaisi REST rajapinnat joilla seminaaritietoja saa esille.. Ihan piruuttani koodasin itsellenikin niiden varaan Android mokkulan, joskin jaossa oleva virallinen versio on huomattavasti parempi. Mutta oma on aina oma vaikka onkin ruma.

Hupaisa yksityiskohta: IPhonellekin oli tehty seminaarisofta, mutta se ei ole ehtinyt hyväksyntäprosessien läpi vielä joten iPhone mistajat… sorry! 😉 Henrik Ståhl muuten lipsautti aamun keynotessaan miten Javan tavoite on pyöriä myös iPhonessa tulevaisuudessa, saapa nähdä oliko tässä konkretiaa vai unelmointia..