Edustaohjelma
Edustaohjelma eli frontend on ohjelma, joka ei tee varsinaista työtä, vaan ohjaa jotakin taustaohjelmaa eli backendiä. Edustaohjelmien idea on yleensä ohjelmien käytön helpottaminen.
Vapaat Unixeille tarkoitetut ohjelmat on usein tehty komentoriviltä käytettäviksi. Kun käyttäjille halutaan tarjota graafinen vastine, ei yleensä kannata kirjoittaa uutta ohjelmaa, vaan hyväksi todetulle komentoriviohjelmalle tai sen taustakirjastoille tehdään pelkästään graafinen edustaohjelma, eikä varsinaista toiminnallisuutta tarvitse ohjelmoida uudestaan. Tämä helpottaa työtä huomattavasti ja ne toiminnot, joita ei vielä ole saatu mukaan graafiseen käyttöliittymään, ovat käytettävissä komentorivin kautta.
Myös uusia ohjelmia kirjoitetaan usein saman periaatteen mukaisesti: toiminnallisuus kehitetään ja testataan komentoriviä käyttäen ja graafinen edustaohjelma kehitetään erikseen, mahdollisesti eri kehittäjäjoukolla.
Kaikki edustaohjelmat eivät ole graafisia. Jaon tausta- ja edustaohjelman välillä voi tehdä myös esimerkiksi siksi, että taustaohjelma palvelee useampaa edustaohjelmien käyttäjää, siksi, että taustaohjelmalla on oikeuksia, joita yksittäisillä käyttäjillä ja heidän ajamillaan edustaohjelmilla ei pidä olla tai siksi, että edustaohjelmien (käyttöliittymien) suhteen olisi useampia vaihtoehtoja.
Esimerkki edustaohjelmasta
Ohjelma A, joka on komentorivipohjainen, tekee eri toimintoja. Aloittevalle käyttäjälle ohjelma A:n käyttö voi olla hankalaa. Ohjelma B helpottaa toimintojen suorittamista antamalla selkeän käyttöliittymän jossa voi valita eri vaihtoehtoja ennen suoritusta. Ohjelma B sitten käynnistää ohjelma A:n tietyillä kytkimillä, ottaa ohjelma A:n ulostulon ja tekee siitä helposti käsiteltävän. Ohjelma B on siis ohjelma A:n edustaohjelma.