Op de eerste Javadag van Sun vorig jaar zat de zaal vol met C++-programmeurs. Op de tweede dag, een jaar later, was de zaal gevuld met adviseurs, juristen en directeuren – een teken van de snel groeiende belangstelling voor het Javaplatform. Carol M. Adams, van Sun Microsystems USA, over deze trend.
Vier jaar geleden had nog niemand van Java gehoord, nu is het ’t gesprek van de dag. Computable-columnist Martin Healey stelt dat alle innovaties op Java gebaseerd zullen zijn. Hoe is die ontwikkeling verlopen? Adams: "Als je het verhaal van James Gosling, de leider van het team dat Java ontwikkelde, moet geloven: volledig onverwacht. De taal was ontworpen voor gebruik in een set-top box, een kastje op de televisie dat de toegang tot kanalen regelt. Gosling stelde de specificaties en enige hulpmiddelen beschikbaar via Internet. Binnen de kortste keren kwam er een enorme respons van programmeurs. Waarom? Ik denk dat het moment precies goed was. Waarschijnlijk hadden veel programmeurs behoefte aan wat eenvoudigers. Mede door de uitstekende multimedia-mogelijkheden van Java konden ze makkelijker programma’s maken voor Internettoepassingen."
"Iedereen zal vertellen dat na programmeren in C++ Java het plezier van programmeren terugbrengt. Wellicht omdat het nieuw is, maar vooral ook omdat je er veel compactere programma’s mee kan schrijven. Belangrijk is tevens dat programma’s in Java eenvoudiger te debuggen zijn. De JVM (Java Virtual Machine) neemt het hele geheugenbeheer over, zodat een programmeur zich geen zorgen meer hoeft te maken over pointers, memory leak (het niet vrijgeven van geheugenposities na afloop van een programma) en dergelijke. Bij C++ vraagt debugging veel tijd van de programmeurs, en ze vinden dat een vervelend karwei."
Het idee om de JVM, een platform-onafhankelijke interface, te definiëren tussen de programmeer- en de machinetaal is één van de redenen voor het succes. Dit zorgt ervoor dat de programma’s goed leesbaar blijven en dat het resultaat van de compilatie, Java-bytecode, overal kan werken. Dat is uniek in de computerwereld. Hoe is dat idee ontstaan? Adams: "Gosling realiseerde zich dat hij een programmeertaal moest ontwerpen voor zeer verschillende set-top boxes. Hij kende de problemen in de computerwereld, waar elk programma voor een speciale computer gecompileerd moet worden, en bedacht daarom deze universele oplossing. De JVM is zo ontworpen dat hij ook gemakkelijk te realiseren valt in de vorm van chips voor allerlei apparaten."
Een front vormen
Sun heeft veel computerbedrijven en apparatenbouwers achter zich gekregen. Hoe loopt die samenwerking? Adams: "Die is leuk; het is verfrissend om opeens samen aan tafel te zitten met je concurrenten en elkaar te enthousiasmeren. Dat was vroeger ondenkbaar. Iedereen heeft ook de juiste instelling en beseft dat het in ieders voordeel is om de taal en de systemen zo open mogelijk te houden. Die geest van samenwerking is duidelijk afkomstig van Internet. De programmeurs hebben dat goed weten over te brengen op hun management. De interesse voor Java is van onder naar boven gegroeid. Programmeurs hebben hun management gewezen op de voordelen van Java en de leiding pikt dat nu op. Dat is uniek in de computerwereld. Mede daardoor is in zo’n korte tijd zo’n enorme beweging ontstaan."
"We denken dat wereldwijd al zo’n vierhonderdduizend mensen in Java programmeren en dat dit aantal volgend jaar zal verdubbelen. Er zijn nu al zo’n 165 boeken over Java verschenen. Dat is allebei meer dan C++ in tien jaar tijd heeft weten te bereiken [maar waarschijnlijk niet meer dan C en C++ gecombineerd – red]. De ontwikkelingen en invoering zullen snel gaan. Daarbij doen we ons best om ervoor te zorgen dat Java zuiver blijft, dat wil zeggen dat de platform-onafhankelijkheid zo goed mogelijk wordt waargemaakt. Kleine problemen zullen onvermijdelijk optreden, maar we proberen die zoveel mogelijk op te vangen."
De indruk bestaat dat de Java-alliantie vooral bedoeld is om een front te vormen tegen Microsoft en de Windows-hegemonie. "Dat zal bij sommige bedrijven best meespelen, maar ik ben ervan overtuigd dat iedereen toch de platform-onafhankelijkheid als hèt grote goed ziet", reageert Adams. "Iedereen kan er alleen maar bij winnen als we samenwerken om dat te realiseren. Ik vind het daarom jammer dat Microsoft er niet volledig achter staat. Het heeft wel een Java-licentie en ondersteunt het in zijn browser. Daarom moet het wel de Java-api’s (application programming interface) ondersteunen. Het houdt de ontwikkelaars echter gevangen in zijn web, door te eisen dat die de Microsoft JVM gebruiken voor hun toepassingen, willen ze het Windows 95-logo kunnen voeren. Omdat die JVM niet gecertificeerd is, bestaat er geen garantie dat de toepassingen overal goed werken. Ik denk dat Microsoft, als Java binnen ondernemingen vaste voet aan de grond krijgt, op zijn schreden zal terugkeren. We trachten zulke blokkeringen ten koste van alles te vermijden."
Overal een licentie voor
Tijdens de Javadag pleitte Adams voor het certificeren van Java-programmatuur, om er zeker van te zijn dat de programma’s inderdaad op alle gewenste platformen draaien. Waarom is die certificatie zo essentieel? Adams: "We hebben richtlijnen gemaakt voor goed programmeren in Java, maar we weten allemaal dat programmeurs wel eens dingen niet helemaal volgens het boekje doen, dat ze soms een moeizame weg afsteken. Als het gaat om één platform komt dat soort zaken er bij het testen meestal wel uit. Het is echter voor vrijwel iedereen ondoenlijk om alle programma’s op alle platformen te testen. Daarom hebben we een onafhankelijke testinstelling, Keylabs, in het leven geroepen. Die test voor negenhonderd dollar programma’s op de gewenste platformen en geeft zonodig raad over hoe je bepaalde dingen beter kan doen." Keylabs is gevestigd in de VS. Sun is bezig een dergelijke instelling ook in Europa van de grond te krijgen.
Suns argument is dat Java open is en Windows gesloten (leveranciersgebonden), maar je moet bijna overal een licentie voor nemen. Je mag zelfs de naam Java niet gebruiken in samenstellingen, alleen in de vorm van … for Java. Hoe open is Java eigenlijk? "Het is niet meer dan logisch dat je beloond wordt voor het werk dat je gedaan hebt en nog steeds doet", betoogt Adams. "We doen het uiterste om ons werk tegen redelijke voorwaarden voor iedereen ter beschikking te stellen – daar heb ik nog nooit een klacht over gehoord. Als er iets ontwikkeld wordt, krijgen de partners het op hetzelfde moment als onze mensen. Afgezien van de handhaving van onze intellectuele eigendomsrechten leggen we niemand voorwaarden op over bundeling met andere programma’s of apparatuur. Overigens realiseren we alle api-ontwikkelingen samen met onze partners. De Javacard-api bijvoorbeeld wordt samen met Schlumberger en Gemplus ontwikkeld – zij zijn de experts op dat gebied."
Revolutie
Groeit Java uit tot de dominante programmeertaal? Gaat het C en C++, destijds binnengehaald als de universele programmeertaal voor grote en kleine computers, vervangen? "Als je ziet hoe snel Java om zich heen grijpt en welk momentum achter deze trend zit, lijkt me dat best mogelijk", zegt Adams.
"Denk echter niet dat Java eenvoudig te leren en te gebruiken valt: het is een echte programmeertaal. Bovendien gaat het niet alleen om Java, maar ook om de diverse Java-bibliotheken voor het realiseren van allerlei functies. Die zijn voor een goed deel nog in ontwikkeling. Verder is het een object-georiënteerde taal. Die manier van programmeren ligt lang niet iedereen. Bovendien moet nog veel procedurele programmatuur onderhouden worden. Voor nieuwe programma’s ligt Java voor de hand, vooral als een hoge uitvoeringssnelheid geen eerste vereiste is. Er moet nog wel het nodige gebeuren, bijvoorbeeld op het gebied van beveiliging, een heikel punt voor alles wat met Internet te maken heeft, maar daar komen we wel uit."
Adams vervolgt haar betoog enthousiast. "Java gaat niet alleen over Internet en computers, maar vooral ook over apparaten met processoren. Schlumberger is vast van plan dit jaar een smartcard met een JVM uit te brengen, en dat is nog maar het begin. Onder andere Nokia en Nortel zijn druk bezig met telefoons met een JVM. Ik voorspel dat we de komende twaalf maanden veel apparaten met een JVM zullen zien. Dan zal iedereen pas echt zien hoe waardevol het Java-concept is. Als iedereen blijft vasthouden aan de uitgangspunten, zal Java een revolutie veroorzaken in de gehele digitale wereld."
Hein van Steenis, freelance medewerker van Computable
JAVA-GEBRUIK
Alles, maar dan ook alles wat Sun in zijn operationele dagelijkse werk gebruikt, javatiseert het, zowel de kantoorautomatisering als het systeem- en netwerkbeheer. Hiervoor worden toepassingen en systemen herschreven of herontworpen in Java, of bruikbaar gemaakt in Java via X Windows/CDE. In dat kader voert Sun nu het Javastation 3000-programma in: het zal dit jaar drieduizend Javastations in gebruik nemen voor het dagelijkse werk. Bij deze grootscheepse invoering zullen alle persoonlijke bestanden, e-mail en toepassingen op de netwerkservers worden opgeslagen in plaats van op de desktop.
Het concept van de webtop, vervanger van de desktop, zal de manier waarop medewerkers met elkaar communiceren sterk veranderen. Bij deze Internettechnologie worden e-mail-adressen, bestandsnamen en URL’s (Universal Resource Locator) gebruikt. Groepsberichten komen terecht in een groepsmailbox, waarin de informatie eenmalig wordt opgeslagen en voor alle groepsleden direct beschikbaar is. Hierin worden ook nieuwe gereedschappen opgenomen, waardoor deze eenvoudig te integreren zijn in de werkomgeving van de groep. De overschakeling van Suns al jaren bestaande intranet naar Internetprotocollen zal evolutionair plaatsvinden. Naar verwachting zal de Java-beweging van front-end/clientzijde verder doorschuiven naar de serverzijde, en zich eventueel ook uitbreiden naar databases en dergelijke. De termijn waarop dit gebeurt valt nog niet te voorspellen. Uiteindelijk houdt slechts ongeveer 2 procent van de medewerkers een volledig desktop-werkstation voor complexe technische werkzaamheden.
Eén van de volledigste invoeringen van Java als basis voor de bedrijfsautomatisering vindt plaats bij CSX, een Amerikaanse, wereldwijd opererende vrachttransporteur met een jaaromzet van 10,5 miljard dollar. CSX beschikt over vrachtboten die in meer dan zeventig landen aanleggen, en in de VS over een spoorwegnet van vijftigduizend kilometer en de enige integrale vrachtdienst. De afgelopen maanden is CSX-dochter CSX Technology bezig met een proef met Sun Javastations in heterogene computeromgevingen die intra- en extranetten van het gehele bedrijf verbinden. Dit is één van de grootste bedrijfskritische toepassingen die ooit in Java zijn geschreven. CSX schat dat het gebruik van Sun Javastations een besparing van 70 procent zal opleveren vergeleken met alternatieve Java-werkstations.
Het Amerikaanse Florists’ Transworld Delivery (FTD) wil overstappen op Java Enterprise Computing. Doel is de dienstverlening aan de aangesloten leden verbeteren. FTD is rond 1910 ontstaan. De nieuwe dienst moet het gevoel van samenwerking en gemeenschapszin terugbrengen.
Dit voorjaar zijn zes Amsterdamse scholen aangesloten op Internet. Daarbij zijn Suns Netra-j en Javastations gebruikt. Tegelijkertijd is de ontwikkeling van onderwijssoftware in Java gestart. De installatie maakt deel uit van het project Ciao (Computers in het Amsterdamse onderwijs), een initiatief van de Stichting academisch rekencentrum Amsterdam (Sara) en Sun Microsystems.
Ook andere leveranciers zijn druk bezig met Java. Corel heeft ondermeer de complete Wordperfect-suite herschreven (http://www.corel.com/). Novell werkt nu aan de beschikbaarheid van NDS (Novell Directory Services) via Java’s Jndi (Java naming & directory services). Het zal bovendien de JVM op zijn NOS (Network OS) beschikbaar stellen. Ook veel andere leveranciers werken aan Java-producten. Die komen waarschijnlijk in de tweede helft van dit jaar uit.
CERTIFICERING
Informatie over het certificeringsproces dat leidt tot een ‘100 procent puur Java’-certificatie is online beschikbaar op: http://www.suntest.com/100percent/.
Het certificeringsproces is onderverdeeld in twee fasen. De ontwikkelaar voert de eerste fase, Assurance, uit. Hij begint met registratie, waarna hij het certificeringspakket kan ontvangen. Vervolgens gaat hij statisch testen, om te verzekeren dat het programma geschreven is volgens de regels gegeven in het ‘100 procent Pure Java Cookbook’. Daarna gaat hij dynamisch testen door middel van een geautomatiseerde testdriver. Daarbij moet hij aangeven welke methodes de test uitvoert. Enkele testdrivers en voorbeelden staan in het certificeringspakket. Tot slot stuurt hij het programma met de resultaten in.
Keylabs (VS) voert de tweede fase, Verification, uit. Deze fase begint met een audit, om te zien of de inhoud compleet is. Daarna volgt statisch testen van het programma, om te zien of het aan de regels voldoet. Vervolgens vinden setup en installatie op de gespecificeerde Java-platformen plaats. Dan is het tijd voor dynamisch testen, waarbij de resultaten worden vergeleken. Tot slot volgt certificering, als geen onregelmatigheden zijn geconstateerd. Indien Keylabs afwijkingen constateert, stuurt het daarover details mee.
Het certificeringsproces bekijkt dus uitsluitend of een programma 100 procent puur Java is, en niet of het efficiënt geschreven is of een functie goed en volledig verricht. Een programma kan de grootste onzin bevatten en toch gecertificeerd worden. Het doel van certificeren is uitsluitend om vast te stellen dat het programma werkt op de gespecificeerde platformen.
GEBRUIKERSCLUBS
De officiële Belgische Java-gebruikersclub heet Bejug en is te vinden op: http://www.bejug.org/. Naast deze website biedt de vereniging nieuwsgroepen, bijeenkomsten, Java-workshops en werkgroepen. Lidmaatschap met stemrecht kost 2.500 Belgische francs. Studenten krijgen korting tot 500 Belgische francs. Verder zijn er mogelijkheden voor bedrijfslidmaatschappen. Men kan zich online registreren als lid.
De Nederlandse Java-gebruikersclub is in oprichting, onder de werknaam Java User Group NL. Thije Bakker (This) en Rob van Schaick (XpuntX) namen hiertoe het initiatief. Ernst Fuld is gevraagd als voorzitter voor de voorbereiding van de oprichtingsvergadering, die deze zomer zal plaatsvinden. Men kan zich hiervoor aanmelden via de website van Sun (http://www.sun.nl) of schriftelijk bij het NGN (ter attentie van E. Fuld, Postbus 319, 4000 AH Tiel).