Oracle: Java skal være til 'Internet of Things'

Java-platformen står med en stor udfordring de næste år, hvor den både skal understøtte ny hardware og få plads til nye funktioner i sproget.

Oracles Java-platform er netop kommet i version 8, efter det, selskabet måtte erkende blev til 'Plan B', og i sidste ende næsten blev til 'Plan C'. Fremtiden for platformen bliver en balancegang for Oracle.

Oracles ambition er nemlig, at Java både skal fungere som platform for 'Internet of Things', og samtidig blive en mere samlet platform for alt fra serverapplikationer til software i måleudstyr.

»Java var blevet fragmenteret. I Java 7 havde vi stadig to varianter af Java, SE og ME, men konvergerede de virtuelle maskiner. Det har vi fortsat i Java 8. Vi er gået tilbage til rødderne af Java, så Java ME vil blive en ægte delmængde af Java SE,« siger Nandini Ramani, underdirektør hos Oracle med ansvar for udviklingen af Java-platformen, til Version2.

Den oprindelige vision for Java var, at man kunne skrive sin programkode i Java, og ved hjælp af den virtuelle maskine, som Java-koden blev afviklet på, kunne programmet køre på en vilkårlig hardwareplatform.

Imidlertid blev Java hurtigt splittet op i forskellige varianter. Det var ikke kun forskelle som eksempelvis at Java i en vaskemaskine ikke understøttede en grafisk brugerflade, men også inden for især mobile platforme, at der opstod mange varianter ud fra J2ME, som oprindeligt var Javas bud på en mobilplatform.

Selvom smartphones som Blackberry og Android bygger på Java, er det også varianter. Google har eksempelvis lavet sin egen virtuelle maskine til Java-applikationer.

Den fragmentering vil Oracle gerne undgå i fremtiden. Især hvis Java skal spille en rolle i den udvikling, som Oracle forudser, hvor flere typer apparater får indbygget mere avancerede computere og bliver forbundet til internettet.

»Java 8 er fundamentet for Internet of Things. Vi arbejder med chipproducenterne, så de kan indbygge hardwareacceleration for Java. Vi vil så sørge for at have API'erne klar,« siger Nandini Ramani.

For Oracle gælder det om at undgå fragmentering ved at fokusere på at understøtte de nye platforme, uanset hvem der leverer dem.

»Vi har ikke lyst til være indblandet i at finde ud af, hvem der ender som førende på markedet. Det er ikke vores opgave at udvikle standarder - vores opgave er at sikre, at Java kan køre på alle platforme,« siger Nandini Ramani.

Læs også: Nu får Java lambda-udtryk til at gøre parallel programmering lettere

Næste milepæl for Oracle hedder Java 9. Den kommer til at indeholde nogle af de funktioner, som ikke nåede med i Java 8. Da Oracle overtog Java fra Sun Microsystems var Java 7 undervejs, men Oracle blev nødt til at opgive at få visse funktioner som eksempelvis Lambda-udtryk med i Java 7.

De er nu kommet med i Java 8, men selv fra det, Oracle døbte 'Plan B', er der blevet skåret i den endelige udgave af Java 8. Det gælder eksempelvis projektet med at gøre Java mere modulopbygget under kodenavnet Jigsaw.

Jigsaw er foreløbig den eneste nye funktion, som er bekræftet i Java 9. Umiddelbart inden salget til Oracle blev Java frigivet i en parallel open source-version, som i dag også fungerer som testlaboratorium for nye funktioner i Java. Når funktionerne er modne kan de blive optaget i selve de officielle Java-versioner.

Et andet projekt, som kandiderer til at komme med i Java 9, er 'Sumatra'. Det er et projekt, som arbejder på at give Javas virtuelle maskine mulighed for at udnytte grafikprocessorer, uden udvikleren skal spekulere for meget over den underliggende teknologi.

I 2012 udstak Oracle kursen for de næste udgaver af Java, men siden har selskabet måttet justere i forhold til Java 8, så det er uvist, hvor meget der kommer i Java 9, selvom selskabet nu har fået rettet op på flere hængepartier.

Læs også: Plaget Java-plugin lever videre trods sikkerhedsproblemer

Fokus i 2012 gik på selve den virtuelle maskine, JVM, som de senere år har fået mulighed for at afvikle flere programmeringssprog, og det arbejde skal fortsætte i de næste udgaver. Samtidig skal JVM også være bedre til at udnytte den underlæggende hypervisor, når JVM kører i virtuelle miljøer.

»JVM har indhentet maskinkode på ydelsen. Den virtuelle maskine er vores kronjuvel. Blandt andet fordi hardwaren i dag er i stand til at understøtte JVM, så er forskellen mellem JVM og Assembler skrumpet,« siger Nandini Ramani.

I 2012 lød tidsplanen for Java 9 på at komme i 2015, men da Java 8 først nu er udkommet, er det usikkert, om Java 9 kommer i 2015 eller først i 2016.

OpenJDK er open source-versionen af Java, og det er også her, nye funktioner bliver testet. Der er imidlertid langt flere delprojekter under OpenJDK end i den officielle, supporterede udgave af Java, og det er op til udviklermiljøet at indstille de projekter, som skal med i den næste version.

Tips og korrekturforslag til denne historie sendes til tip@version2.dk
Kommentarer (21)
sortSortér kommentarer
  • Ældste først
  • Nyeste først
  • Bedste først
#1 Erik Jensen

Java skal dø. Vi skal fandme ikke have java ind en masse enheder der med stor sandsynlighed bliver lavet af firmaer der ikke er vant til at opdatere software og hvem gider skulle opdatere sit køleskab og 100 andre enheder hver uge fordi der er java i. Det kan kun gå galt.

  • 14
  • 19
#2 Daniel Gertsen

http://www.version2.dk/artikel/java-var-adgangsvej-91-procent-af-webtrus...

Hmm har vi virkelig lyst til at lukke Java ind i vores ting?

Det ender jo med at vi kommer hjem en dag, og køleskabet og fryseren er slukket, radiatorerne kører på fulde drøn, el-måleren viser 3000 gange mere end den skulle og tyverialarmen spiller en blanding af klassisk musik og dubstep...

Og det er hun huset, så er der jo også bilen, lyskurve og alle mulige andre steder, hvor Java kunne tænkes at ende.

Det er nu ikke for at male fanden på væggen, men når nu man skal vælge en platform til sine ting, er Java så virkelig det bedste valg?

  • 8
  • 9
#3 Kasper Reindahl Rasmussen

Der vil altid være sikkerhedsproblemer, uanset hvilket sprog man vælger, hvis det ikke opdateres. Og angående husholdnings apperrater der går amok, så er det en reel mulighed med hvad som helst lige så snart, man vælger at koble det op til noget somhelst. Et gerelt eksempel på dette kan ses med Z-wave som netop er designet til dette (Security Evaluation of the Z-Wave Wireless Protocol)

  • 9
  • 2
#4 Poul Pedersen

Opdateringer skyldes da netop sikkerhedsproblemer, og de opstår som bekendt mest når man ikke gider bruge penge på at designe ting ordentligt. Var det ikke java, så var det noget andet hullet skrammel vi skulle trækkes med. Men så længe der ikke er brugerkrav/penge i at designe ordentligt så vil der kun blive lavet skrammel som på trods af opdateringer hver dag stadig er usikkert så det skriger til himlen. Nogen må jo have bildt brugerne ind at man kan få alt til ingen penge, for det er undskyldningen der bruges for at opfinde nyt skrammel længe inden det gamle er fikset ordentligt: brugerne kræver det. Men havde man spurgt brugerne om de ville have features incl. sikkerhedshuller eller færre features uden huller, så var valget nok mere oplagt. For eksempel hvem har brug for javascript i en pdf-fil aktiveret som default? Når man nu ved at det er implementeret af marketing med venstre hånd.

  • 9
  • 1
#5 Cristian Ambæk

Hvor er det snæversynet at sige "Java skal dø" og what not. Men jeg ville gerne høre hvilket sprog i syntes man så skulle vælge.

C#? Så kan vi alle køre Windows i vore apparater, hold nu ferie et ramaskrig der så ville kommer over "Windows er usikkert!!". Så kan vi også bruge Mono på små enheder, hold nu kæft det skal nok være vejen frem.

Objective-C? Så kommer der vel bare "Apple want to rule the world and dominate us all!!"

Vi skal fandme ikke have java ind en masse enheder der med stor sandsynlighed bliver lavet af firmaer der ikke er vant til at opdatere software og hvem gider skulle opdatere sit køleskab og 100 andre enheder hver uge fordi der er java i.

Så i stedet ville du have 100 opdateringer dagligt fordi man vælger.... Python? Ville du så brokke sig over det samme der?

Vi skal fandme ikke have Python ind en masse enheder der med stor sandsynlighed bliver lavet af firmaer der ikke er vant til at opdatere software og hvem gider skulle opdatere sit køleskab og 100 andre enheder hver uge fordi der er java i.

  • 22
  • 3
#6 Finn Christensen

Hvor er det snæversynet at sige "Java skal dø" og what not. Men jeg ville gerne høre hvilket sprog i syntes man så skulle vælge.

Cristian, hvad er det for en type fjolletobak, som du brænder af ?

Jeg har da ikke i mange år anvendt Java til andet end det blåstemplede misfoster NemID. Hvis alt går vel, så kommer JavaScript/Ukendt_X efterhånden over de næste år, og erstatter Java.. vi får se om ikke det offentlige + Nets + banker + ? øger seriøsiteten omkring datasikkerhed, så Java ryger helt ud.

Tror nu at det i dag er mere normalt, at have skrammel som Java, Flash, Silverlight, Adobe PDF reader mm. inaktiveret døgnet rundt, og kun sjældent samt undtagelsesvis aktiveret.

Til daglig har ingen brug for den type add-on skrammel, da det hyppigt bruges ved menneskeskabte vandingshuller, hvor flere typer rovdyr holder til.

  • 0
  • 18
#7 Daniel Gertsen
  • 13
  • 1
#8 Cristian Ambæk

Cristian, hvad er det for en type fjolletobak, som du brænder af ?

Lad mig dele noget med dig som jeg faldt over i min daglig WWW surfing.

Til en artikel på http://www.lifehacker.com.au/2013/03/ask-lh-what-is-java-is-it-insecure-...

Cant say I agree with this assessment. A few things:

Java is a programming language and a bytecode specification, nothing more. Java is fairly solid, platform-independent and perfectly safe. Java can be compiled to any target, as long as a compiler exists: you can make a native Windows or Mac app with Java if you have a compiler for it.

The Java virtual machine (JVM) is the software you install in order to run programs that were compiled as Java bytecode. The JVM is not platform-independent - each platform has its own JVM written specifically for that platform. The JVM acts as an interpreter, taking the platform-independent Java bytecode and translating it to whatever native instructions the platform youre on expects. Theres more than one JVM out there, but the big ones are Oracles JRE and OpenJDK. The problems that have been reported with Java exist only in Oracles version.

The JVM itself is fairly safe. There are some vulnerabilities, but thats true of all software and Javas JVMs dont really stand out from the crowd in that respect. The problems come almost exclusively from yet another bit of software - the Java browser plugin - that is designed to let applets on the web access the JVM you have installed on your computer as though they were running locally (albeit with a few extra security restrictions). The browser plugin is only needed if you run applets through your browser, and some companies deploy their software to their users this way. If you dont use Java applets in your web browser, you should disable the Java browser plugin, which will shut down all of the vulnerabilities that can be exploited over the internet.

The advice to remove the JVM in the article is a little bit severe. The JVM isnt whats vulnerable and if you dont have the browser plugin installed, pretty much the only way a vulnerability in the JVM can be exploited is if someone has physical access to your computer and is logged in, and to be blunt, if someone already has physical access to your computer and is logged in, they have what they need anyway without going through the JVM.

As some people above pointed out, the JVM is needed to run Minecraft, as well as a lot of other software. Theres no reason to panic and remove the JVM from your system. The browser plugin, on the other hand, isnt needed for most downloaded apps (like Minecraft, unless youre trying to play the web version) and just disabling that will get rid of the security problems without having to get rid of the JVM as well.

Personligt så kan jeg rigtig godt lide Java, men ja at trykke "update" er VIRKELIG hårdt. Da det tager 2-3 sekunder ud af min hverdag :( I den tid kunne jeg havde nået så meget andet.. Nogle gange undrer jeg mig om det overhoved kan betale sig at stå op, da jeg ved at Java ville have sin update flaske.

Man skal bruge det bedste sprog til opgaven, men i min verden klare Java sig rigtig godt hvis man kikker forbi alle hatersne. Som hader det bare for at hade et eller andet, uden rigtig at vide hvorfor. Vi må få en ny bieber episode så det kan tage noget af opmærksomhed i stedet.

  • 14
  • 2
#9 Poul Pedersen

Personligt så kan jeg rigtig godt lide Java, men ja at trykke "update" er VIRKELIG hårdt. Da det tager 2-3 sekunder ud af min hverdag :(

Sarkasme er fint, hvis man ellers har ret i sit ævl. Og det har du så ikke. For Java er nemt at opdatere i sig selv, ligesom sproget i sig selv er fint, men et teoretisk sprog uden implementation er irrelevant. Så kommer vi så til implementationen som er elendig, og endnu værre: alle applikationerne skrevet til implementationen som fejler for vildt hver gang der laves lidt ændringer til alle de udokumenterede "features".

Igen, teoretisk slet ikke noget problem, hvis alle incl. Oracle gad teste og programmere ordentligt. Dette har så vist sig ikke at komme til at ske. Og det er desværre nok et sproguafhængigt princip, hvor rettidig omhu ikke omfatter en positiv business-case på test og godt design. Time-to-market-bullshit er for stort til den slags, og man kan altid fikse det i en update, hvis produktet bliver et hit.

  • 2
  • 12
#12 Morten Hansen

Nøj hvor er der mange gamle sure mænd som ikke har opfattet hvor genialt Java som programmerings sprog er, har været og fortsat vil være i mange år endnu. Når I sidder og blander NemID og java web applets sammen med programmeringssproget så viser det bare at I ikke kan hæve jer over "Nationen!" niveauet der efterhånden dominerer herinde. Tak til Cristian for et fornuftigt indlæg der stiller spørgsmålstegn ved de standard gut-reaction indlæg andre efterhånden bare kaster ud i flæng. Der burde være krav om bare en smule erfaring med selve sproget før man må udtale sig i indlæg derom.

Og lad os lige blive enige om at Java og C# er nøjagtigt den samme idé udformet på næsten nøjagtigt den samme måde, C# har taget alt det gode fra java og tilført endnu mere godt - sikkerhedsproblemerne kommer også til at være der, men det er sgu værd at leve med når man tænker på hvor hurtigt man kan opbygge komplekse systemer i de to sprog.

  • 18
  • 2
#13 Martin Kofoed

Som Java-udvikler kan jeg se, at man også her bør sende en varm tak til DanID for at smadre folks generelle opfattelse af platformen. Man skulle næsten tro, det var bestilt arbejde ...

Til de fleste brokrøve i denne tråd: må man stilfærdigt bede jer om at bruge et minimum af tid til lige at sætte jer ind i, hvad Java egentlig er. Så kan I i det mindste udtale jer på et oplyst grundlag.

Jeg er 100% enig i, at Java Applets er noget skod. Browser plugins er helt generelt noget skod (Flash, Silverlight osv.). Men Applets har jo også cirka nul opmærksomhed i dag. Det er en irrelevant teknologi, og det var det desværre forlængst, da DanID fik den geniale idé at tage det i anvendelse.

  • 10
  • 2
#15 Robert Larsen

Helt enig med Martin Kofoed. Applets sucks, og det er dér der er sikkerhedsproblemer, fordi enhver hjemmesideejer har direkte adgang til JVM'en, og dét var (er) ret skidt.

Det er så ikke tilfældet med desktop/serverside/embedded.

Mon ikke mange herinde bruger Eclipse? Eller IntelliJ/WebStorm/PHPStorm? Hvad med Tomcat? Eller ElasticSearch? Eller måske har en Android baseret smartphone?

Java performer vanvittigt godt og er ikke på vej væk. Væk fra browseren forhåbentlig, men ikke fra desktop, server og embeddede devices.

  • 5
  • 0
#16 Daniel Gertsen

Personligt så kan jeg rigtig godt lide Java, men ja at trykke "update" er VIRKELIG hårdt. Da det tager 2-3 sekunder ud af min hverdag :(

For det første, så tager det en del længere tid at opdatere, når altså opdateringen overhovedet virker. Derudover så skal man se sig for, for at undgå at blive inficeret med Ask Toolbar eller andet skrammel der er bundled med opdateringen, og tilvalgt som default. Ikke noget at sige til at folk hader Java - det behøver vi ikke give DanID skylden for, det har Java klaret helt selv. Omend DanID hjalp lidt til ved at kræve Java. Sidst men ikke mindst, så sker det altså ret tit at opdateringerne ikke kan finde ud af at opdatere en eksisterende version, men kræver at man fjerner Java fra Windows først, og så installerer opdateringen igen.

Java giver rigtigt meget bøvl til system administratorer og supportere.

I hvert fald på Windows.

Og jeg vil gætte på at ca. 95-99 % af problemerne skyldes dårlige installers. Drop eksempelvis at bundle crapware. OG drop evt. at man først skal hente en lille installer, der downloader en større installer og starter den bagefter. Der er for meget der kan (og gør) gå galt.

Det alene er (efter min mening) gyldig grund til at være sur på Java på desktoppen.

  • 0
  • 3
#17 Helge Svendsen

Jeg har da ikke i mange år anvendt Java til andet end det blåstemplede misfoster NemID. Hvis alt går vel, så kommer JavaScript/Ukendt_X efterhånden over de næste år, og erstatter Java.. vi får se om ikke det offentlige + Nets + banker + ? øger seriøsiteten omkring datasikkerhed, så Java ryger helt ud.

Du vil slet ikke vide, hvor mange gange dagligt du bruger Java.

Det er, i sin mest rendyrkede form, et serverside framework. Så med mindre du ikke bruger andre internet sider end v2, så har du måske ret.

Ellers ikke.

Og hvis man er lidt fræk, så kan man godt tillade sig at kalde C#/.NET for Microsoft java.

  • 3
  • 1
#20 Kasper Hansen

Der er ikke noget galt med Java, andet end den tvivlsomme brug af sproget i visse situationer. Det kommer bag på mig igen og igen at nogle mennesker ikke kan se fordelen ved Java, blot fordi der er visse funktionaliteter der er blevet brugt uheldigt - bla. applets både som GUI og mhp. socket kommunikation til en webside.

Men sådan er det vel; haters hate.

  • 0
  • 1
Log ind eller Opret konto for at kommentere