Java-sovelma

Java-sovelma (Java Applet) on epäitsenäinen, asiakaskoneessa selaimen yhteydessä suoritettava
Java-ohjelma. Sovelmia ajetaan selaimessa, johon on tyypillisesti asennettu Java-virtuaalikone (JVM) tai Sunin AppletViewerillä, sovelmien testaamiseen tarkoitetulla työkalulla. Java-sovelmat sisältyivät jo 1995 julkaistuun Java-kielen ensimmäiseen versioon.
Noin vuodesta 2013 lähtien selaimista on poistettu vanha NSAPI-rajapinta, jolla sivuilla sai ajettua selain-plugineita. Vuosina 2015–2017 mahdollisuus ajaa sovelmia poistui kaikista valtavirran selaimista. Java-sovelmien lisäksi poistuvaa tekniikka käyttivät Adobe Flash ja Microsoft Silverlight.
Uusi WebAssembly muistuttaa jonkin verran Java-sovelmia.
Sovelmilla tehdään verkkosivuille vuorovaikutteisia ominaisuuksia, joita ei voida toteuttaa HTML:n avulla. Koska Java-tavukoodi on alustariippumatonta, sovelmia voidaan käyttää monilla käyttöjärjestelmillä kuten Microsoft Windows, Unix, Mac OS ja Linux.
Sovelmia on tehty eniten Java-kielellä, mutta Java-alustan tuki sovelmille päättyy Java SE 8:n jälkeen. Oraclen päätös lopettaa Java-alustan ja siihen pohjautuvien sovelmien tuki perustuu paljolti sovelmiin liittyviin turvallisuuskysymyksiin.
Teknistä tietoa.
Java-sovelmat ajetaan tietoturvasyistä hiekkalaatikossa, mikä estää niitä pääsemästä käsiksi paikallisiin tietoihin. Sovelman koodi ladataan web-palvelimelta ja selain joko näyttää sovelman verkkosivulle upotettuna tai avaa uuden ikkunan, jossa sovelma näytetään.
Sovelman näyttämiseen käytetään codice_1- tai codice_2-HTML-elementtiä,
joista jälkimmäinen on nykyisin suositeltu käytäntö. 
Elementissä kerrotaan selaimelle, mistä sovelman tavukoodi ladataan, sekä sovelman
paikka ja koko verkkosivulla.
Java-sovelma periytyy luokasta codice_3 tai Swing-sovelman tapauksessa codice_4. Sovelman toteuttavan luokan on ylikirjoitettava luokasta metodit, joilla sen käyttöliittymä alustetaan.
Java-sovelmien etuja.
Java-sovelmien käytöllä saavutetaan seuraavia etuja:
Java-sovelmien haittapuolia.
Java-sovelmien käytössä on seuraavia haittapuolia:
Yhteensopivuusongelmat.
Sun Microsystems on nähnyt paljon vaivaa varmistaakseen yhteensopivuuden vanhojen Java-versioiden kanssa uusien versioiden ilmestyessä. Microsoft Internet Explorer, 1990-luvun lopun suosituin selain, sisälsi oletuksena Microsoftin itse kehittämän Java-virtuaalikoneen. MSJVM sisälsi joitakin lisäominaisuuksia, joiden käytöstä sovelmassa seurasi se, ettei kyseinen sovelma toiminut Sunin Javalla; epäyhteensopivuutta toiseen suuntaan ei ollut. Sun haastoi Microsoftin oikeuteen tavaramerkkirikkomuksesta, koska epäyhteensopivuus ja "proprietary"-laajennukset olivat vastoin Javan perusfilosofiaa.
Oikeustoimien takia Microsoft jäädytti oman virtuaalikoneensa kehittämisen. Seurauksena oli tilanne, jossa suurella osalla käyttäjiä oli käytössään huomattavan vanhentunut Java-virtuaalikone. Myöhemmin, lokakuussa 2001, Microsoft lopetti Javan sisällyttämisen Windows-asennukseen jättäen sen toimittamisen konevalmistajien vastuulle. Nykyisin useimmat uudet tietokoneet toimitetaan Sunin virallinen Java valmiiksi asennettuna.
Vaihtoehdot.
Java-sovelmille on olemassa vaihtoehtoisia tekniikoita kuten DHTML ja Adobe Flash, jotka mahdollistavat osittain saman toiminnallisuuden toteuttamisen.
Java Web Start on Sunin toteuttama vaihtoehto sovelmille. Web Startilla toteutetut ohjelmat ajetaan selaimen ulkopuolella ja voidaan käynnistää siitä riippumatta. Sovelmien mahdollistamien toimintojen lisäksi Web Start -ohjelmat voivat yksinkertaisen kyselylaatikon avulla saada käyttäjältä oikeuden paikallisten tiedostojen tai leikepöydän käyttöön.