Villikärpänen ja maksulliset aikavyöhykkeet

Ollut hieman vilskettä viime aikoina joten bloggaaminen on jäänyt, mutta tutkaan osui taas pari mielenkiintoista uutista joista tässä lyhyttä kommenttia:

Ensinnäkin hyvää syntymäpäivää WildFly! Suosittu Open Source sovelluspalvelin JBOSS sai uuden version myötä nimenmuutoksen ja on nyt WildFly. Hieman on vielä totuttelemista nimeen, mutta onhan se persoonallinen ja tarttuva 😉 WildFly 8 tulee olemaan Java EE 7 yhteensopiva ja heittäisin arvauksen että siinä ei mene kauaakaan aikaa..

Oracle on vetänyt mielenkiintoisen linjauksen, muuttamalla tzupdater työkalunsa vain maksullisen tuen piiriin. Työkalu on ollut käytössä kun osa aikavyöhykkeistä muuttuukin dynaamisemmin kuin Java releaset ehtivät pysymään perässä, ja työkalu on päivittänyt Java ympäristön aina oikeaan Olson timezone tietokannan pohjalta. Nyt sitä ei siis ole enää saatavana – maksutta. Kaupallisen tukipaketin myötä tietysti on, ja luonnollisesti uudet Java julkaisut tulevat aina tuorein aikavyöhyketiedoin varustettuna.

Onko tuolla merkitystä? Ei itselleni, en ole tuota vimpainta käytellyt koskaan, mutta pistipä vain silmään. Siitä on lisää keskustelua täällä:

http://www.theserverside.com/discussions/thread.tss?thread_id=75820

[EDIT] Ja päivityksenä: Oracle julkaisi uuden tiedon jonka mukaan Java 7 saa kuitenkin tzupdater työkalun päivitykset ilmankin maksullista tukea. Java 6 alkaa olla vaikeassa rakosessa, se ei saa tzupdater päivitystä, ja sen lataamiseenkin täytyy nykyään omata Oracle community tunnukset. Eli vain tuorein versio saa aina rakkautta avoimen maksuttoman käytön suhteen. Java 8 julkaistaneen näillä näkymin helmikuussa ensi vuoden puolella.

Mainokset

Oracle vs Google

No niin, nyt tuli jenkkien suunnalta jonkunmoinen päätös Oracle vs Google oikeudenkäynnille joka koski Java käyttöä Android alustalla ilman lisenssiä.

Valamiehistön pohdinnan (30min) jälkeen päätös oli että Google ei rikkonut Oracle patentteja vastaan. Pohdintaan jäi vielä voiko rajapintoja patentoida, mutta silti mielenkiintoinen voitto. Patenttioikeudenkäynnit ovat aina testejä, joilla linjataan jatko. Tässä tapauksessa Googlen  häviö olisi pistänyt vaakalaudalle sen pysyykö Android laitteissa ohjelmointikielenä Java. Googlen voitto taas antaa kummasta lisää buustia mobiililaitteisiin, etenkin kun Google-Motorola kauppa meni läpi ja kentällä liikkuu huhuja tulevista Google-laitteista softan ja raudan yhdistyessä.

Mielenkiintoisinta tässä että mielestäni silti oikeudenkäynnissä Oraclella oli pointtinsa – Java oli ja on käytössä kielenä ja kirjastoina laitteissa ilman lisensointia, Google olisi voinut valita kaupalliseen käyttöön lisensoida alustan tai kehittää täysin erillisen ja uuden kielen ja alustan, mutta sensijaan ratsastaa Javan maineella ja tunnettuvuudella, ja muunteli siitä itselleen sopivan. Toisaalta ilman Android imua Java kieli voisi olla huomattavasti synkeämmässä jamassa kuin mitä se on – Android on piristysruiske sekä mobiililaitteille että Java-ekosysteemille kokonaisuutena.

Kiintoisa huomio: Jos rajapinnat voi patentoida yhdysvalloissa, mutta ei Euroopassa, arvatkaapa minne kaikki startup-yritykset siirtyvät..

Joka tapauksessa, maailma tarvitsee selkeästi enemmän koodaavia lakimiehiä ja tuomareita tulevaisuudessa. 😉

Androidia ja koodaava tuomari

No niin, nyt on Android Ohjelmointi II pidetty, ja käytiin läpi aikalailla hauskoja ja hyödyllisiä Android rajapintoja. Kurssilaiset kävelivät ympäri luokkaa paikannus-rajapintoja testaillessaan ja testailu jatkoi kurssin jälkeen. OpenGL:llä väännettiin kosketukseen reagoivaa taustaväriä. Kolme päivää on aika piukka aikataulu käydä ohjelmointikurssia läpi, mutta siinä ehtii saada ensi askelen edistyneisiin rajapintoihin ja lisää varmuutta perusvääntöön.

 

Taisin jo aiemminkin bloggailla siitä, miten Google-Oracle Android-oikeudenkäynnissä tuomari Alsup käväisi java-ohjelmoinnin perusteet kurssilla ymmärtääkseen mitä oikeussalissa puhutaan. Nyt homma on mennyt eteenpäin: Viimeisimmän tiedon mukaan tuomari Alsup on koodaillut pikkuhiljaa Javaa vapaa-ajallaankin, ja nauraa nyt väitteille patentoidusta koodista. Kohteena oli 9 riviä rangeCheck() funktion koodia, mitä kiista nykyisellään koskee, ja tuomarin mukaan hän on koodaillut vastaavat pätkät lukuisia kertoja ja koodi on suorastaan triviaalia. Way to go tuomari!

En sinällään ota kantaa tuohon oikeudenkäyntiin muuten, se on oivallinen soppa kaikin tavoin, mutta miten ikinä siinä käykin, vaikutukset ovat pitkäkestoiset alalla. Mielestäni kuitenkin hienoa että tuomari vaivautuu perehtymään kohteena olevaan asiaan henkilökohtaisesti, ja olisiko myös aika alkaa opettamaan kouluissa ihan jokaiselle Javaa kolmantena kotimaisena kielenä? 😉

Tästäpä voi lukea lisää esim. http://developers.slashdot.org/story/12/05/16/1612228/judge-to-oracle-a-high-schooler-could-write-rangecheck?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+Slashdot%2Fslashdot+%28Slashdot%29

 

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.

Java Enterprise Edition 5 Enterprise Architect Certified Master

No niin, aloitin sitten kunnianhimoisen hankkeen saada itselleni tuo yllämainittu sertifikaatti. Se on ollut to-do listalla jo pitkään mutta koska assignment vaiheeseen hurahtaa 60-80 tuntia työtä, olen lykännyt suorittamista tulevaisuuteen. Nyt tuli sitten vähän kiirettä, 1.8. alkaen nimittäin sertifikaatti edellyttää Oracle kurssiputken käymistä, riippumatta siitä mitä on aiemmin opiskellut muilla kursseilla tai mitä jo osaa. http://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=449

Joten, pistin vauhtia päälle. Tänään piipahdin suorittamassa osan 1/3, eli luokkahuoneessa tehtävän monivalintatestin. Siinä tuli kahden tunnin aikana 64 kysymystä Java EE teknologioista, arkkitehtuurista, suunnittelumalleista, vaatimuksista ja perusteluista. Aika kiperiä kysymyksiä, osa sikäli aika typeriä että siinä oli kyse paljolti onko terminologia hallussa. Toisaalta siitähän arkkitehdin työssä on juuri kyse, kommunikatiosta. Läpihän tuo meni melkein heittämällä, eli seuraavaksi sitten setvimään mistä ihmeessä saa ladata osan 2 assignmentin ja miten. Eivät ole turhan selkeät nuo sivut tätä aihetta koskien, ja sertifiointitietokantakin on muuton alla joten osa palveluista ei toimi ennen kuun loppua.

Mielenkiintoinen havainto: Sertifiointitestit siirtyivät Prometricilta PearsonVUE järjestelmään, ja muutamia muutoksia on itse testissä. Mitään esitestiä ei tullut. Ja kysymyksissä voi oikealla hiirennapilla rastittaa pois vastaukset jotka ovat ehdottoman väärin, omia ajatuksiaan selkeyttääkseen. Kysymyksissä joissa on monta oikeaa vastausta on aina kerrottu miten monta rastia tulee rastia. Testissä ei ollut muita kuin monivalintakysymyksiä, 4-6 vastausvaihtoehdolla.

 

 

 

Oracle vs Google

Java ja etenkin Android kehittäjät tietenkin seuraavat mielenkiinnolla miten titaanien taistelussa Oracle-Google käy. Kyseessähän on oikeusjuttu koskien Java patenttien käyttöä Android alustalla ja toisaalta nyt myös Apache Harmony virtuaalikoneessa.

Oikeudenkäynti esti viime vuonna mm. Googlen osallistumisen JavaOne tapahtumaan ja saattaa tehdä saman tänä vuonna. On myös ollut hupaisaa seurata miten jenkkituomaria on koulutettu ymmärtämään olioista ja ohjelmoinnista jotain, jotta hän voi tehdä päätöksiä.

Viimeisin jopa hieman yllättävä käänne joka osui silmiini on, että tuomari määräsi Oraclen tiputtamaan 132 syytöksestä määrän kolmeen, eli 98% kanteista pois. Tuomarilta tuli myös molemmille tahoille määräys miettiä kannattaako näiden kolmen jäljelle jääneen kanteen edestä taistella.

Mielenkiintoisia aikoja siis elämme. Puoleen tai toiseen jonkinmoisia päätöksiä tuosta pitäisi syntymän, ja kyseessähän on taas patentti-ennakkotapauksia jotka vaikuttavat kovasti mm. avoimen lähdekoodin ohjelmistojen käytettävyyteen ja toisaalta ohjelmistopatenttien vaikuttavuuteen. Java-kehittäjien kannalta tämä myös vaikuttaa siihen mikä on tulevaisuuden mobiilijava. Jos Oracle saa tahtonsa läpi, on luultavaa että Androidia taivutetaan jyrkemmin standardi java-talliin ja kenties korvataan java me sillä. Joka voi pistää kapuloita rattaisiin ja onnistua jopa hidastamaan itse Androidin marssia. Jos Google voittaa, Android jatkaa myrskyn lailla voittokulkuaan ja murskaa java me alustan (ainakin älypuhelimien osalta) lopullisesti, ja rökittää myös applen sun muiden tarjonnat lopullisesti. Mahdollista on myös jonkunasteinen kompromissi, itse luulen että jonkunmoinen neuvotteluasetelma on ollut alunperinkin tämän oikeusjupakan taustasyy, ei rojaltit tai korvaukset.

Seurataan tilannetta mielenkiinnolla. Muuten oma aika on pääosin mennyt Honeycomb sormitietokoneen ohjelmointi sekä REST integraatiohommissa.

Lähde:

http://www.groklaw.net/article.php?story=2011050505150858