Applets, Java Plug-In och Java Web Start

Egentligen bör ingen av nedanstående teknologier användas på en websida som riktar sig till "vem som helst i hela världen som råkar surfa förbi" eftersom de inte säkert går att exekvera utan att ytterligare programvara installeras (Explorer i Windows XP klarar inte alltid av applets). Om någon senare version av Java än JDK 1.1 används i appleten finns det ingen browser alls som kan exekvera den utan kompletterande installationer.

Applets

En applet ska ärva av klassen java.applet.Applet om den skrivs i AWT och javax.swing.JApplet om den skrivs i Swing. Dessa klasser ärver av java.awt.Panel och innehåller alltså all dess funktionalitet. I appleten kan/ska du omdefinera nedanstående metoder. En applet visas i en webbläsare med hjälp av taggen <applet>. Här är en enkel liten applet och en HTML-fil som startar den, AppletDemo.java, appletdemo.html. Appleten skriver ut när ovanstående fyra metoder anropas. Dessutom illustrerar den att ett GUI skapas på precis samma sätt som i en applikation.

Förutom vad som sagts ovan fungerar ett användargränssnitt i en applet på exakt samma sätt som i en applikation som visas i en Frame/JFrame.

Java Web Start

Java Web Start ingår i J2SE och fungerar mycket kortfattat på följande sätt (notera att Java Web Start måste vara installerad på alla klienter). Websidan ska innehålla en länk till en XML-fil som beskriver Javaprogrammet. När användaren klickar på länken kommer Java Web Start automatiskt att ladda hem alla nödvändiga filer (om det inte var gjort tidigare), spara dem lokalt och starta programmet som en vanlig applikation. Nästa gång användaren klickar på länken kommer programmet att starta utan att filerna behöver laddas hem. Användaren kan också lägga upp det hemladdade programmet som en ikon och starta det utan att gå via browsern. Om programmet uppdateras på servern kommer den nya versionen att laddas hem när användaren startar det.

Den stora fördelen med den här tekniken jämfört med Java Plug-in (se nedan) är att programmet sparas lokalt som en vanlig applikation och kan köras utan någon browser. Det blir alltså snabbare och även oberoende av om det finns Java-stöd i browsern. Nackdelen är att Java Web Start måste installeras "manuellt".

Java Web Start kan ses som ett enkelt sätt att installera (och uppdatera) program över webben. Bara användaren klickar på en länk i sin browser installeras programmet. Det fungerar oberoende av webserver, browser eller operativsystem (bara Java Web Start finns installerat).

För att distribuera ett program med Java Web Start räcker det att göra så här:
  1. Lägg till stöd för en ny MIME-typ i webservern.
  2. Skriv en JNLP-fil. Detta är en xml-fil som beskriver programmet.
  3. Paketera programmet i en jar.
  4. Gör en länk (i någon websida) till JNLP-filen.
En utförligare beskrivning av detta finns här, http://java.sun.com/products/javawebstart/docs/developersguide.html#website.

Det går även lätt att ge programmet utökade rättigheter på användarens dator, till exempel att öppna filer eller kommunicera över nätet. Användaren måste naturligtvis godkänna de utökade rättigheterna först.

Mer information om Java Web Start finns här,  http://java.sun.com/j2se/1.4/docs/guide/jws/index.html.

Java Web Start ingår i J2SE.

Java Plug-in

En förteckning över SUN:s dokumentation om Java Plug-in finns på http://java.sun.com/j2se/1.4/docs/guide/plugin/index.html.

Java Plug-in är en javamotor som läggs till din webläsare precis som vilken annan plugin som helst. För att det ska fungera måste applettagarna skrivas om. Det finns ett verktyg som gör det automatiskt, det finns här: http://java.sun.com/j2se/1.4/docs/guide/plugin/developer_guide/html_converter_more.html.

När appleten ska laddas kommer webläsaren (fungerar med netscape och explorer) att kolla om Java Plug-in är installerad. Om så inte är fallet kommer den att laddas hem så att du kan installera den i din dator. OBS! Att du nu installerat den betyder inte att du kan använda den normala applettagen, du måste även fortsättningsvis använda den utökade applettagen

Java Plug-in ingår i J2SE.

En jämförelse av Java Web Start och Java Plug-in

Ingen av dessa teknologier är lämplig att använda på en websida som riktar sig till "vem som helst i hela världen som råkar surfa förbi" eftersom de båda kräver installation av en programvara på åtskilliga megabyte. De bör endast användas för användare som på något sätt är knutna till sajten och på vilka det är rimligt att ställa krav på att installera lämplig programvara för att kunna använda den.

Ur säkerhetssynpunkt är det inget problem med någon av dem.

Ingen av dem har speciellt krånglig installation, det enklaste är att be användarna installera J2SE så får de både Java Web Start och Java Plug-in automatiskt.

Java Web Start är bättre därför att:
Java Plug-in är bättre därför att: