Java rakenduste programmeerimine Tiigriülikooli ja EITSA toel valmisid õppematerjalid kolme TPÜ Haapsalu Kolledzis õpetatava informaatikaaine jaoks. Üldnimetajateks turvalisus, andmebaasisüsteemid ning programmeerimine. Järgnevalt tutvustakse Rakenduste programmeerimise konspekti, mis moodustab koos eelmisel aastal ilmunud ning Arvutimaailmas tutvustatud Java põhikursuse konspekti ning graafika ja muusika programmeerimise õpetusega terviku. Kirjutatu kõigile kättesaadav aadressil http://minitorn.tpu.ee/~jaagup/kool/java/ viite alt "Loengumaterjalid". Mobiilirakendused J2ME kaudu miniseadmete programmeerimise tutvustus püüab edasi anda küllalt uue ja areneva valdkonna võlusid ja valusid. Aasta-pooleteise eest kuulsin arutlusi, et miniseadmete programmeerimisel leiavad eestlased hea pealehakkamise korral korralikke arenguvõimalusi pakkuvaid töökohti ja projekte. Et ala on võrreldes mõne muu programmeerimisvaldkonnaga suhteliselt lapsekingades, põhjustab muutusi ja tagasilööke, kuid samas annab meile võimaluse alustada naabritega sarnaselt stardijoonelt. Ning miniseadmete saabuvat õitsengut ennustatakse juba mitu aastat. Programmeerimisstandardid püsivad tegelike turul enam levinud telefonide võimalustest aasta-paari jagu ees, kuid see annabki praegu võimaluse tutvuda vahenditega ning kavandada lahendusi. Esmapilgul koodi uurides ei erinegi miniseadmete programmid oluliselt tavalistest lauaarvuti kasutajaprogrammidest. Ainult et "tavalise" J2SE tuhande klassi asemel on J2ME komplektiga programmeerijal kasutada klasse vaid viiekümne ringis, needki märkimisväärselt lihtsamad. Ning rakenduste vähegi suuremaks paisumise puhul tuleb arvestada mälu- ja jõudlusepiirangutega. Kuigi - mõneteistkümne aasta eest kannatas "Jukude" ning nende eakaaslaste peal enamik pähe tulevaid ideid programmideks kirjutada, 48st kilobaidist mälust jäi harva puudu. Mitmete miniseadmete praegused näitajad on aga hulga võimsamad. Emulaatorite peal katsetades selgub, et pisike ekraan laseb nii mõndagi teha, tuleb vaid ruumi raiskamist vältida. Ning arvestada, et sama programmi käivitavate masinate ekraanid võivad olla märkimisväärselt erinevate suurustega. XML Nimetatud kolmetähelist ühendit kuuleb mitmesuguse ala inimeste suust juba päris mitu aastat. Juba oodatakse näiteks põllumajandusloomade andmeid talunikelt XMLi reeglite järgi määratud failidena. Vorming lihtsamal kujul pole ju keeruline ning ka näidise järgi sageli jäljendatav, kui spetsifikatsiooni lugemine üle jõu kipub käima. Kui andmeid soovitakse masina jõududega ühelt kujult teisele saada, aitavad selle tarbeks mõeldud lisatükid, mida valminud konspektis ka lähemalt tutvustatud. XSL võimaldab olemasolevast XML-failist andmeid eraldada ja tulemust vormistada olgu siis teise XML-failina, HTMLina või lihtsalt tekstina. Päris programmeerimiskeeleks on seda ehk palju lugeda, kuid tähtsamad operatsioonid andmete eraldamisel saab tehtud kindlasti. DOM aitab XMLi andmepuud luua ja analüüsida. Ehkki näited on tehtud Java võimalusi arvestades, leiduvad mitmetes keeltes sarnased võimalused. Koostatud XML-vormingus salvestava ning andmeid lugeva pildiredaktori järgi peaks õnnestuma mitmesuguseid soovitud kujul andmeid talletavaid rakendusi kokku panna. Ehkki kõike sedasama kannataks ka kuidagi ka ehk tuttavamate harilike tekstifunktsioonide ning andmestruktuuride abil teha, hoiab valmis käsustik programmeerija aega kokku ning vähendab näpuvigade võimalust. SAXi kasutatakse suuremate andmehulkade analüüsil. Esialgu võib tunduda mõnevõrra omapärane, et XML-failist elemendi leidmine võib programmis olla sarnaselt sündmus kui näiteks hiirevajutus. Pärast esimesest üllatusest toibumist tundub selline andmete korjamine päris mugav ning masinasõbralik. Veebiserveri programmeerimine PHP ja MySQLi abil veebilehestike kokkupanijaid leidub tõenäoliselt juba hulgem. Sarnaseks otstarbeks mõeldud vahendeid jagub aga teisigi, igaühel oma head ja vead. Loodud konspektis vaadatakse nii andmebaasidega suhtlemist kui veebiprogrammeerimise võimalusi Java vahendite kaudu. Ning kui paari-kolme tabeliga rakenduse kaudu levinumad võtted läbi mängitud, siis ikka julgem tune sees. Ei midagi põrutavalt erilist, kuid seletuste ja näidete järgi peaks kannatama päris mitmekülgseid vajalikke rakendusi kokku panna. Suuremate süsteemide ehitamisel muidugi tasub andmebaaside õpikust vastavasisulisi projekteerimisteadmisi juurde hankida. Tasuta avalikku Java Servlettide või JSP-de käivituskohta pole küll kohanud, kuid mitme Eesti firma puhul olen avastanud Java vahenditega loodud veebiväljundi. Kui ikka tahta kasutada põhjalikult objektorienteeritud keele pakutavat ning korralikult oma rakenduse struktuur paika panna, siis Java annab selleks päris hea võimaluse. Killukesi Java on oma kümnekonna eluaastaga jõudnud enamikesse programmeerimisvaldkondadesse. Iga teema kohta eestikeelset õpikut kirjutada ei jõuta ning tõenäoliselt pole ka mõtet. Konspekti sabas leiduvate lühemate teemadega aga püüti huvilistele anda kätte teeots, et hiljem võõrkeelseid materjale uurides leiduks juba pidepunktid, millele tarkust juurde haakida. Hajusrakenduste RMI-ühendused pakuvad mugava võimaluse suhelda kauges serveris asuva objektiga ilma, et programmeerija peaks liigselt pead vaevama ühenduse üksikasjade üle. Suuremas ettevõttes on aga ju küllalt tavaline, et kõiki toiminguid ei koondata ühte masinasse. Sarnaselt mängitakse läbi suure arvu kasutajate ning suure jõudlusega rakenduse juures tarviliku Enterprise Java Beani (Java ärioa) loomine ning selle töölerakendamine J2EE serveris. Selles vallas tööotsijatel tuleb kindlasti juurde lugeda tunduvalt põhjalikumaid õpetusi, kuid tutvuse ja õppimisjulguse võiks siit täiesti saada. Kokkuvõtteks Kuniks suudame hoolitseda, et loodud eestikeelsed õppematerjalid üksteist täiendavad ning kaasmaalased pääsevad neile kergesti ligi, võime täiesti jõukohaste pingutustega hoolitseda, et paljudes tähtsamates valdkondades on maakeelsed põhiõpikud olemas.