Mikä on suosituin Java EE sovelluspalvelin?

Se näyttää olevan ei Java EE sovelluspalvelinta ensinkään, ainakin New Relic nimisen pajan tekemän tutkimuksen perusteella. Tutkimus koskee toki vain heidän omaa asiakaskuntaansa ja vieläpä jenkeissä pääosin, mutta yhdistettynä muihin viime aikaisiin reportteihin yksi asia näyttäisi varmalta: Open source alustat ovat vahvasti nousussa, ja kevyet serverit kuten Tomcat ja Jetty ehkäpä eniten suosiossa. Tässä tutkimuksessa kuitenkin jopa Glassfish hakkaa esim. Webspheren. Itse muistan ajan jolloin Websphere ja Weblogic jakoivat Suomen markkinoilla sovelluspalvelinkentän jotakuinkin kahdestaan.

Tomcat on aika kevyt serveri, siinä ei ole esim. ejb tukea, ei jms tukea, jonkunmoista jndi tai transaktioratkaisua saa virittelemällä, ja toki kirjastoja lisäämällä saa esim. jpa ja jsf jutut toimimaan. Nykyään kun kuitenkin voi tupauttaa serverin päälle esim. koko Spring Frameworkin, tai tuottaa ratkasunsa Scala+Play yhdistelmällä tai Grailsillä, niin Tomcatkin riittää hienosti. Yksinkertainen on aina helpompaa hallita. Myös JBOSS oli päässyt kolmen kärkeen, siinähän on Tomcat + loput EE stackistä. Uutena tulokkaana TomEE ei vielä näy tilastoissa, paitsi ehkä kohdassa Other. Weblogic ja Websphere näyttävät tuossa asiakaskunnassa edustavan sinnikästä vahvaa 2.17% osuutta – Suomessa kenties vähän suurempi luku. Glassfish edusti yksinäänkin yhtä paljon kuin Weblogic ja Websphere yhteensä.

Tämä siis vain yksi tutkimus, mutta on noita osunut silmiin muitakin viime aikoina. Open source on kaiken hypetyksen jälkeen alkanut jyräämään vakavasti otettavana valintana. Tomcat on erityisen mielenkiintoinen valinta koska siihen ei ole olemassa virallista business mallia tai tuki-organisaatiota. Got a problem? Google it up!

 

 

Ja lähdelinkki:

http://blog.newrelic.com/2012/01/10/infographic-oss-java-wins-in-the-cloud-era/

Tampere Goes Agile!

Kävin pitämässä lightning talkin Tampere Goes Agile tapahtumassa aiheesta Agile Enabler: Grails, eli aiheena miten aikainen prototypointi auttaa saamaan aikaan sen mitä asiakas todella TARVITSEE eikä sitä mitä HALUAA. Want ja Need voivat joskus johtaa samaankin asiaan, mutta ne eivät itseisarvoisesti ole sama asia – jonka ketteryyttä tuntevat toki hyvin tietävätkin.

Java alustalla toimiessa ja projektia aloittaessa iskee usein valintahalvaus: vaihtoehtoja on lukemattomia tehdä sama asia. Spring? Puhdas Java EE ja JSF? GWT? Kun valinta on tehty, valitaan lisää. JDBC vai JPA? SQL vai NOSQL? Log4j vai util.logging? Maven vai Ant? Matka siitä kun tuoteidea on päätetty toteuttaa ja alusta valittu siihen kun on jotain mitä voi prototypoida ja demota on pitkä, pahimmillaan kuukausia.

Ongelma ei ole sama kun tietää mitä tekee, valinnat on tehty ja yhdistelmästä on kokemusta ja apuvälineet rakennettu. Mutta silti, miten pitkään menee ensimmäiseen toimivaan prototyyppiin? Josta siis saa arvokasta palautetta siitä mennäänkö oikeaan suuntaan, ja siitä mitä suuntia on edes tarjolla. Kuukausia? Viikkoja? Päiviä?

Grailsillä vastaus on minuuteja. Ja customoidessa yksityiskohtia ehkä tunteja. Koska prototyypit ovat pystyssä heti, muutokset reaaliaikaisia, oletuksia paljon, ja valinnat jo tehty, alusta on äärimmäisen tuottava. Tein seminaari-ilmoittautumisjärjestelmän parissa tunnissa. Ja verkkokoulutusjärjestelmän parissa päivässä. Nopeita iteraatioita, nopea palautesilmukka.

P.s. seminaarikahvi on TODELLA asiallista… :p

image

Effective Java == Scala?

Olen viime aikoina pyörinyt paljon Scala kielen parissa, kurssiamme päivitellen ja kieltä syvemmin opiskellen. Parhaillaan käynnissä olevassa JavaOne seminaarissa Scala tuntuu olevan edelleen nousussa oleva kiinnostava trendi, ja mm. Twitter, FourSquare, LinkedIn uskovat siihen. Edelleenkin kiinnostavaa on että opiskelemalla Scala toimintamallia oppii samalla vankan ymmärryksen siitä miten tulevan Java 8:n Lambda Expressions malli toimii, ja ennustan jo että siitä tulee VALTAISA juttu parin vuoden sisään.

No niin, törmäsin mielenkiintoiseen artikkeliin. Joshua Bloch niminen kaveri kirjoitti aikanaan kirjan Effective Java, josta on jo useampi painos otettu. Monet pitävät tätä alan perusteoksena joka kertoo miten Java kieltä tulee käyttää. Artikkelissa huomioidaan että kun otetaan pohjaksi Java, ja sovelletaan kirjan sääntöjä, saadaan Scala. Eli Scala == Effective Java. Olisiko aika opiskella uusi kieli? 😉

Minulla on ongelma. Olen huikean rakastunut sekä Grails, että Scala alustaan, puhumattakaan Androidista. Ja Javakin menee eteenpäin. Onko loppuelämäni polyglot pohjaista vai nouseeko vielä yksi ylitse muiden ? Stay tuned…

 

http://grahamhackingscala.blogspot.fi/2011/01/does-scala-equal-effective-java-bloch.html