Programmering i Java versjon Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18 Mer om appleter En web-tjener er tilstandsløsside 2 Distribuert prosesseringside 3 Sandkassemodellen i Javaside 4 Sikkerhetshåndtererside 5 Applet-klassene sin plass i klassetreetside 6 Livsløpet til en appletside 7 Sikkerheten i praksisside 8 Kommunikasjon mellom applet og nettleserside 9
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 2 En web-tjener er tilstandsløs En web-tjener har som hovedoppgave å svare på forespørsler fra klienter om å få utlevert filer. En HTML-side er en relativt ”død” sak med små muligheter for behandling av data (men noe kan fås til med JavaScript). Brukeren kan skrive inn data i et skjema i en HTML-side. Disse sendes til web-tjeneren som gjerne sender dem videre som input til et program. Deretter glemmer web-tjeneren denne forespørselen. Den er tilstandsløs, som et objekt uten variabler. Dersom samme klient skal jobbe videre med den samme oppgaven, kan han ikke gå ut fra at tjeneren husker noe fra forrige gang de var i kontakt med hverandre. I praksis vil tjeneren i disse tilfellene ha avsluttet forrige deloppgave med å sende eventuelle resultater tilbake til klienten. Internett web- tjener program som behandler dataene CGI nett- leser HTTP klienttjener
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 3 Distribuert prosessering Vi kan redusere nettrafikken ved å la nettleseren laste ned små programmer som gjør beregninger eller behandler data på andre måter Nettleseren kjører disse programmene automatisk Flere teknologier –Java appleter –Microsoft ActiveX –Shockwave Flash fra Macromedia
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 4 Sandkassemodellen i Java AppletContext System.out C:\windows /etc/passwd lpt1 Suspekt applet får ikke tilgang til mange ressurser på datamaskinen
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 5 Sikkerhetshåndterer En sikkerhetshåndterer er et objekt av klassen SecurityManager. Et kjørende Java-program kan ha en sikkerhetshåndterer installert. Dersom programmet vil utføre en operasjon som innebærer en sikkerhetsrisiko, vil det måtte spørre sikkerhetshåndtereren om tillatelse. Det skal ikke være mulig for oss å lage kode som skal gjøre noe risikabelt uten å måtte gå via metoder i API’et som foretar den nødvendige sikkerhetskontrollen. En applet har alltid sikkerhetshåndterer installert. Appleten kan ikke selv endre sin egen sikkerhetshåndterer.
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 6 Applet-klassene sin plass i klassetreet Object Component JFrame JApplet JInternalFrameDialog JDialog Container WindowJComponentPanel FrameJWindow Applet Verken Netscape eller Internet Explorer støtter Swing. En mulig løsning på dette problemet, se velg ”Tips”.
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 7 Livsløpet til en applet Appleten er stoppet, bruker har forlatt web-dokumentet. init() start() stop() destroy() Appleten er lastet, starter straks. Appleten kjører, bruker ser på. Appleten er ute av verden fordi nettleseren er avsluttet, eller annen grunn. lastetjobberstoppetdød Vis programliste 18.1 side Gjør oppgave side 564.
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 8 Sikkerheten i praksis Vis programliste 18.2 og 18.3 side
Kun til bruk i tilknytning til læreboka ”Programmering i Java” skrevet av Else Lervik og Vegard B. Havdal, Stiftelsen TISIP og Gyldendal Akademisk ISBN Kapittel 18, side 9 Kommunikasjon mellom applet og nettleser Applet-kontekst –AppletContext nettleser = getAppletContext(); –Appleten får en referanse til den nettleseren den kjører i –Aktuelle meldinger å sende til objektet nettleser void showDocument(URL url) void showStatus(String statusTekst) Parametre til appleten, eksempel Applet som demonstrerer bruk av parametre Nettleseren din støtter ikke Java-appleter, eller har det avskrudd. Vis programliste 18.4 side 568.