Inhoud leereenheid 5. Java als fenomeen. Introductie 205. Leerkern 208. Samenvatting 235. Zelftoets 236. Terugkoppeling 236

Maat: px
Weergave met pagina beginnen:

Download "Inhoud leereenheid 5. Java als fenomeen. Introductie 205. Leerkern 208. Samenvatting 235. Zelftoets 236. Terugkoppeling 236"

Transcriptie

1 Inhoud leereenheid 5 Visueel programmeren met Java Introductie 205 Leerkern Ontstaansgeschiedenis van Java De ontwerpdoelen van Java Java en het internet Applets, applets en nog eens applets! Java in het bedrijfsleven Ontwikkelomgevingen voor Java Meer informatie over Java 232 Samenvatting 235 Zelftoets 236 Terugkoppeling 236 Uitwerking van de zelftoets

2 Leereenheid 5 Leereenheid 5 I N T R O D U C T I E In de eerste leereenheden van dit blok hebt u kennis gemaakt met een programmeeromgeving waarmee we Java-programma s kunnen ontwikkelen en hebt u geleerd om zelf eenvoudige Java-applets te maken, gebruikmakend van bestaande Java-klassen. Als afsluiting van dit inleidende blok willen we u laten kennismaken met Java als verschijnsel en u proberen duidelijk te maken waarom Java tot zo n enorme hype heeft kunnen leiden binnen de wereld van de informatieen communicatietechnologie. Vanaf het moment dat Java in mei 95 officieel door Sun Microsystems werd aangekondigd, hebben de vaktijdschriften en zelfs vele dagbladen tal van artikelen gewijd aan Java en de invloed van Java op informatica in het algemeen en op internet in het bijzonder. Leestekst Zie als voorbeeld het artikel uit Computable van 14 maart 97 van een van de goeroes uit de informatica Martin Healey op de volgende pagina. Lees het artikel alleen globaal door, u wordt niet geacht het volledig te begrijpen. Was de Java-hype de eerste jaren vooral het gevolg van de mogelijkheden die Java-applets boden, daarna is het succes uitgebouwd dankzij de mogelijkheden die Java biedt voor het maken van complete gedistribueerde systemen, waarbij niet alleen Java aan de client-kant van belang is, maar vooral ook de server-kant belangrijk is. Java is daarmee veel meer geworden dan een programmeertaal, veelal wordt dan ook gesproken over Java als platform. In deze leereenheid proberen we u een idee te geven hoe Java is ontstaan (paragraaf 1), wat de ontwerpdoelen zijn die aan Java ten grondslag hebben gelegen (paragraaf 2), hoe de relatie ligt tussen Java en het internet (paragraaf 3). We zullen u laten kennismaken met een aantal applets zoals die op het www (world wide web) inmiddels in grote aantallen worden getoond (paragraaf 4). Ook zullen we in paragraaf 5 laten zien dat Java zich niet alleen richt op applets, maar dat het een volwaardige programmeertaal is, waarin ook tal van op zichzelf staande toepassingen (applicaties) zijn ontwikkeld. We proberen een globaal overzicht te bieden van het aanbod aan Javaontwikkelomgevingen (paragraaf 6). We zullen daarbij wat extra aandacht besteden aan de door Sun beschikbaar gestelde Java 2 software development kit (SDK), een relatief eenvoudige programmeeromgeving die ten grondslag ligt aan geavanceerde omgevingen zoals JBuilder. In de laatste paragraaf geven we nog wat verwijzingen naar andere informatiebronnen over Java, zoals boeken, tijdschriften en nieuwsgroepen. 205

3 Visueel programmeren met Java COLUMN Martin Healey Java: een bevrijding Er is geen twijfel mogelijk: de introductie van Java is niets minder dan een revolutie. De meeste startende bedrijven in Californië en elders hebben de PC de rug toegekeerd en richten zich nu volledig op Java-applicaties. Dit zal de komende jaren een enorme impact op de ITindustrie hebben. De redenen voor het succes van Java zijn ingewikkeld. De taal werd in eerste instantie gebruikt voor het ontwikkelen van objecten die dynamisch in een webbrowser konden worden geladen, zodat de terminal waarop de browser draaide, ze kon uitvoeren. Men zag dit als een grote verbetering ten opzichte van de veel eenvoudiger sequentiële scripts die aanvankelijk werden gebruikt om invulformulieren en dergelijke in browsers te implementeren. Java is echter meer. Java als programmeertaal is object-georiënteerd; het is niet de eerste object-georiënteerde taal (denk aan Smalltalk en Eiffel) maar misschien wel de laatste. De syntax van Java is afgeleid van C++, in tegenstelling tot Smalltalk, dat nergens van afgeleid is. Java is daarom niet zo puur als Smalltalk maar heeft een veel groter commercieel draagvlak. Grof gezegd is Java een soort C++, maar dan zonder C. Dat is een enorme stap voorwaarts. C++ was een object-georiënteerde uitbreiding van C, en bevat daarom veel traditionele, procedurele en andere eigenschappen van systeemtalen; C had nooit voor applicaties gebruikt mogen worden. Java heeft alles in zich om een echte, object-georiënteerde standaardtaal te worden. De Java-klassebibliotheken zijn niet compatibel met C++-bibliotheken. De voortschrijdende ontwikkeling van de taal zal zich richten op de klassebibliotheken, maar ook op uitbreidingen van de taal zelf. De huidige opwinding rond Java draait om het aanmaken van actieve objecten die kunnen samenwerken met Internet-tools. In deze omgeving worden Java-applicaties gecompileerd tot standaard bytecode formaat en gekoppeld aan Html-pagina s op web-servers. Deze objecten worden geïnterpreteerd in de browser. De web-pagina s worden pas van de server geladen als ze nodig zijn. Momenteel werkt men aan de ontwikkeling van compilers die de bytecode à la minute vertalen en van cacheing, een techniek om de performance te verbeteren. De belangrijkste eigenschap van de Java-objecten is dat ze onafhankelijk zijn van de processor waar zij op draaien, zodat Java-applicaties op een breed scala van platforms kunnen worden geïmplementeerd. De industrie wordt hierdoor bevrijd van het juk van Microsoft en Intel. Het zijn natuurlijk nog steeds opties, maar de wurggreep is gebroken, waardoor de concurrentie eindelijk kan losbarsten. Dit zal weer leiden tot een toename van kwaliteit, value for money èn functionaliteit. Naast de technische kwaliteiten is dit de ware reden voor het succes van Java; het is een kans voor de volgende generatie softwarehuizen om marktaandeel van Microsoft af te nemen. Daarom zijn IBM, Sun en Oracle de applicatie-ontwikkelaar zo behulpzaam. Tenminste, zolang hij voor Java kiest en Active X maar links laat liggen. Commerciële kansen wegen nu eenmaal zwaarder dan gelijk hebben. In de Internet-wereld worden de klassebibliotheken van Java bepaald door de browsers; zij concentreren zich op gui-interfacing, simpele privé-bestandjes en toegang tot het Tcp/ip-netwerk. Andere standaardfuncties worden daaraan toegevoegd, zoals Jdbc voor de toegang tot SQLdatabases, vergelijkbaar met Odbc en samenwerking met het gedistribueerde object-model, Corba, door middel van Joe. Omdat Java-objecten dynamisch worden geladen, bevinden sommige objecten zich niet op applicatieniveau, maar op systeemniveau. Een object waarmee remote procedure calls kunnen worden uitgevoerd voor Tuxedo- of Cics-transacties, zou de deur openen voor Java en NC s in transactiesystemen. Dat zal ongetwijfeld gebeuren. Alleen Microsoft zal met Active X proberen om Java aan PC-applicaties te koppelen, waardoor het niet op andere platformen zal draaien. Versie 4 van OS/2 heeft een geïntegreerde Java runtime-module. Een browser, Netscape Navigator, is leverbaar als optie. Maar als alle nieuwe ontwikkelaars met Java werken, dan zal OS/2 alle nieuwe applicaties kunnen draaien, terwijl Windows zijn belangrijkste voordeel kwijtraakt! Het is toch een vreemde wereld. Java moet ook een algemene ontwikkeltool worden die C++ de komende twee jaar gaat vervangen. De tijdsschaal is afhankelijk van de beschikbaarheid van volwassen programmeeromgevingen en klassebibliotheken. Dit gebeurt vrij snel voor de huidige pc-sector vanwege alle gui-ontwikkelomgevingen die reeds verkrijgbaar zijn voor C++, Smalltalk, Er is geen twijfel over mogelijk: de Introductie van Java is niets minder dan een revolutie. Visualbasic en dergelijke. Deze systemen kunnen gebruik maken van de mechanismen voor het afhandelen van schermen en gebeurtenissen en bieden een omgeving waarin de klassebibliotheken ongestoord verder kunnen rijpen. Sun, Microsoft, Borland, Symantec en IBM leveren momenteel Java-ontwikkelomgevingen. Zij vervangen de huidige compilers door Java-compilers (en debuggers), maar behouden de omgeving die de programmeur zo goed kent, inclusief het beheer van de broncode. 206

4 Leereenheid 5 LEERDOELEN Na het bestuderen van deze leereenheid wordt verwacht dat u een goed beeld hebt gekregen hoe Java is ontstaan en dit in eigen woorden kort kunt samenvatten een goed beeld hebt gekregen van wat de relatie is tussen Java en het internet, dat u applets kunt tonen in uw eigen webbrowser en dat u kunt aangeven waarom beveiligingscontrole van applets zo belangrijk is een goed beeld hebt gekregen van de mogelijkheden die Java biedt voor het bouwen van professionele toepassingen en in het bijzonder voor gedistribueerde toepassingen een goed beeld hebt gekregen van wat de Sun- en JavaWorldpagina s aan informatie over Java te bieden hebben op de websites van Sun, JARS en Java Boutique een aantal applets hebt bekeken een Java-applet waarvan de broncode bijvoorbeeld op het www of als bouwsteen op Studienet beschikbaar is, in kunt passen in een JBuilder-project en daar kunt verwerken van de gegeven ontwerpdoelen van Java er tenminste acht kunt noemen en van elk van de ontwerpdoelen uit kunt leggen waarom dit van belang is een goed beeld hebt gekregen wat voor andere nieuwsbronnen er zoal over Java bestaan, zoals boeken, tijdschriften en nieuwsgroepen kunt uitleggen wat de volgende begrippen betekenen en kunt aangeven wat hun rol is binnen Java: bytecode, virtuele machine, Java-enabled browser, Java-compiler, Java-interpreter, JIT-compiler, html, server side Java, garbage collection. Waarschuwing! Studeeraanwijzingen Deze leereenheid heeft een duidelijk andere functie dan de andere leereenheden uit deze cursus. Het is de bedoeling dat u vertrouwd raakt met en dat u allerlei begrippen die met Java te maken hebben, beter zult kunnen plaatsen. Ook wordt nadrukkelijk van u verwacht dat u met een browser die geschikt is voor Java, enige tijd rondsnuffelt op het internet. Als u zelf niet beschikt over een internetaansluiting en een voor Java geschikte browser, raden wij u ten zeerste aan er elders een op te zoeken. Op elk studiecentrum van de Open Universiteit zijn voorzieningen voor het surfen op internet. Lukt dit niet, dan kunt u deze leereenheid ook gewoon doorlezen en daarna verder gaan met leereenheid 6. U mist dan wel een inzichtgevend en motiverend deel van de cursus. Het is niet onmogelijk dat u bij het bezoeken van de in deze leereenheid genoemde webpagina s zo gefascineerd raakt door Java en alles wat daar omheen gebeurt, dat u veel meer wilt weten dan voor deze cursus noodzakelijk is. Ook is het niet ondenkbaar dat u het leuk vindt om uren achter elkaar allerlei Java-applets uit te proberen en wellicht al wilt begrijpen hoe de Java-code van deze applets werkt. Overigens kan bij een trage verbinding ook het wachten op een webpagina of de erin draaiende applet veel tijd kosten! We willen u erop wijzen dat dit alles niet echt noodzakelijk is voor het doornemen van de rest van de cursus. Wij gaan daarom uit van ongeveer 3-4 uur internetgebruik. Het geven van allerlei internetadressen in deze leereenheid moet u dan ook meer zien als een mogelijkheid om er gebruik van te maken, dan als een verplichting om dit te doen. Als u wat 207

5 Visueel programmeren met Java beter wilt weten wat nu wel en niet van u verwacht wordt, bekijk dan nog eens de hiervoor geformuleerde leerdoelen; een aantal hiervan zijn tamelijk expliciet gesteld: kunt, kunt uitleggen wat, een aantal zijn bewust wat vager geformuleerd: een goed beeld hebt gekregen van. Leereenheid 5 ook op internet Onthoud dat links naar internetsites kunnen verouderen! Studielast Omdat deze leereenheid een groot aantal webadressen bevat, hebben we de volledige leereenheid ook in pdf-formaat op het web gezet ( De juistheid van de hyperlinks uit de schriftelijke versie is minder goed te garanderen, gebruik daarom de linkspagina van de cursussite op Studienet. Als u zich weet te beperken tot 3-4 uur internetgebruik dan bedraagt de studielast van deze leereenheid circa 6 uur. L E E R K E R N Green team Aanleiding tot het Java-project 1 Ontstaansgeschiedenis van Java In 1990 besloot een van de software engineers van Sun Microsystems, Patrick Naughton, dat hij weg wilde bij Sun om een andere baan te accepteren bij NeXT. De reden hiervoor was dat hij zich vastgelopen voelde in een project dat zo fraai begonnen was, het NeWS-systeem (Networked/extensible Window system) onder leiding van de briljante en inspirerende James Gosling. Om dit NeWS-systeem te kunnen onderhouden, moest op een gegeven moment door Naughton s Windows group van 112 medewerkers ondersteuning worden geboden voor drie toolkits, drie Windowsystemen, drie hardwarearchitecturen, twee gebruikersinterfaces en twee versies van een besturingssysteem. Een constatering als er zit een fout in de scrollbarcode kon in feite te maken hebben met elk van de 108 verschillende combinaties. En dat was niet meer leuk. Toen hij de hoogste baas bij Sun, Scott McNealy, vertelde van zijn plannen om weg te gaan, vroeg deze Naughton om een lijst te maken van zijn klachten en een oplossing voor te stellen, as if you were God. Hij ging in op dit verzoek en hij spaarde daarbij niets of niemand: hij stelde voor het NeWS-project te schrappen en suggereerde dat de meeste van de ruim 100 medewerkers van de Window system group niet nodig zouden zijn als Sun in staat zou zijn om orde te scheppen in de technische chaos die was ontstaan, waarbij alles met alles moest kunnen worden gecombineerd. Hij mailde zijn commentaar naar McNealy en verwachtte dat het wel niet veel zou uithalen en wat zou het ook, hij ging immers toch weg. Het tegendeel bleek echter het geval. Zijn commentaar werd heen en weer g d tussen de toptechnici van Sun en Naughton kreeg veel steun voor zijn ideeën, zelfs van zijn mentor James Gosling en van Bill Joy, een van de oprichters van Sun, die beiden nog wat olie op het vuur gooiden door de problematiek in de top van de organisatie ter discussie te stellen. Het resultaat hiervan was dat Sun Naughton een aanbod deed om deel uit te maken van een klein team, the Green team, van de beste software engineers waaronder Gosling en Joy, met een heel open opdracht: make something cool. 208

6 Leereenheid 5 Oak Het team hield zich in de eerste periode vooral bezig met de toekomstige technologische mogelijkheden van consumentenelektronica, zoals (de opvolgers van) Nintendo Game Boys (mini spelcomputers), set-top boxes voor tv s (kastjes die video on demand mogelijk moesten gaan maken) en videorecorders. Wat daarbij opviel was dat al deze apparaten gebruik maakten van verschillende processoren, met als gevolg dat als fabrikanten bepaalde functies wilden toevoegen aan een tv of videorecorder, ze direct beperkt werden door de specifieke hardware en ingebakken programmatuur van het apparaat. Verder was er het probleem van de beperkte geheugens van die apparaten. Dit alles leidde tot een frisse, nieuwe benadering die een belangrijke rol zou moeten gaan spelen in dit marktsegment: hardware waarvan de functionaliteit van buiten af aangepast of uitgebreid zou kunnen worden door er nieuwe software aan toe te voegen. Het eerste product van het team was een nieuwe, objectgeoriënteerde programmeertaal, door Gosling Oak genoemd, naar de boom voor het raam van zijn werkkamer. Enigszins gebaseerd op C++ was de taal uitgekleed tot een minimum vanwege de beperkte geheugenruimte die beschikbaar zou zijn op de chips van de apparaten die het team voor ogen stonden. Tegelijkertijd werd flink wat onderzoek gedaan naar hoe en waarom mensen werden aangetrokken tot bepaalde videospelletjes en hoe de interactie ging met dergelijke apparatuur. FIGUUR 5.1 James Gosling, de architect van Java *7 Duke First Person Nadat de onderzoekgegevens waren verzameld, ontwikkelde het team een klein, op afstand te besturen apparaatje, *7 genaamd, met een kleine visuele interface. Het apparaat toonde een bewegend figuurtje, Duke genaamd, dat de gebruikers hielp door uit te leggen hoe het apparaat te gebruiken. Essentieel aan het ontwerp van *7 was de overtuiging dat de interface ervan uitdagend en leuk moest zijn en dat het apparaat een klein privéapparaat diende te zijn. Duke, een creatie van Joe Palrang, zou de mascotte worden van Java. Sun besloot het inmiddels sterk uitgebreide Green team om te vormen tot een afzonderlijk bedrijf, genaamd First Person. Het bedrijf had een goed concept maar nog geen idee wat ze er precies mee moesten doen. 209

7 Visueel programmeren met Java Uiteindelijk besloot het bedrijf zich te gaan richten op de interactieve televisiemarkt die zich aan het ontwikkelen was. Een overeenkomst met Time Warner om set-top boxes voor televisies te ontwikkelen, ging op het laatste moment niet door. Ook een andere overeenkomst met het bedrijf 3DO ging niet door toen het de exclusieve rechten voor deze nieuwe technologie wilde claimen. Het maken van set-top boxes voor video on demand leek de mist in te gaan. Mosaic en het world wide web De kansen van het bedrijf keerden toen in 1993 door de NCSA (National Center for Supercomputing Applications) het browserprogramma Mosaic werd geïntroduceerd, waarmee het world wide web werd geboren. Er volgden al snel meer activiteiten op het gebied van webtechnologie en het internet, tot dat moment het domein van voornamelijk wetenschappers, werd plotseling enorm populair bij het grote publiek. Begin 1994 besloot het First Person team om zijn beperkte menskracht te gaan richten op een softwaresysteem voor on-line multimedia. Bill Joy stelde verder voor om de taal Oak te positioneren als een taal voor het internet en om de taal op het internet vrij te geven. Daarmee werd plotseling de taal zelf het product in plaats van het apparaat waarop het had moeten draaien. FIGUUR 5.2 James Gosling, Arthur van Hoff en Kim Polese (voormalig product manager van het Java-team) Java De Nederlander Arthur van Hoff herschreef de Oak-compiler geheel in de taal Oak zelf, in plaats van in C. Tegelijkertijd bouwden Patrick Naughton en Jonathan Payne een op Oak gebaseerde browser, genaamd Webrunner. De eerste applet Duke zwaaiend naar zijn ouders was geboren. Het management van Sun ondersteunde het plan om de taal vrij te geven, maar pas nadat de taal een andere naam had gekregen: Java. Er is veel gespeculeerd over de herkomst van deze naam. Na een moeizame discussiebijeenkomst met het team over een nieuwe, meer marktgerichte naam, werd de naam Java verzonnen tijdens een bezoek aan de plaatselijke koffiebar met lekkere Java-koffie. 210

8 Leereenheid 5 De veronderstelling dat Java een naam zou zijn met goede marketingmogelijkheden, is inmiddels waar gebleken, gezien de grote belangstelling voor het bijbehorende icoon ook als bewegende applet en ook de behoefte om bij verwante producten te verwijzen naar koffie: Hot Java, JavaBeans, Visual Café. Java is dus geen afkorting, zoals door sommigen wordt verondersteld: Just another vague acronym. FIGUUR 5.3 Java en koffie Hot Java, Netscape Navigator en Internet Explorer Het enige wat toen nog nodig was, was een manier om applets in browsers te laten draaien. Dat lukte wel in de eigen, onbekende browser die inmiddels Hot Java was genoemd, maar de grote doorbraak voor Java ontstond toen Netscape besloot Java te ondersteunen met zijn Navigator-browsers. Geruime tijd later volgde ook Microsoft met zijn Internet Explorer en daarmee was Java als dé taal voor het internet niet meer weg te denken. FIGUUR 5.4 De Hot Java Browser (Sun) werd geheel in Java geschreven. 211

9 Visueel programmeren met Java Sun-documenten Ontwerpdoelen van Java als programmeertaal Referenties en verwant leesmateriaal: Jason English, It all started with a blunt letter David Bank, The Java Saga Michael O Connell, Java: The inside story, sunworldonline/swol /swol-07-java.html Jon Byous, Java technology: the early years Patrick Naughton, The Java Handbook, Epilogue: The Long Strange Trip to Java, McGraw-Hill, Ontwerpdoelen van Java De taal Java is gemaakt met expliciet gedefinieerde ontwerpdoelen (design goals). Deze zijn indertijd vastgelegd in een aantal door Sun publiek gemaakte documenten op het www, vrij uitgebreid (85 blz.) in: James Gosling en Henry McGilton, The Java Language Environment: A White Paper, mei 96 en op een kortere (8 blz.) en populaire manier in: The Java Language: An Overview, overviews/java/java-overview-1.html. Wie meer informatie zoekt over Java in de vorm van deze zogeheten white papers, kan rondkijken op: We zullen deze ontwerpdoelen hier ook opsommen en elk van een korte toelichting voorzien. We wijzen er met nadruk op dat het in deze paragraaf vooral gaat om de ontwerpdoelen van Java als programmeertaal. Java als platform dus met alle bijkomende technologie en bijbehorende API s heeft een veel omvattender stel ontwerpdoelen, waarop we hier niet ingaan. Een aardig overzicht hiervan vindt u op com/java2/whatis/; zie ook figuur 5.5. FIGUUR 5.5 Informatie over het Java-platform vindt u op het web. Studeeraanwijzing Het is bij het volgende overzicht niet te voorkomen zo nu en dan over de rand van deze cursus heen te kijken; we hebben echter geprobeerd termen die u nog niet kent, zoveel mogelijk te vermijden of kort uit te leggen. In een aantal gevallen zullen we volstaan met vooruitverwijzingen naar leereenheden uit de cursus waarin het betreffende onderwerp wordt uitgelegd. Het is zeker niet nodig en mogelijk alle 212

10 Leereenheid 5 aspecten van wat hier beschreven staat nu al tot in detail te begrijpen, wel is het van belang dat u een breed overzicht krijgt van wat men met Java heeft willen bereiken. Java is eenvoudig Een van de belangrijkste doelen van de ontwerpers van Java is geweest om de taal zo eenvoudig mogelijk te houden. Alhoewel er bewust voor gekozen is om de syntaxis van de taal sterk te laten lijken op de taal C++, en dus ook op de taal C, zijn een aantal zaken die C++ zo lastig maken om te leren, bewust buiten de taal Java gehouden. Leestekst Geen goto-opdracht Geen pointerbewerkingen Zo maakt Java onder meer veel minder vaak gebruik van overloading van operatoren (hiervan is sprake als eenzelfde symbool voor verschillende operaties wordt gebruikt; bijvoorbeeld het gebruik van + voor de optelling van verschillende typen en bij Java bovendien voor de concatenatie van strings), en heeft Java geen meervoudige overerving (Engels: multiple inheritance; hiervan is sprake als een klasse erft van meer dan één superklasse). Verder kent Java nauwelijks automatische typeconversies (op deze zogenoemde coërcies komen we in leereenheid 8 nog terug) en heeft Java naast klassen niet ook nog eens de zogeheten structures van C++ en ook geen unions. Java kent geen goto-opdrachten, waarmee van een willekeurige plek in een programma naar een willekeurige andere plek kan worden gesprongen. Door velen is in het verleden al aangegeven dat dit leidt tot een slechte en onoverzichtelijke stijl van programmeren (men spreekt wel over spaghetticode) en dat alles wat met goto-opdrachten gebeurt ook zonder kan. In Java is men zo consequent geweest om de constructie buiten de taal te laten. En misschien wel het belangrijkste voordeel van Java ten opzichte van talen als C en C++, is dat Java geen pointerbewerkingen (pointer = wijzer) kent, die zeker voor beginnende programmeurs tot veel verwarring en fouten kunnen leiden. Kortom, er is in eerste instantie uitgegaan van C++, maar dan ontdaan van veel aspecten die onnodig ingewikkeld of verwarrend zijn. Java wordt daarom ook wel eens gekscherend aangeduid met C++. In de eerder genoemde Java White Paper wordt de volgende uitspraak geciteerd: Weet dat u in een ontwerp perfectie hebt bereikt, Niet wanneer u niets meer toe kunt voegen, Maar wanneer u niets meer weg kunt nemen. Antoine de Saint-Exupery Java heeft automatische garbage collection Wat Java wél heeft, in tegenstelling tot talen als C++ en Pascal, is automatische garbage collection. Dit betekent dat een programmeur zich niet langer zorgen hoeft te maken over het vrijgeven van geheugen als dit niet langer wordt gebruikt. Het ontbreken hiervan is in de eerder genoemde talen een probleem dat vooral in grotere projecten lastig en tijdrovend is en ook vaak een bron van fouten. Ook dit is een zeer belangrijk aspect waardoor de taal Java relatief eenvoudig is in het gebruik. En het maakt de taal zelf ook eenvoudiger omdat we geen taalconstructies hoeven toe te voegen die voor de handmatige garbage collection zorgdragen. Zo heeft Pascal een disposeprocedure nodig om geheugen waar niet langer naar verwezen wordt, vrij te geven voor gebruik, en C(++) een functie free voor hetzelfde doel. In leereenheid 7 komen we uitvoerig terug op deze automatische vuilnisophaaldienst van Java (paragraaf 2.7). 213

11 Visueel programmeren met Java Java stelt geen al te hoge eisen Java 2 Platform, Micro Edition NB: het gaat hier om het basis-javasysteem en niet om een ontwikkelomgeving als JBuilder! Java is oorspronkelijk ontworpen om te draaien op kleine computers en daarom was het Java-systeem voor een programmeertaal aanvankelijk relatief klein. Echter door het gebruik van Java in steeds meer volwassen toepassingen, zoals grote, zelfstandig draaiende applicaties, is het Javasysteem inmiddels flink gegroeid. Om de Java 2 Software Development Kit (SDK) op een pc te draaien, wordt nu al minimaal 32 Mb intern geheugen aanbevolen. Het systeem is wel snel, zodat een Pentium 166 MHz processor al voldoende is. Voor consumentenproducten en dergelijke is overigens een aparte, uitgeklede editie van het Java 2 platform ontwikkeld, het Java 2 Platform, Micro Edition (J2ME; zie Door het aantal toegevoegde standaardklassen te beperken, is deze versie van Java ook geschikt om te worden gebruikt op apparaten met relatief weinig geheugen; denk aan PDA s (personal digital assistent) en andere palmtops, set-top boxes, telefoons met beeldscherm en andere consumentenelektronica. Zie de voorbeelden uit figuur 5.6; meer details vindt u op FIGUUR 5.6 Java-technologie wordt in toenemende mate toegepast in consumentenelektronica. Van links naar rechts: Motorola-telefoon met Java-technologie, draadloze PDA s van firma RIM, JavaCard in een daarvoor bestemde kaartlezer. Java is objectgeoriënteerd Java is betrouwbaar Exeption handling Zoals we al uitgebreid gezien hebben in de eerste vier leereenheden, is Java ontworpen als een objectgeoriënteerde taal. Om redenen van eenvoud en efficiëntie is een uitzondering gemaakt voor primitieve typen zoals getallen, tekens (characters) en booleans. En indien nodig, kan voor elk van deze primitieve typen gebruik gemaakt worden van bijbehorende verpakkingsklassen, zoals we gezien hebben in leereenheid 4. Java is ontworpen voor het maken van zeer betrouwbare (Engels: robust) software. Er wordt gezorgd voor uitvoerige (type)controle tijdens de vertaalfase, gevolgd door een controle voorafgaand aan de uitvoering van een programma. Ook het ontbreken van pointeroperaties en de reeds genoemde garbage collector dragen in hoge mate bij aan de betrouwbaarheid van software die in Java is geschreven. Een andere eigenschap die belangrijk is voor de betrouwbaarheid, is dat Java gebruik maakt van exception handling: als er iets onverwachts gebeurt, dan hoeft het systeem niet direct te crashen, maar wordt er een exceptie gecreëerd die vervolgens kan worden afgehandeld. Exception handling in Java zal pas in de vervolgcursus Objectgeoriënteerd programmeren met Java worden behandeld. 214

12 Leereenheid 5 Java is veilig Java is architectuurneutraal Write once, run anywhere Java is portable Java is gemaakt om te worden gebruikt in gedistribueerde omgevingen zoals het internet, of in intranets: een afgeschermd net voor bijvoorbeeld een organisatie. Een belangrijk aspect daarbij dat ook met betrouwbaarheid te maken heeft is de veiligheid (security) bij het oversturen en verwerken van de bytecode in bijvoorbeeld een browser. Omdat voorkomen moet worden dat een paard van Troje wordt binnengehaald, is het mogelijk dat een Java-programma geverifieerd wordt voordat het wordt verwerkt (zie ook figuur 5.9 in de volgende paragraaf). Het beveiligingsmodel van Java 2 kent verschillende niveaus van betrouwbaarheid van Java-programma s, variërend van volledig onbetrouwbaar tot volledig betrouwbaar. Alleen Java-programma s met de juiste permissies hebben toegang tot bepaalde systeembronnen, zoals lokale bestanden op de eigen computer. Dit geldt zowel voor applets die over het internet worden verstuurd, als voor programma s op de eigen computer. Java-programma s zonder enige permissie hebben geen enkele toegang tot lokale systeembronnen. Door kritiek op de beveiliging binnen Java, is het beveiligingsmodel van Java in de opvolgende versies steeds verder aangescherpt. Java is ontworpen voor toepassingen in netwerken. Deze netwerken zijn in het algemeen samengesteld uit verschillende systemen met verschillende processoren en verschillende besturingssystemen die daarop draaien. Om een Java-toepassing overal op het netwerk te kunnen laten draaien, genereert de Java-compiler een architectuurneutrale tussencode, de bytecode, die uitgevoerd kan worden op alle processoren waarop het run-timesysteem van Java draait. Zie ook het stuk aan het einde van de volgende paragraaf over de virtuele machine van Java en de daardoor gerealiseerde platformonafhankelijkheid. Op deze wijze is een van de belangrijkste doelstellingen van het Javateam: write once, run anywhere, voor een groot deel waarheid geworden. Architectuurneutraal is natuurlijk erg belangrijk als men software overdraagbaar (portable) wil maken. Maar er is meer voor nodig. In tegenstelling tot C en C++ zijn er geen implementatiespecifieke aspecten in de taal. Het aantal bits waarmee de primitieve typen (zoals int, float, double, boolean) in het geheugen worden gerepresenteerd, is bijvoorbeeld precies vastgelegd, net als het gedrag van de bewerkingen op die typen. Leestekst Zo is bijvoorbeeld een waarde van het type int altijd dat wil zeggen: in elke implementatie van het Java-systeem een signed two s complement 32 bit integer en een waarde van het type double altijd een 64-bit IEEE 754 double precision floating point number. Java heeft een goede performance Java is multithreaded Alhoewel de eerste versies van Java een performance qua verwerkingssnelheid opleverden die duidelijk een stuk lager was dan die van C of C++, is er door verschillende optimalisaties een performance ontstaan die vrijwel vergelijkbaar is met die van C of C++. Bij tegenwoordige toepassingen is het gewoon dat er verschillende processen (schijnbaar) tegelijk aan het werk zijn. Als u met een browser een plaatje aan het ophalen bent, is het prettig als u tegelijkertijd al een andere applet kunt bekijken of kunt scrollen door de betreffende webpagina. Voor het maken van dergelijke programmatuur is een vorm van parallellisme nodig die Java biedt in de vorm van zogeheten threads of draden. We zullen deze threads pas behandelen in de cursus Objectgeoriënteerd programmeren met Java. 215

13 Visueel programmeren met Java Java is leuk Kritiek op Java Applets uitvoeren binnen een browser Veiligheid Threads Versies Ten slotte is het leuk om in Java te programmeren. Dankzij het feit dat het moeilijker is om fouten te maken in de taal, bent u als programmeur minder tijd kwijt met het opzoeken van vervelende bugs bijvoorbeeld wat betreft geheugenbeheer en daardoor productiever. Ook de beschikbaarheid van een uitgebreide en goed gedocumenteerde API maakt het programmeren in Java leuker en de programmeur productiever. Het is duidelijk dat Java is gemaakt door mensen die niet alleen verstand hebben van programmeertalen, maar die zelf ook heel veel geprogrammeerd hebben en weten welke potentiële ergernissen er bij een programmeertaal moeten worden voorkomen. De auteurs van deze cursus hebben in elk geval ook ervaren dat het leuk is om in Java te programmeren. Zijn er dan alleen maar positieve zaken te melden over Java? Nee, er zijn ook wel kritische geluiden te vernemen. De volgende kritiekpunten zijn in het verleden het vaakst genoemd. De veiligheid van Java-applets blijkt niet zo waterdicht te zijn (geweest?) als door Sun wordt (werd) beweerd: in het verleden hebben wetenschappers al de nodige implementatiefoutjes weten bloot te leggen; deze zijn in nieuwere versies van Java gerepareerd. Belangstellenden kunnen eens kijken op de Secure Internet Programming-site van Princeton University: De wijze waarop threads (voor het definiëren van parallelle processen) in Java zijn gerealiseerd, is ook aan kritiek onderhevig. Vooral wetenschappers uit de Occam-wereld Occam is een programmeertaal speciaal gemaakt voor parallelle toepassingen zijn verbaasd dat in Java geen gebruik is gemaakt van het CSP-concept van Hoare (communicating sequential processes). Tot slot noemen we de kritiek die er is geweest op de eerste versie van het event-handlingmechanisme van Java, zoals gerealiseerd in JDK 1.0. In de 1.1-versie is dit mechanisme volledig omgegooid, met als nadelig gevolg dat er al kort na het verschijnen van de taal duidelijk verschillende versies van JDK bestaan. De grote wijzigingen (vooral uitbreidingen) in opvolgende versies van Java zijn sowieso een kritiekpunt geweest op Java. Weliswaar kunnen volgende versies van Java wel alle oude versies aan; het omgekeerde is vanzelfsprekend niet in alle gevallen waar. De uitspraak write once, run anywhere is daarmee wel afhankelijk geworden van de gebruikte versie van Java! In paragraaf 6 komen we kort terug op (de versies van) JDK. 3 Java en het internet Alle applets die we kunnen uitvoeren binnen onze applet viewer, zoals beschikbaar binnen JBuilder, kunnen we evengoed laten werken binnen een browser, voorzover die geschikt gemaakt is voor Java (zogeheten Java-enabled browsers). De meeste recente browsers zoals Netscape Navigator en Internet Explorer zijn geschikt voor Java, al is er een koppeling tussen de verschillende versies van deze browsers en de opeenvolgende versies van Java. Om Java-2-applets te verwerken in een browser die niet over de juiste Java virtual machine beschikt, moet u gebruikmaken van een Java-plugin. Zie ook bijlage 4 in cursusdeel 4. Om een applet uit een JBuilder-project te tonen in uw browser, kunt u eenvoudig op het door JBuilder aangemaakte html-bestand dubbelklikken, bijvoorbeeld vanuit de verkenner van Windows. Ook kunt u het bestand vanuit uw browser openen. 216

14 Leereenheid 5 Voor de InvoerUitvoerApplet is dat bijvoorbeeld het bestand Invoer- UitvoerApplet.html dat u kunt vinden in de map jbproject\vpmj01- InvoerUitvoer\classes; zie ook paragraaf 3.1 van leereenheid 1. De applet verschijnt dan in uw browser en werkt daarbij op dezelfde wijze als in de applet viewer; zie figuur 5.7. FIGUUR 5.7 De InvoerUitvoerApplet werkt binnen een browser op dezelfde wijze als binnen de applet viewer. Html Hypertext markup language Dit gaat zo eenvoudig omdat JBuilder bij elk project automatisch een html-bestand genereert (en plaatst in de submap classes van de map die het project bevat). Dit html-bestand verwijst naar het gecompileerde class-bestand dat wordt uitgevoerd. In plaats van de applet viewer verwerkt in figuur 5.7 echter de browser het html-bestand InvoerUitvoerApplet.html. U kunt deze html-code ook vanuit de browser nog eens bekijken, door de broncode van de webpagina op te vragen; bij Internet Explorer gaat dat via Beeld - Bron. U krijgt dan de html-code te zien, zoals getoond in figuur 5.8. FIGUUR 5.8 Broncode van het html-bestand InvoerUitvoer- Applet.html 217

15 Visueel programmeren met Java Scheiding van compilatie en interpretatie Bytecode Java-interpretator Beveiligingscontrole Wat gebeurt er nu als u een internetpagina bezoekt waarin een Javaapplet is opgenomen? Behalve de html-code die de webpagina exclusief applets beschrijft, worden ook de Java class-bestanden waarnaar wordt verwezen, over het internet getransporteerd. Deze class-bestanden zijn het resultaat van een Java-compiler die al in een eerder stadium is losgelaten op de Java-broncode. JBuilder bevat zo n compiler, maar ook de door Sun (gratis) beschikbaar gestelde software development kit (zie paragraaf 6) bevat een Java-compiler (javac). De class-bestanden bevatten de platformonafhankelijke bytecode. Met behulp van een Java-interpretator (Java interpreter) kan deze bytecode op de ontvangende machine worden verwerkt. Om te voorkomen dat met de ontvangen class-bestanden, die ten slotte op uw computer moeten worden uitgevoerd, rare dingen aan de hand zijn (virussen, opdrachten om de harde schijf te wissen,...) wordt een beveiligingscontrole uitgevoerd, waarbij wordt gekeken of de ontvangen bytecode permissie heeft voor toegang tot bepaalde systeembronnen van de eigen computer. Applets hebben normaal gesproken geen toegang tot deze lokale systeembronnen, hierdoor kan worden gegarandeerd dat er door het verwerken van applets geen ongelukken optreden. Het proces kan schematisch als volgt worden uitgebeeld (figuur 5.9). computer die wordt bezocht Java-programma compilatie Java-byte-code INTERNET beveiligingscontrole Java-byte-code verwerking uw computer beperkte omgeving FIGUUR 5.9 De beveiligingscontrole van Java We zouden kunnen zeggen dat de betreffende applet wordt uitgevoerd binnen een omgeving met restricties : zo kunnen bijvoorbeeld geen bestanden op uw computer worden gelezen of gewijzigd. Omdat uw browser beschikt over de mogelijkheden om deze Java-applets uit te voeren, is het voldoende om alleen het class-bestand voor de betreffende applet over te halen; alle andere klassen (standaard Java API-klassen) zijn al beschikbaar op de betreffende browser! Java virtual machine (JVM) Het gehele systeem (de Java-interpretator én de standaard Java APIklassen) dat in staat is om (gecompileerde) Java-programma s (bytecode dus) uit te voeren, staat bekend als de Java virtual machine (JVM): de virtuele machine van Java. 218

16 Leereenheid 5 U kunt zich hierbij de voorstelling maken dat de instructies in de bytecode de machinetaal vormen van een denkbeeldige (virtuele) Javacomputer. In plaats van JVM worden ook wel termen gebruikt als Javaplatform of Java run-time environment. De specificaties van de JVM zijn door Sun zeer nauwkeurig vastgelegd, waardoor fabrikanten van besturingssystemen, JIT-compilers (zie verderop), browsers, of zelfs chips (waarin de software is ingebakken ) kunnen zorgen dat Java op het betreffende platform kan draaien. Deze JVM s zitten dus niet alleen in de eerder genoemde Java-enabled browsers, maar kunnen ook stand alone draaien; denk bijvoorbeeld maar aan de applet viewer. JVM s zijn beschikbaar voor vrijwel alle gangbare besturingssystemen, zoals alle Windows-versies, MacOS en vrijwel alle Unix-versies (Solaris, Linux,...). Platformonafhankelijkheid Just in time (JIT) compilers Door het fraaie idee van machineonafhankelijke bytecode en de virtuele machine is het mogelijk een zeer grote mate van platformonafhankelijkheid te bewerkstelligen. Hierbij is bovendien rekening gehouden met de verschillende windowsystemen die op de verschillende besturingssystemen draaien. Het ideaal dat Patrick Naughton en vele anderen met hem! voor ogen stond, is kortom werkelijkheid geworden: schrijf een applet (of applicatie) en vertaal deze; de bytecode draait dan op alle genoemde platforms zonder enige aanpassing en zonder dat het programma opnieuw vertaald dient te worden! NB: overigens blijkt in de praktijk deze platformonafhankelijkheid toch nog niet altijd helemaal waargemaakt te kunnen worden, in ieder geval is vereist dat de versie van de JVM niet lager is dan die van de JVM waarop de applet werd ontwikkeld en vertaald. Om het proces van de Java-interpretatie dus het verwerken van bytecode op een bepaalde machine te versnellen, wordt tegenwoordig meestal gebruik gemaakt van zogeheten just in time (JIT) compilers; ook JBuilder bevat een JIT-compiler en deze JIT-compilers worden ook in browsers ingebouwd. Meer informatie over de relatie tussen compilers, interpreters en just in time compilers vindt u in een aardige pagina van de Java Tutorial (zie paragraaf 7): intro/definition.html. 4 Applets, applets en nog eens applets! De enorme populariteit die Java met name in de eerste jaren heeft verworven, is zonder enige twijfel te danken aan het feit dat iedereen eigen Java-applets kan maken en via het www kan etaleren aan de rest van de wereld. In veel gevallen wordt behalve de applet ook de Java-broncode beschikbaar gesteld. In deze paragraaf zullen we een aantal van deze applets laten zien. Wij gaan er hierbij van uit dat u de beschikking hebt over een internetaansluiting en een browser die geschikt is voor Java. Applets van Sun Een van de aardigste ingangen voor het bekijken van applets is de appletpagina van Sun: (zie figuur 5.10). 219

17 Visueel programmeren met Java FIGUUR 5.10 Bij de appletpagina van Sun vindt u behalve de applets uit de verschillende JDK-versies ook een groot aantal andere fraaie voorbeelden. Kiezen we in eerste instantie voor de JDK 1.1-applets deze zijn door vrijwel alle browsers te bekijken dan vinden we de voorbeelden die we ook al zagen in paragraaf 5.3 van leereenheid 1. We kunnen bijvoorbeeld kiezen voor een van de voorbeelden van MoleculeViewer, waarbij net als bij de draadmodellen die we in leereenheid 1 al hebben gezien, de molecuulmodellen met de muis kunnen worden geroteerd; zie figuur FIGUUR 5.11 Een van de JDK 1.1-applets werkend in een browser Andere applets uit de JDK Ook andere applets uit de JDK van Sun zijn het bekijken waard, zoals de Fractal-applet (zie figuur 5.12) waarin in een aantal stappen een zogeheten fractal wordt opgebouwd. Sorteeralgoritmen worden behandeld in de cursus Datastructuren en algoritmen. Een voor het informaticaonderwijs interessante applet is de SortDemoapplet, een prachtige animatie van drie sorteeralgoritmen: bubble sort (een traag algoritme), bi-directional bubble sort (iets sneller) en quick sort (een heel snel algoritme); zie figuur

18 Leereenheid 5 FIGUUR 5.12 Een fractal zoals gemaakt door de Fractal-applet van Sun FIGUUR 5.13 Door achtereenvolgens op elk van de drie deelapplets te klikken, kunt u de drie algoritmes gelijktijdig aan het werk zien. Quick sort wint met glans! Other Applets Applet Archive Onder Other Applets of Applet Archive vindt u ook tal van interessante applets die u bijvoorbeeld kunt gebruiken om uw eigen home page mee te verfraaien. Probeer eens een aantal van de volgende voorbeelden: Bubbles, Hangman (zie figuur 5.14), ScrollingImages (leden van het Javateam), TumblingDuke, UnderConstruction, Crossword, Dining Philosophers (lees ook de tekst), LED of Neon Sign, of Pythagoras (een prachtig grafisch bewijs van de bekende stelling). Bij veel van deze applets zijn ook de grafische en/of audio-mogelijkheden van Javaapplets toegepast. FIGUUR 5.14 Bij het goed raden van het woord bij Hangman trakteert Duke ons op een toepasselijke vreugdedans. 221

19 Visueel programmeren met Java Broncode van veel applets beschikbaar Java Boutique JARS Van elk van de Sun-applets wordt de broncode ook gegeven; klik op The source, zie bijvoorbeeld figuur Afhankelijk van de (versie van de) browser krijgt u de Java-code te zien in de browser zelf of wordt automatisch JBuilder opgestart en wordt de broncode getoond in de codeeditor. Een tweetal andere websites waar veel informatie over applets te vinden is, zijn de Java Boutique ( of JARS (Java Applet Rating Service; zie figuur FIGUUR 5.15 Twee websites over Java-applets: Java Boutique en JARS Twee willekeurige voorbeelden van applets die vanuit eerstgenoemde pagina te vinden zijn: The Mandelbrot Set ( en 3D Maze ( 3DMaze/). Bij de eerste applet kunt u steeds opnieuw een willekeurige uitsnede nemen van de beroemde Mandelbrot-fractal. Zie figuur FIGUUR 5.16 Twee applets over Mandelbrot-fractals en een 3Ddoolhof Java on the brain Tot slot een applet uit de begintijd van Java die (relatief!) simpel, maar toch indrukwekkend is: Rubik Unbound gemaakt door Karl Hörnell. De applet is te vinden op: In de applet kunt u met de muis de kubus van Rubik manipuleren (zie figuur 5.17). 222

20 Leereenheid 5 FIGUUR 5.17 De Rubik Unbound applet van Karl Hörnell Importeren van applets in JBuilder Als u een bepaalde applet waarvan de broncode beschikbaar wordt gesteld, interessant vindt en u zou deze willen onderbrengen in een JBuilder-project, dan is dat in sommige gevallen! mogelijk. U kunt dan de betreffende applet ook draaien in uw applet viewer, dan wel in uw browser, zonder dat u op het internet bent aangesloten. NB: we gaan er hierbij van uit dat de auteur van de betreffende applet door het beschikbaar stellen van de code, toestemming geeft voor het importeren ervan! Uiteraard doet u dit verder op eigen risico. Leestekst De volgende procedure sluit zoveel mogelijk aan bij de methode zoals geleerd in leereenheid 1 en zorgt ervoor dat u zich zo min mogelijk met zaken als html-code hoeft bezig te houden. We maken namelijk gebruik van de eigenschap dat JBuilder bij het generen van een applet automatisch een bijbehorende html-pagina genereert, vervolgens vervangen we de door JBuilder gegenereerde applet door de geïmporteerde applet met dezelfde naam. De verwijzingen van de html-pagina naar de applet zijn dan automatisch in orde, u hoeft nog slechts het formaat aan te passen. Als u vertrouwd bent met html, zijn er ook wel andere (kortere) procedures te bedenken, we zullen deze hier niet behandelen. Meer informatie vindt u in bijlage 4: Applets en webpagina s. Procedure Zoek naam op van de applet Maak een nieuw project aan Fase 1 Fase 2 Let ook op hoofden kleine letters! De procedure hiervoor verloopt als volgt; we nemen daarbij de Bubblesapplet als voorbeeld; zie figuur 5.10 onder Other Applets. Eerst moeten we weten wat de naam is van de applet die we gaan importeren. We bekijken daartoe de broncode; bij de Bubbles-applet is dat Bubbles; dit is ook te zien aan de naam van het bestand: Bubbles.java. Vervolgens maken we op dezelfde manier als in leereenheid 1 een nieuw project vpmj05bubbles.jpx aan en voegen een applet toe, met als naam dezelfde naam als de te importeren applet, hier dus Bubbles; zie figuur Hierdoor wordt de juiste mappenstructuur aangemaakt en wordt een html-bestand gegenereerd. Dit bestand hebben we nodig; het Javabestand zullen we in een volgende stap vervangen door het te importeren bestand. 223

21 Visueel programmeren met Java FIGUUR 5.18 We geven de door JBuilder gegenereerde applet dezelfde naam als de te importeren applet. Geef de applet de juiste grootte Fase 3 We geven de applet nu de juiste grootte. Dit is het enige dat we doen in de gegenereerde html-code. We passen daarom de waarden van WIDTH en HEIGHT aan in de broncode van het gegenereerde bestand Bubbles.html, bereikbaar via tabblad Source (zie figuur 5.19). FIGUUR 5.19 We passen de grootte van de applet aan. Haal het bestand op Fase 4 Pas nu halen we het bestand in dit geval Bubbles.java op van de Sunwebsite: We plaatsen het bestand in de juiste map: jbproject\vpmj05bubbles\src; zie figuur De applet die we aan het project toevoegden, heeft dezelfde naam; het bestand moeten we dus overschrijven. Zie figuur

22 Leereenheid 5 FIGUUR 5.20 We plaatsen het opgehaalde bestand in de juiste map (jbproject\vpmj05bubbles\src) FIGUUR 5.21 Overschrijf het bestand. De code van de opgehaalde applet is nu zichtbaar in de code-editor; zie figuur FIGUUR 5.22 De code van het opgehaalde bestand Bubbles.java 225

23 Visueel programmeren met Java Verwerk de geïmporteerde applet Fase 5 We zijn nu klaar en de applet kan lokaal verwerkt worden in de applet viewer van JBuilder. Selecteer in het projectpaneel het html-bestand Bubbles.html en verwerk de applet. Als u alles goed hebt uitgevoerd, zal de Bubbles-applet draaien in de applet viewer; zie figuur FIGUUR 5.23 De Bubbles-applet in de applet viewer Waarschuwing Deze procedure zal niet werken bij alle Java-applets waarvan de broncode wordt aangeboden. Als de applet gebruik maakt van plaatjes of geluid of van andere niet-standaardklassen van Java, zal het meestal niet goed gaan. Leestekst Vaak zijn er nog allerlei extra Java-bestanden, plaatjes (gif, jpg) en dergelijke nodig om de betreffende applet te verwerken, die wel op de bezochte computer aanwezig zijn, maar niet ook zijn geïmporteerd naar de eigen pc. Veel van de grafisch georiënteerde Java-applets die worden aangeboden, maken gebruik van extra bestanden. Voor deze applets zal deze procedure dus niet werken. De Sun-applets die gebruik maken van de Duke-plaatjes, zullen bijvoorbeeld niet werken! U kunt de procedure desgewenst nog eens herhalen bij de Rubik-applet. U moet dan het gecomprimeerde bestand rubik_tar.tgz ophalen dat u met een programma als WinZip kunt uitpakken. Het bevat drie bestanden; voor de hiervoor gegeven procedure hebt u slechts het bestand rubik.java nodig dat u op de beschreven manier kunt toevoegen aan uw zelfgemaakte project vpmj05rubik.jpx. Lokaal verwerken van de geïmporteerde applet in een browser En natuurlijk is het nu ook weer mogelijk om de applet lokaal dus zonder internetverbinding te verwerken binnen de eigen browser, of door in de juiste map de html-file te dubbelklikken of door deze met uw browser op te zoeken. Bedenk daarbij dat de aangemaakte htmlbestanden zijn ondergebracht in de map classes in de map waarin het project zich bevindt; zie figuur

Wat is JAVA? Peter van Rijn

Wat is JAVA? Peter van Rijn Wat is JAVA? Peter van Rijn Wat is JAVA? een concept een platform een ontwikkelomgeving een mentaliteit 2 Het ontstaan van JAVA Patrick Naughton ergernis over de verschillende programma bibliotheken schrijft

Nadere informatie

Zelftest Java concepten

Zelftest Java concepten Zelftest Java concepten Document: n0838test.fm 22/03/2012 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST JAVA CONCEPTEN Om de voorkennis nodig

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13

Inhoud Inhoud. Over dit boek 7. 1 Eclipse IDE (Integrated Development Environment) 9. 2 Functionele specificatie 13 5 Inhoud Inhoud Over dit boek 7 1 Eclipse IDE (Integrated Development Environment) 9 2 Functionele specificatie 13 3 Implementatie grafische gebruikersinterface 31 4 De klassen en methoden 57 5 Technische

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en wijze van studeren

Nadere informatie

Albert-Jan de Croes & Stefan Willemink V4C Docent: Mevrouw van Uden

Albert-Jan de Croes & Stefan Willemink V4C Docent: Mevrouw van Uden Albert-Jan de Croes & Stefan Willemink V4C Docent: Mevrouw van Uden 1 Inhoud Inhoud... 2 Inleiding... 3 Wat doet een besturingsysteem, en hoe werkt het?... 3 Algemene informatie... 3 Taken van een besturingssysteem...

Nadere informatie

Lab Webdesign: Javascript 11 februari 2008 JAVASCRIPT

Lab Webdesign: Javascript 11 februari 2008 JAVASCRIPT H1: INLEIDING JAVASCRIPT Met HTML kun je fraaie webpagina's bouwen, alleen: ze zijn erg statisch. HTML is dan ook een pagina-beschrijvingstaal en geen echte programmeertaal. Om je homepagina interactief

Nadere informatie

Analyse Programmeertalen

Analyse Programmeertalen Analyse Programmeertalen De keuze van een programmeertaal mag niet onderschat worden. Het is dankzij deze taal dat de gebruiker interactie heeft met het complete systeem. Het is dus vanzelfsprekend dat

Nadere informatie

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw

Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw Omzeil het gebruik van mappen en bestanden over Wiki s en het werken in de 21 e eeuw In de whitepaper waarom u eigen documenten niet langer nodig heeft schreven we dat het rondmailen van documenten geen

Nadere informatie

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity.

Portability, Interoperability of toch maar Connectivity Portability, Interoperability of toch maar Connectivity. Portability, Interoperability of toch 1 Even Voorstellen Diploma s: 1980 Bachelor of Science Civil Engineering (Cairo, Egypte) 1986 Doctoraal in Geodesie (TU Delft, Nederland) Enige Automatiseringservaring:

Nadere informatie

1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld.

1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld. Module 4 programmeren 1.Noem de vijf categorieën waarin programmeertalen kunnen worden ingedeeld en geef van elke categorie één voorbeeld. Machinecode Assembleertalen: assembly Hogere programmeertalen:

Nadere informatie

HET BESTURINGSSYSTEEM

HET BESTURINGSSYSTEEM HET BESTURINGSSYSTEEM Een besturingssysteem (ook wel: bedrijfssysteem, in het Engels operating system of afgekort OS) is een programma (meestal een geheel van samenwerkende programma's) dat na het opstarten

Nadere informatie

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware.

Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het besturingssysteem of operating system, vaak afgekort tot OS is verantwoordelijk voor de communicatie van de software met de hardware. Het vormt een schil tussen de applicatiesoftware en de hardware

Nadere informatie

Java en JavaScript 2

Java en JavaScript 2 Krishna Tateneni Vertaling van het handboek: Niels Reedijk Vertaler/Nalezer: Alexander S. Koning Vertaler/Nalezer: Natalie Koning Vertaler/Nalezer: Freek de Kruijf 2 Inhoudsopgave 1 Java en JavaScript

Nadere informatie

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken

Handleiding JCreator. Inhoud. Een Workspace en een eerste project maken Handleiding JCreator Inhoud Een Workspace en een eerste project maken Een tweede project maken De editor van JCreator Aanpassen van de basis-directory Documentatie over klassen en methoden van de JDK Bestand

Nadere informatie

JavaLogo-programma s op het web plaatsen

JavaLogo-programma s op het web plaatsen Bijlage JavaLogo-programma s op het web plaatsen In deze bijlage laten we u zien hoe u JavaLogo-programma s op het web kunt plaatsen, met als voorbeeld het programma Cirkels uit opgave 2.16. We gaan er

Nadere informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep CW KAHO Sint-Lieven Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be

Nadere informatie

Waarmaken van Leibniz s droom

Waarmaken van Leibniz s droom Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais

Nadere informatie

Module II - Enkele Begrippen

Module II - Enkele Begrippen Module II - Enkele Begrippen Wanneer we spreken over het Internet, het bekijken van websites, komen we al gauw een aantal begrippen tegen. Enkele van de veelgebruikte begrippen binnen de Internet wereld

Nadere informatie

Acht stappen voor JSF

Acht stappen voor JSF Acht stappen voor JSF Inleiding In deze tutorial zullen we JSF (Java server faces) installeren. Wat we niet beschrijven is hoe te werken met JSF, over dit onderwerp zijn er genoeg boeken en internetsites

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus Inhoud introductie Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8 2.1 Voorkennis 8 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 9 2.4 Leermiddelen 10 3 Aanwijzingen

Nadere informatie

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht

Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht Vakinhoudelijke uitwerking Keuzevak Applicatieontwikkeling van het profiel MVI vmbo beroepsgericht Deze vakinhoudelijke uitwerking is ontwikkeld door het Redactieteam van de Schooleamenbank vmbo voor dit

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Inleiding 7 2 Voorkennis 7 3 Het cursusmateriaal 7 4 Structuur, symbolen en taalgebruik 8 5 De cursus bestuderen 9 6 Studiebegeleiding 10 7 Huiswerkopgaven 10 8 Het tentamen

Nadere informatie

Network Computing Architecture Toekomstige rol van Oracle Developer marginaal

Network Computing Architecture Toekomstige rol van Oracle Developer marginaal Network Computing Architecture Toekomstige rol van Oracle Developer marginaal Door Patrick Koning Een aantal jaren geleden realiseerde Oracle zich dat zijn Designer/Developer strategie voor applicatieontwikkeling

Nadere informatie

Java-applets. Risico s en beveiliging. M.M. Kilsdonk. Doctoraalscriptie Bestuurlijke Informatica Erasmus Universiteit Rotterdam

Java-applets. Risico s en beveiliging. M.M. Kilsdonk. Doctoraalscriptie Bestuurlijke Informatica Erasmus Universiteit Rotterdam Java-applets Risico s en beveiliging M.M. Kilsdonk Doctoraalscriptie Bestuurlijke Informatica Erasmus Universiteit Rotterdam December 1997 Java-applets Risico s en beveiliging Auteur: M.M. Kilsdonk Studie:

Nadere informatie

eerste voorbeelden in Java

eerste voorbeelden in Java Beginselen van programmeren 2 eerste voorbeelden in Java vereisten: een editor: om programma in te tikken en te bewaren een Java compiler: zet ingetikte (bron-) programma om naar byte-code een Java Virtuele

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Modulewijzer tirprog02/infprg01, programmeren in Java 2

Modulewijzer tirprog02/infprg01, programmeren in Java 2 Modulewijzer tirprog02/infprg01, programmeren in Java 2 W. Oele 17 november 2009 1 Inhoudsopgave 1 Inleiding 3 2 Studiehouding 3 3 Voorkennis 4 4 Inhoud van deze module 5 5 Leermiddelen 5 6 Theorie en

Nadere informatie

HTML. Media. Hans Roeyen V 3.0

HTML. Media. Hans Roeyen V 3.0 Media Hans Roeyen V 3.0 12 maart 2015 Inhoud 1. (Multi)Media op websites... 3 2. Flash en Websites... 4 3. Video op je website... 4 3.1. YouTube insluiten op de pagina... 4 3.2. Video zonder YouTube...

Nadere informatie

In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze. programmeertaal? En hoe is het ontstaan? Ook leer je welke editors

In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze. programmeertaal? En hoe is het ontstaan? Ook leer je welke editors 1. Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je

Nadere informatie

Gebruikershandleiding

Gebruikershandleiding . Gebruikershandleiding Inhoudsopgave 1 Inleiding... 3 1.1 Wat is Citrix?... 3 1.2 Voordelen van Citrix... 3 1.3 Wat heeft u nodig om toegang te krijgen... 3 2 Systeemeisen... 4 2.1 Ondersteunde Web browsers...

Nadere informatie

Programmeren: Visual Basic

Programmeren: Visual Basic PETERSTUYVESANT COLLEGE INFORMATICA 2009-2010 Programmeren: Visual Basic Algemene Kennis: 01. Programmeren Programmeren is het schrijven van een computerprogramma, een concrete verzameling instructies

Nadere informatie

Syntra-West. Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07

Syntra-West. Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 Syntra-West Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST... 0 INITIATIECURSUS JAVA & DATABASE-DEVELOPNMENT... 0 JBUILDER 2005... 0 1. INLEIDING...

Nadere informatie

Door ir. Christine Daniels

Door ir. Christine Daniels Door ir. Christine Daniels http://users.pandora.be/christine.daniels http://iwt.khlim.be/~cdaniels email: christine.daniels@pandora.be I. Inleiding A. Historiek Java werd ontwikkeld door medewerkers van

Nadere informatie

Externe Toegang installeren en gebruiken onder Mac OS X

Externe Toegang installeren en gebruiken onder Mac OS X Externe Toegang installeren en gebruiken onder Mac OS X Deze handleiding beschrijft de inlog en uitlogprocedure voor Externe Toegang. Daarnaast beschrijft het de mogelijkheden binnen de virtuele werkplek

Nadere informatie

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus Inhoud introductie Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8 2.1 Voorkennis 8 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 9 2.4 Leermiddelen 9 3 Tentaminering

Nadere informatie

Introductie tot de cursus

Introductie tot de cursus Inhoud introductietalen en ontleders Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 8 3 Leermiddelen en

Nadere informatie

Het voert eenvoudige instructies uit die achter elkaar in het geheugen van de machine zijn opgeslagen.

Het voert eenvoudige instructies uit die achter elkaar in het geheugen van de machine zijn opgeslagen. Antwoorden door een scholier 1809 woorden 28 september 2006 3,6 14 keer beoordeeld Vak Informatica Samenvatting Informatica 6.1) Van kleine instructies naar grote processen Noem 2 termen voor het centrale

Nadere informatie

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod:

16. Web Station. In dit hoofdstuk komen de volgende onderwerpen aan bod: 16. Web Station U kunt uw QNAP NAS gebruiken om een website te hosten. U kunt zelf een website bouwen in HTML of gebruik maken van één van de vele content management systemen die beschikbaar worden gesteld

Nadere informatie

UBC op Microsoft Windows 64-bits

UBC op Microsoft Windows 64-bits UBC op Microsoft Windows 64-bits Inleiding Op de 64-bits varianten van Windows werkt de UBC (en vele andere pakketten) op een andere manier dan op de oudere 32-bits varianten van deze Windows versies.

Nadere informatie

Handleiding Plesk. Eddy De Bock

Handleiding Plesk. Eddy De Bock Handleiding Plesk Eddy De Bock 1 1 STARTPAGINA Hier krijgt u een samenvattend overzicht van de functies die Plesk u biedt. 2 GEBRUIKERS Hier kan u gebruikers aanmaken, verwijderen en beheren. Onder Gebruikersrollen

Nadere informatie

Werkomgeving. Android Studio. Android - werkomgeving 1/6

Werkomgeving. Android Studio. Android - werkomgeving 1/6 Android - werkomgeving 1/6 Werkomgeving Android Studio Installatie Ga naar de volgende URL: http://developer.android.com/sdk/index.html Klik op de knop "Download Android Studio for Windows" om het programma

Nadere informatie

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze

Over PHP. PHP en MySQL. 1.1 Inleiding. In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze Over PHP 1.1 Inleiding In dit hoofdstuk maak je kennis met PHP. Hoe werkt deze programmeertaal? En hoe is het ontstaan? Ook leer je welke editors je kunt gebruiken om PHP-scripts te maken en hoe je eenvoudig

Nadere informatie

Handleiding Sportlink Club

Handleiding Sportlink Club Handleiding Sportlink Club Dit document is automatisch gegenereerd. We raden u aan de handleiding online te raadplegen via www.sportlinkclub.nl/support. 1. Installatiehandleiding.........................................................................................

Nadere informatie

Zelftest Informatica-terminologie

Zelftest Informatica-terminologie Zelftest Informatica-terminologie Document: n0947test.fm 01/07/2015 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is een zelf-test, waarmee u

Nadere informatie

Whitepaper Virtualisatie en veilig internetbankieren

Whitepaper Virtualisatie en veilig internetbankieren Whitepaper Virtualisatie en veilig internetbankieren In dit white paper zullen we uitleggen hoe u met behulp van virtualisatie veilig kunt internetbankieren. We zullen eerst een korte uitleg geven hoe

Nadere informatie

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97

Inhoud leereenheid 8. Programmeren in JavaLogo (1) Introductie 73. Leerkern 75. Samenvatting 94. Zelftoets 95. Terugkoppeling 97 Inhoud leereenheid 8 Programmeren in JavaLogo (1) Introductie 73 Leerkern 75 1 Inleiding 75 1.1 Wat is programmeren? 75 1.2 Logo, Java en JavaLogo 76 2 Eerste programma s 77 2.1 Pen en Tekenblad 77 2.2

Nadere informatie

Introductie. Handleiding: Owncloud instellen

Introductie. Handleiding: Owncloud instellen Introductie QSIT Owncloud is de hollandse en 100% privacy-veilige variant van Dropbox of Google Drive. Het stelt u in staat om vanaf elk apparaat aan dezelfde bestanden te werken. Omdat wij onze servers

Nadere informatie

Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19

Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19 Internet Veiligheidspakket van KPN Handleiding Windows XP, Vista, 7,8 Versie 13.04.19 Inhoudsopgave 1 Inleiding... 3 2 Systeemeisen... 4 3 Installatie... 5 4 Gebruik en instellingen... 12 4.1 Algemeen...

Nadere informatie

VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09

VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09 VERSLAG BICS INSTRUCTIIEFIILMPJES VMBO-ICT-Route examen 2009 Naam: Marc Schattorie Datum: 06-03-09 Inhoudsopgave Gebruik BICS..blz. 3 Onderzoek naar korte instructiefilms...blz. 3 Onderzoek naar screenrecorders.blz.

Nadere informatie

HANDLEIDING Windows XP Deel 1

HANDLEIDING Windows XP Deel 1 HANDLEIDING Windows XP Deel 1 Bureaublad en Beeldscherm aanpassen Gemaakt door: De Spanjehelpdesk http://www.spanjehelpdesk.nl Voorwoord Windows XP is het besturingssyteem van uw PC. Het besturingssysteem

Nadere informatie

Gebruikershandleiding. Copyright 2013 Media Security Networks BV. All rights reserved.

Gebruikershandleiding. Copyright 2013 Media Security Networks BV. All rights reserved. Gebruikershandleiding NL - Revisie 3.7 YourSafetynet home Copyright 2013 Media Security Networks BV. All rights reserved. INHOUD 1 Inleiding... 3 2 YourSafetynet gebruiken... 3 2.1 Systeemvereisten...

Nadere informatie

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat

Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Powerpoint presentatie College 5 Gilbert van Lierop & Farshad Salamat Wat is een database? Een verzameling van georganiseerde data Een database bestaat uit applicaties, SQL en het DBMS Watis eendbms? EenDBMS

Nadere informatie

Les 11: systeemarchitectuur virtuele machines

Les 11: systeemarchitectuur virtuele machines Les 11: systeemarchitectuur virtuele machines Geavanceerde computerarchitectuur Lieven Eeckhout Academiejaar 2008-2009 Universiteit Gent Virtuele machines Motivatie Interfaces Virtualisatie: inleiding

Nadere informatie

Informatica Pagina 1 van 13. Versiedatum 17/12//2015. Te herzien op

Informatica Pagina 1 van 13. Versiedatum 17/12//2015. Te herzien op Informatica Pagina 1 van 13 Citrix - Installatie voor extern gebruik - versie december 2015.docx Naam van de verantwoordelijke: Handtekening: Versiedatum 17/12//2015 Te herzien op Doelgroep Externe Citrix

Nadere informatie

SuperOffice Systeemvereisten

SuperOffice Systeemvereisten Minimale systeemvereisten voor SuperOffice CRM De minimale systeemvereisten voor SuperOffice CRM zijn tevens afhankelijk van het besturingssysteem en de services/applicaties die op het systeem actief zijn.

Nadere informatie

Installatie Remote Backup

Installatie Remote Backup Juni 2015 Versie 1.2 Auteur : E.C.A. Mouws Pagina 1 Inhoudsopgave BusinessConnect Remote Backup... 3 Kenmerken... 3 Beperkingen... 3 Gebruik op meerdere systemen... 3 Systeemeisen... 4 Support... 4 Installatie...

Nadere informatie

HANDLEIDING EXTERNE TOEGANG CURAMARE

HANDLEIDING EXTERNE TOEGANG CURAMARE HANDLEIDING EXTERNE TOEGANG CURAMARE Via onze SonicWALL Secure Remote Access Appliance is het mogelijk om vanaf thuis in te loggen op de RDS omgeving van CuraMare. Deze handleiding beschrijft de inlogmethode

Nadere informatie

De handboek van Desktop Sharing. Brad Hards Vertaler/Nalezer: Freek de Kruijf

De handboek van Desktop Sharing. Brad Hards Vertaler/Nalezer: Freek de Kruijf Brad Hards Vertaler/Nalezer: Freek de Kruijf 2 Inhoudsopgave 1 Inleiding 5 2 Het Remote Frame Buffer-protocol 6 3 Desktop Sharing gebruiken 7 3.1 Desktop Sharing uitnodigingen beheren.........................

Nadere informatie

Inhoud introductie. Introductie tot de cursus

Inhoud introductie. Introductie tot de cursus Inhoud introductie Introductie tot de cursus 1 Functie van de cursus 7 2 Inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 8 2.3 Opbouw van de cursus 8 3 Studeeraanwijzingen 9 3.1 Opbouw

Nadere informatie

Uw TEKSTEDITOR - alle iconen op een rij

Uw TEKSTEDITOR - alle iconen op een rij Uw TEKSTEDITOR - alle iconen op een rij Hieronder ziet u alle functionaliteiten van uw teksteditor onder elkaar ( op alfabetische volgorde). Afbeelding (zie foto) Bestanden (zie link) Broncode Citaat Documenten

Nadere informatie

Is het website niet beschikbaar, dan is op de methodewebsite de datasheet te vinden van de twee appliances:

Is het website niet beschikbaar, dan is op de methodewebsite de datasheet te vinden van de twee appliances: Korte omschrijving van dit practicum Aan de hand van werkblad 2 gaan we op internet enkele appliances zoeken en analyseren. We proberen de voornaamste voor- en nadelen te vinden. Verder zoeken we appliances

Nadere informatie

Open Source Software. Bart van Dijk (b.van.dijk@hccnet.nl)

Open Source Software. Bart van Dijk (b.van.dijk@hccnet.nl) Open Source Software Bart van Dijk (b.van.dijk@hccnet.nl) Open Source Software (OSS) Wat is het Waarom willen we het wel (of niet) OSS voorbeelden Geschiedenis Licenties Ontwikkeling en ondersteuning Wat

Nadere informatie

Informatica Pagina 1 van 13. Versiedatum 16/06//2014. Te herzien op

Informatica Pagina 1 van 13. Versiedatum 16/06//2014. Te herzien op Informatica Pagina 1 van 13 Citrix - Installatie voor extern gebruik - versie juni 2014.docx Naam van de verantwoordelijke: Handtekening: Versiedatum 16/06//2014 Te herzien op Doelgroep Externe Citrix

Nadere informatie

1. Instellen van Internet Explorer

1. Instellen van Internet Explorer 9 1. Instellen van Internet Explorer Internet heeft een heel nieuw tijdperk ingeluid. Het internet is zo langzamerhand zo omvangrijk dat u bijvoorbeeld tot in de meest obscure bibliotheken kunt rondsnuffelen

Nadere informatie

Inhoud. Installatie van Eclipse. Installatie Eclipse

Inhoud. Installatie van Eclipse. Installatie Eclipse Inhoud Installatie van Eclipse 1 Apparatuurspecificaties 2 Installeren van Java 3 Instellen omgevingsvariabelen 4 Installeren van Eclipse 4.1 Licentie bekijken en accepteren 4.2 Eclipse installeren OUN

Nadere informatie

Inleiding tot programmeren: Javascript

Inleiding tot programmeren: Javascript Inleiding tot programmeren: Javascript Een definitie JavaScript is een scripttaal met objectgeoriënteerde mogelijkheden. Deze geïnterpreteerde programmeertaal is vooral gericht op het gebruik in webpagina

Nadere informatie

1 2 3 4 Internet Explorer en internet

1 2 3 4 Internet Explorer en internet 1 2 3 4 Internet Explorer en internet 5 Inleiding World Wide Web (WWW). Het doorwerken van deze module leert je het volgende: Contact leggen met het internet. Informatie zoeken op het world wide web met

Nadere informatie

Hoofdstuk 2. - is verantwoordelijk voor de communicatie van de software met de hardware.

Hoofdstuk 2. - is verantwoordelijk voor de communicatie van de software met de hardware. Hoofdstuk 2 2.1 systeembeheerprogramma s Werking en functies van besturingssystemen Besturingssysteem/operating systeem(os) - is verantwoordelijk voor de communicatie van de software met de hardware. -

Nadere informatie

Handleiding bij de Booktest Generator

Handleiding bij de Booktest Generator Handleiding bij de Booktest Generator Het programma voor het maken van toetsen bij boeken. (c) 2005/2009 Visiria Uitgeversmaatschappij Twisk Inleiding Onze dank voor het aanvragen van de Booktest Generator.

Nadere informatie

Handleiding voor Zotero versie 2.0

Handleiding voor Zotero versie 2.0 Handleiding voor Zotero versie 2.0 Michiel Wolda De handleiding voor Zetero is geschreven voor de lezers van het boek Deskresearch: Informatie selecteren, beoordelen en verwerken: tweede editie (Van Veen

Nadere informatie

8.13 Windows Hulp op afstand

8.13 Windows Hulp op afstand 1 8.13 Windows Hulp op afstand Misschien heeft u een probleem dat u zelf niet kunt oplossen, maar is één van uw (klein)kinderen of kennissen erg handig met computers. Dan kunt u natuurlijk telefonisch

Nadere informatie

Windows 10. 2015 Training voor 50-plussers. PC50plus trainingen Eikbosserweg 52 1214AK Hilversum tel: 035 6213701 info@pc50plus.nl www.pc50plus.

Windows 10. 2015 Training voor 50-plussers. PC50plus trainingen Eikbosserweg 52 1214AK Hilversum tel: 035 6213701 info@pc50plus.nl www.pc50plus. 2015 Training voor 50-plussers PC50plus trainingen Eikbosserweg 52 1214AK Hilversum tel: 035 6213701 info@pc50plus.nl www.pc50plus.nl Windows 10 TRAINING VOOR 50- PLUSSERS Inhoud opgave. Pagina 01-0 7

Nadere informatie

Software hoofdstuk 1. 1. Wat is de functie van een besturingssysteem? 2. Welke hoofdtaken heeft het besturingssysteem?

Software hoofdstuk 1. 1. Wat is de functie van een besturingssysteem? 2. Welke hoofdtaken heeft het besturingssysteem? Software hoofdstuk 1 1. Wat is de functie van een besturingssysteem? Een besturingssysteem ( in het Engels operating system of afgekort OS) is een programma (meestal een geheel van samenwerkende programma's)

Nadere informatie

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase

Grafisch ontwerp. Referenties. https://developers.google.com/webmasters/mobile-sites/ http://www.bluetrainmobile.com/mobile-showcase Mobiel Datanose Op dit moment is mobiel datanose niet goed gedaan; je krijgt gewoon de site te zien zoals je het te zien krijgt op pc's of laptops. Maar vaak heb je het probleem dat je op je mobiel moet

Nadere informatie

Installatie handleiding

Installatie handleiding Installatie handleiding Pagina 2 van 7 1 Inleiding Vanwege de zeer uitgebreide elektronica op Porsche voertuigen is het noodzakelijk dat de diagnosesoftware enorm snel evolueert. De installatie en verdere

Nadere informatie

Rafra Information Services belgium Rijksweg 22, B-8520 KUURNE Belgium Tel +32(0)56/32.50.27 (3l) Fax +32(0)56/32.50.29

Rafra Information Services belgium Rijksweg 22, B-8520 KUURNE Belgium Tel +32(0)56/32.50.27 (3l) Fax +32(0)56/32.50.29 De RIS Belgium geïntegreerde Statistieken Server Velen hebben een teller of een statistisch programma (Nedstat e.d.) op hun site staan. De Nedstat Pro versie voor bedrijven is een goede uitbreiding voor

Nadere informatie

Let op! In dit PDF-bestand wordt voor de voorbeelden gebruikgemaakt van de Instant Messaging-software Windows Live Messenger.

Let op! In dit PDF-bestand wordt voor de voorbeelden gebruikgemaakt van de Instant Messaging-software Windows Live Messenger. 1 Veilig chatten Chatten is een populaire manier van contact maken en onderhouden op internet. Het is simpel gezegd het uitwisselen van getypte berichten. Dat kan met familie, vrienden en andere bekenden,

Nadere informatie

Programmeren in Java

Programmeren in Java NIOC - presentatie Programmeren in Java Met JCreator en BlueJ Door Wim de Lange, SG Tabor, locatie Oscar Romero, Hoorn 18 april 2007 Wim de Lange Programmeren met JCreator en BlueJ 1 Mijn achtergrond Docent

Nadere informatie

OPDRACHTKAART. Thema: Multimedia. Het internet 3. Het World Wide Web MM-05-03-01. Voorkennis: Geen.

OPDRACHTKAART. Thema: Multimedia. Het internet 3. Het World Wide Web MM-05-03-01. Voorkennis: Geen. OPDRACHTKAART MM-05-03-01 Het World Wide Web Voorkennis: Geen. Intro: Deze opdracht gaat over de belangrijkste mogelijkheid van het internet: het surfen op het World Wide Web. Deze opdracht beschrijft

Nadere informatie

Werking van de Office Connector, en het oplossen van fouten.

Werking van de Office Connector, en het oplossen van fouten. Werking van de Office Connector, en het oplossen van fouten. De Office Connector zorgt ervoor dat de Microsoft Officeomgeving gebruikt kan worden als ontwerp en genereeromgeving voor documenten waarbij

Nadere informatie

Terminal Services. Document: Terminal Services T.b.v. relatie: Isaeus Auteur: Martin Waltmans Versie: 2.3 Datum: 20-3-2007 KB nummer: 100010

Terminal Services. Document: Terminal Services T.b.v. relatie: Isaeus Auteur: Martin Waltmans Versie: 2.3 Datum: 20-3-2007 KB nummer: 100010 Terminal Services Dit document beschrijft hoe op afstand kan worden ingelogd op een Terminal Server. Lees dit document zorgvuldig, voordat u voor het eerst hiervan gebruik maakt! Isaeus Solutions Tel:

Nadere informatie

De ontwikkelaar heeft het recht om af te zien van verdere ontwikkeling en/of ondersteuning van dit pakket.

De ontwikkelaar heeft het recht om af te zien van verdere ontwikkeling en/of ondersteuning van dit pakket. 1. Licentieovereenkomst BELANGRIJK! LEES DEZE OVEREENKOMST ALVORENS DE SOFTWARE TE INSTALLEREN! Het aanvaarden van deze overeenkomst geeft u het recht tot gebruik van deze software, de software blijft

Nadere informatie

Object bus en objecten zijn de toekomst van het Internet

Object bus en objecten zijn de toekomst van het Internet Object bus en objecten zijn de toekomst van het Internet Tot voor kort kende het gebruik van internettechnologie een aantal problemen met het beschikbaar stellen van zakelijke toepassingen. De simpele

Nadere informatie

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat.

Stappenplan. De ontwikkeling van een interface doorloopt bij Studio Wolf vier stappen. Deze stappen verduidelijken de weg naar het eindresultaat. Stappenplan Een interface is in principe alles wat de communicatie tussen de gebruiker en de computer bepaalt of vorm geeft. Het is het deel van de website of webapplicatie dat de interactie met de gebruiker

Nadere informatie

Concept Deze week hebben wij ervoor gekozen om de tiled display, die rechts van de ESC balie staat, te verbeteren door een interactieve applicatie eraan te verbinden. Op dit moment is het display, alhoewel

Nadere informatie

VBA voor Doe het Zelvers Deel 13

VBA voor Doe het Zelvers Deel 13 VBA voor Doe het Zelvers Deel 13 Handleiding van Auteur: leofact December 2014 handleiding: VBA voor Doe het Zelvers Deel 13 VBA voor Doe het Zelvers Deel 13 Vorige Aflevering De vorige aflevering handelde

Nadere informatie

Kijk eerst in Computer (Mijn Computer) van je werkplek. Welke stationsletters zie je op de PC?

Kijk eerst in Computer (Mijn Computer) van je werkplek. Welke stationsletters zie je op de PC? Korte omschrijving van dit practicum We zullen spelenderwijze ervaren wat enkele van de virtualisatietechnieken inhouden. We gaan aan de slag met een freeware applicatie voor het aanbieden van een gevirtualiseerde

Nadere informatie

1 Internet. 1.1 Korte geschiedenis

1 Internet. 1.1 Korte geschiedenis 1 Internet 1.1 Korte geschiedenis Een netwerk bestaat uit twee of meer computers die met elkaar zijn verbonden. Internet is een wereldwijd netwerk van computers. De verbinding tussen die computers is meestal

Nadere informatie

Handleiding Wordpress

Handleiding Wordpress Handleiding Wordpress Inhoudsopgave 1. Inloggen 2. Berichten en Pagina s 3. Afbeeldingen en video s 4. Weblinks 1. Inloggen 1.1 Inloggen bij Wordpress We starten met het inloggen op je WordPress gebaseerde

Nadere informatie

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 De functie van de cursus 7 2 De inhoud van de cursus 7 2.1 Voorkennis 7 2.2 Leerdoelen van de cursus 7 2.3 Opbouw van de cursus 8 2.4 Leermiddelen 8 3 Gebruiksaanwijzing

Nadere informatie

Installatie handleiding

Installatie handleiding MoXie Viewer versie 1.0.13 versie 1.0.14 Installatie handleiding Samenstelling Lia Out, Informatica en Procesondersteuning, VUmc Caroline Doorenbosch, BewegingsLab RevalidatieGeneeskunde, VUmc Amsterdam,

Nadere informatie

Introductie Werken met Office 365

Introductie Werken met Office 365 Introductie Werken met Office 365 Een introductie voor gebruikers Inhoud Inleiding... 4 Aanmelden bij Office 365... 4 Werken met Office 365 Outlook... 5 Werken met Outlook 2007/2010... 5 Werken met de

Nadere informatie

Een website omzetten naar WordPress

Een website omzetten naar WordPress 1 Een website omzetten naar WordPress Er zijn talloze programma s beschikbaar om websites te maken. In de titels Basisgids Websites maken met WordPress en Websites maken met WordPress voor senioren wordt

Nadere informatie

Zonder deze toestemming krijg je meldingen zoals in de volgende plaatjes wanneer je bijvoorbeeld de tekstverwerker probeert op te starten.

Zonder deze toestemming krijg je meldingen zoals in de volgende plaatjes wanneer je bijvoorbeeld de tekstverwerker probeert op te starten. Inhoud Java beveiliging... 1 Beveiligingscertificaat downloaden... 3 Java beveiliging instellen... 4 Beveiligingscertifcaat installeren... 10 Applets de eerste keer opstarten... 13 Java beveiliging Enkele

Nadere informatie

Werken met Winzip. Auteur: Pierre Gorissen Kenmerk: Gor00-WinzipV01

Werken met Winzip. Auteur: Pierre Gorissen Kenmerk: Gor00-WinzipV01 Werken met Winzip Auteur: Pierre Gorissen Kenmerk: Gor00-WinzipV01 Inleiding...3 Voor de start...4 Ongeregistreerde versie...4 Tip van de dag...4 Het inpakken van een enkel bestand...5 Openen van een Winzip

Nadere informatie

Snel op weg met webworxx e-mail

Snel op weg met webworxx e-mail pagina 1 van 23 Snel op weg met webworxx e-mail U heeft kleur bekend en gekozen voor webworxx e-mail. Met deze handleiding helpen wij u graag snel op weg bij het instellen van uw e-mailaccount. Firefox

Nadere informatie

WebDAV versus iwork.com op je ipad

WebDAV versus iwork.com op je ipad WebDAV versus iwork.com op je ipad Datum: 14 maart 2011 Versie: 1.0 Auteur: Pierre Gorissen (http://ictoblog.nl/ ) Een van de minder handige dingen aan de iwork verzameling voor de ipad (Pages, Keynote,

Nadere informatie