Oracle har bestämt sig för att ändra sin releasestrategi av Java från gigantiska uppdateringar med flera års mellanrum till nedbantade releaser två gånger per år. Det finns goda möjligheter att spara mycket pengar och utveckla sina produkter smartare genom att följa releasestrategin. Då slipper du höga uppgraderingskostnader som annars tillkommer om du gör det mer sällan. 

Tidigare har projekt fått planera in uppgraderingar av Java-versioner som en del av underhållet av sin produkt. Följaktligen har stora utvecklingsprojekt valt att vänta. Detta i sin tur gjort att det blir ett ännu större, kostsammare jobb att komma ikapp nya Java-versioner.

Den nya releasestrategin möjliggör uppgradering av nya versioner som en mindre eller mellanstor uppgift i det vanliga arbetsflödet.

Sveriges största event inom digitala affärer är tillbaka! Webbdagarna Stockholm 19-20 mars. Boka nu!

Georges Saab, ansvarig för utvecklingen av Javaplattformen på Oracle, berättade under Java-konferensen Jdays i Göteborg i höstas om bakgrunden till beslutet. Han erkände att historisk sett så har nya versioner av Java lovat mycket mer än den slutgiltiga versionen kunnat hålla och ofta blivit försenade, ibland så länge som upp till ett år. För att bättre hantera efterfrågan och leverans gick Oracle ut och frågade användarna hur de ville ha det.

  • En grupp användare tyckte att det var viktigt att alltid ha en stabil version med bra support (kommersiell så väl som standard). 
  • En annan grupp ville få tillgång till nya funktioner/språkändringar tidigt för att kunna planera och anpassa sig i tid.

Resultatet blev, enligt Georges Saab, den nya strategin där man kommer att släppa nya versioner två gånger per år. Det tillgodoser gruppen som vill ligga i framkant och anpassa sig. För gruppen som vill ha stabila versioner med bra support så applicerar man konceptet LTS (long term support), där man markerar en viss version som anses stabil och som därmed även har bra support.

Till skillnad från andra språk/applikationer som redan har applicerat LTS-konceptet (ofta som rekommenderad version för kommersiellt syfte) har Oracle utlovat följande:

  • En ny LTS-version kommer att finnas tillgänglig vart tredje år.
  • Varje LTS-version kommer att ha väldigt lång supportperiod (Nuvarande LTS: Java SE 11 har supportperiod från september 2018 till 2022.

Det får till följd att varje enskilt projekt måste göra följande vägval.

Det första är att besluta sig för att hantera mindre förändringar kontinuerligt (likt agil utveckling). Nackdelen med det är att man måste beakta hur externa beroenden påverkas om det finns sådana. Det finns inget poäng med att uppdatera sin applikation kontinuerligt om inte allt fungerar ihop.

Det andra är att välja att avvakta, låta andra projekt bereda vägen, för att kunna vara säker på att det fungerar och samtidigt ha full support. Då får man tre nackdelar att beakta:

  1. Man kommer inte att kunna ta del av språkförbättringar och prestandaförbättringar under tre år.
  2. Förbättringar i externa beroenden kan inte utnyttjas så fort de är tillgängliga
  3. Man hamnar i fällan att det blir ett större (och mer kostsamt) jobb att uppdatera mellan LTS-versioner och korrigera tre års förändringar på en gång – något som kanske är den mest uppenbara nackdelen.

Min rekommendation är att kontinuerligt uppdatera sin version av Java, men i den takt som resten av projektets beroenden klarar av. Om ett visst beroende halkar efter, är det klokt att undersöka om detta beroende kan ersättas av något annat. Vid valet av externa beroenden ska man undersöka om dessa frågor hanteras på ett tillfredsställande sätt. Välj helst externa beroenden som följer samma releasestrategi som du har valt.

Det här är en artikel från Expert Network »

En kontinuerlig uppdatering av Java-versioner förutsätter dessutom att Java-utvecklarna i teamet får utbilda sig kontinuerlig och träna på nya versioner.

Här är de senaste årens större uppdateringar av Java. Mindre uppdateringar med buggrättningar har förekommit frekvent mellan dessa.
 

Version Utgivningsdatum
JDK Beta, 1.0 och 1.1 1995–1997 (en version om året)
J2SE 1.2, 1.3, 1.4 och J2SE 5.0 1998–2004 (en version vartannat år)
Java SE 6 2006
Java SE 7 2011 (första som gavs ut av Oracle)
Java SE 8 2014
Java SE 9 2017
Java SE 10 Mars 2018
Java SE 11 September 2018
Java SE 12 Planerad för mars 2019

Fakta

Befattning: Vd
Företag: Solid Beans
Linkedin: Hamid Samadi
Twitter: @hamidsamadi
E-post: hamid@solidbeans.com
Expertområden: Java, JavaEE, Open source
Certifieringar: Scrum master Java
Bakgrund: Grundare, vd och delägare i Solid Beans. Civilingenjör i informationsteknologi. Arkitekt till flera plattformar inom telekom. Systemutvecklare i Java-miljön sedan 1995, It-konsult/konsultchef/entreprenör /företagare/Java-instruktör sedan flera år. Organiserar flera event, bland annat Android/java forum och www.jdays.se i Göteborg.