Ohjelmistojen koon ja monimutkaisuuden jatkuvasti kasvaessa paineet kasvattaa ohjelmointityön tuottavuutta väistämättä lisääntyvät.
Eräs keino tuottavuuden parantamiseksi on ohjelmistojen osien uudelleenkäyttö.
Uudelleenkäyttöön on kehitetty monia tekniikoita, joista tässä työssä käsitellään sovelluskehyksiä ja koodin automaattista generointia.
Sovelluskehykset ovat osan valmiista sovelluksesta sisältäviä ohjelmarunkoja, joita täydentämällä saadaan aikaan uusia, halutun toiminnallisuuden sisältäviä sovelluksia.
Sovelluskehyksillä pyritään lisäämään tuottavuutta pienentämällä sovellukseen itse kirjoitettavan koodin määrää.
Sovelluskehyksiä käyttämällä ohjelmia voidaan potentiaalisesti tuottaa erittäin nopeasti, mutta niihin liittyy kuitenkin joukko muun muassa käytön oppimiseen ja suorituskykyyn liittyviä ongelmia.
Koodin automaattinen generointi tarkoittaa koodin tuottamista automaattisesti koodigeneraattorilla kuvauskielisestä määrittelystä.
Generaattorin syötteekseen saama kuvauskieli on yleensä helpommin ymmärrettävää kuin lopullinen ohjelmakoodi, ja myös nopeammin tuotettavissa.
Koska generoidussa koodissa ei ole inhimillisiä virheitä, voidaan koodia automaattisesti tuottamalla tuottaa ohjelmistoja, joissa on vähemmän virheitä.
Koodin automaattinen generointi on jo nykyisellään laajalti käytössä oleva menetelmä, jonka soveltamista jarruttaa oikein toimivien koodigeneraattorien rakentamisen vaativuus.
Tässä työssä tarkastellaan sovelluskehyksen ja koodigeneraattorin käyttöä hajautetun ohjelmiston kehityksessä.
Työssä rakennetaan kaksi pientä EJB-sovellusta, joista toinen toteutetaan sovelluskehyksen päälle koodia generoivaa JavaMaestro-työkalua käyttäen ja toinen suoraviivaisesti käsin kirjoitettuna.
Syntyneiden sovellusten ominaisuuksia vertaillaan keskenään, ja pohditaan generointityökalun käytön etuja ja haittoja.