Nu de Java SE 7 JDK beschikbaar is, richten alle ogen zich op de volgende editie, Java 8. Meteen ook het onderwerp van de ‘strategie’-keynote op JavaOne in San Francisco.
Het thema van deze JavaOne was overigens ‘Moving Java Forward’ en die boodschap werd breed onderbouwd. Allicht niet zonder reden, want in de voorbije tijd leek het wel alsof Java werd afgedaan als ‘passé’, op de terugweg, een afgelopen zaak. Maar dus niet op deze JavaOne. Integendeel, Hasan Rizvi, senior vp Oracle Fusion Middleware en Java, startte de ‘strategie’-keynote op JavaOne met een overzicht van de verwezenlijkingen in de voorbije 18 maanden, sinds de overname van Sun door Oracle definitief was beklonken. “De droogte is voorbij,” klonk het. Naast de Java 7 JDK (software development kit) voor de Standard Edition werd ook Java SE 7 for embedded (ingebedde systemen) uitgebracht, evenals JavaFX 2.0 en GlassFish 3.1.1. Rizvi kon die dag tevens de JDK 7 ‘preview’ voor Mac OS X aankondigen, tot groot enthousiasme in de zaal. Ook wordt er hard gewerkt aan de specificatie van Java 7 Enterprise Edition. In de marge waren in de voorbije periode ook nog versies van NetBeans, de Java applicatie-ontwikkelingsomgeving, voorgesteld, zoals NetBeans 7.1 (met JavaFX ondersteuning).
Een tweede pijler – de ‘community’ rond Java – leefde eveneens op, met zowel IBM, Apple, SAP en Azul als nieuwe leden van de OpenJDK – de open source groep die momenteel de referentie-implementatie van de Java Standard Edition JDK verzorgt. Op JavaOne 2011 werd overigens ook Twitter onder luid applaus lid van deze groep. Tevens worden de Java gebruikersgroepen (JUGs) meer bij de zaak betrokken, met een vertegenwoordiger in het bestuur van het Java Community Process (JCP). Dit laatste is het officiële orgaan dat formeel over uitbreidingen van Java beslist, maar dat in de naweeën van de overname zijn relevantie leek te verliezen. Toch niet, want “de JCP werkt opnieuw,” aldus Rizvi, met nieuwe jsr’s (verzoeken rond Java) en een verbeterde, meer transparante werking.
Voorts wees Rizvi ook op de verwezenlijkingen van het ‘Oracle leadership’ rond Java, wat meteen ook geen twijfel liet dat Oracle allicht meer nog dan Sun het Java-platform in strakke(re commerciële) banen zal leiden.
Vooruitgang
Cruciaal is het besef dat Java een platform vormt, met een taal, virtual machine, een reeks api’s en omkaderende frameworks en producten. De ontwikkeling ervan is dan ook een evenwichtsoefening tussen meer features/nieuwigheden en stabiliteit. Omdat in Java 7 werd gekozen om sneller een nieuwe versie uit te brengen schoven een aantal nieuwigheden door naar Java 8. Maar omdat de Java-gemeenschap eveneens te kennen heeft gegeven een langere stabiliteit tussen de verschillende versies te verkiezen, stapt Java over op een tweejaren-cyclus van nieuwe versies. Het gevolg is dat de Java 8 JDK pas voor medio 2013 op het programma staat, en niet in 2012.
Rizvi en de zijnen menen dat er sowieso nog verbetering mogelijk is, zoals inzake nieuwe applicatiemodellen, een vlottere ‘roll out’ van toepassingen, meer productiviteit voor Java-ontwikkelaars, evenals betere ‘runtime performantie/monitoring’ en ‘diagnose’ tools.
Het lijstje van mogelijke items in Java 8 klinkt dan ook wat als ‘something old, something new’, zeg maar een mix van oude beloften en nieuwe mogelijkheden. Zo komt er meer modulariteit met Project Jigsaw zowel voor het modulair maken van toepassingen als voor het platform zelf. Daarnaast is er Project Lambda, met het oog op de invoering van ‘closures’ en functioneel programmeren. Twee voorbeelden van gedane beloften die nu (eindelijk) in Java 8 worden nagekomen.
Daarnaast komt er nog een geheel nieuwe JavaScript-engine (Project Nashorn), naast een JavaScript/Java interoperabiliteit op de JVM. In deze versie wordt ook een complete convergentie van Oracle JVM’s, in het bijzonder de JRockit en HotSpot jvm’s, gepland. Zo zullen elementen uit JRockit, inclusief Mission Control en Flight Recorder worden geïntegreerd.
Andere uitbreidingen betreffen Multi-touch (in JavaFX) en voorzieningen voor een camera, locatiebepaling, kompas en versnellingsmeters. Met het oog op meer productiviteit komen er annotaties op ‘types ‘ (de jsr 308). Bij de api’s wordt er onder meer gesleuteld aan de securityfaciliteiten, datum/tijd (jsr 310), internationalizering, packaging/installation etc.
Ook zal in Java 8 al JavaFX 3.0 zijn opwachting maken. Java 8 zal van bij de introductie beschikbaar zijn op Windows, Linux, Solaris en Mac OS X. Tegelijk zal ook een aangepaste versie van NetBeans – NetBeans.next – uitkomen.
In afwachting van Java 8 zullen er wel nog een aantal Java 7 updates zijn, met in het komende jaar onder meer de definitieve versies van de JDK voor Mac OS X voor ontwikkelaars en de Mac OS X JRE port voor eindgebruikers.
Quid Java EE 7
Eens er een nieuwe versie van Java SE is, wordt er uit gekeken naar de Enterprise Edition op basis hiervan. Terwijl Java EE 6 nu goed ingang begint te vinden in de bedrijven – de snelste uptake ooit van een Java EE, aldus Oracle – wordt er dan ook al stevig gewerkt aan Java EE 7 (met al wat demo’s op JavaOne).
Voorop in dit werk staat de trend bij bedrijven in de richting van meer dynamische, on demand self service omgevingen. “Java EE moet de standaard voor ‘platforms as a service ‘worden,” windt Cameron Purdy, vp Oracle development, er geen doekjes om, “de standaard voor ‘cloud enablement’.”
In Java EE 7 zullen al ‘auto-provisionings’-diensten worden geboden, naast het voormalige systeem van resource configuratie. Daaraan zal ook een elasticiteit voor ‘capacity on demand’ en een ‘autonomic service level management’ worden gekoppeld, met in de api’s al de mogelijkheid tot ‘multitenancy’ voorzien. Andere uitbreidingen betreffen voorts een JMS 2.0 (een makkelijker programmeermodel voor boodschapgesteunde toepassingen), een caching api (op applaus onthaald), evenals meer ondersteuning voor CDI en REST. De bouwers van producten zullen oudere api’s optioneel kunnen ondersteunen.
Voorbij 8
Ook op langere termijn, ‘voorbij Java 8’, zijn er nog genoeg elementen waar kan worden aan gewerkt. Zo zal het Java-platform nog de mogelijkheid uitbreiden om meerdere talen te kunnen draaien. Eén runtime voor verschillende talen, dat is de boodschap van OpenJDK en JCP leden als Twitter. Oracle zegt ook toe JNI (de Java Native Interface voor integratie met software in andere talen) aan te pakken.
Ook het cloudgebeuren zal nog aan belang winnen, goed voor aanpassingen met het oog op multitenancy clouds en een resource beheer in de VM zelf. Voorts wordt ook gedacht aan een grotere gebruikseenvoud, zoals een ‘self tuning jvm’.
Ook ease of use, zoals een self tuning jvm, evenals optimalisaties, zoals een ‘unified type system’. Wat daarvan in huis komt, is evenwel nog kristallen bol gluren. Wel is duidelijk dat het tijdperk van ‘Java door techneuten en ontwikkelaars’ wel achter de rug ligt. Met de overname van Sun (en dus Java) door Oracle en het groeiend belang van de OpenJDK-groep (met een zwaarder gewicht van grote bedrijven) lijkt het duidelijk dat de toekomst van Java meer door commerciële overwegingen zal worden geleid. Of zoals IBM het op deze JavaOne bondig stelde: “competition driven innovation”.
Guy Kindermans
MET DE OVERNAME VAN SUN EN HET GROEIEND BELANG VAN DE OPENJDK-GROEP LIJKT HET DUIDELIJK DAT DE TOEKOMST VAN JAVA MEER DOOR COMMERCIELE OVERWEGINGEN ZAL WORDEN GELEID.
Fout opgemerkt of meer nieuws? Meld het hier