Näistä asioista painopiste oli tällä kertaa
ensin mainitussa, mutta ei muitakaan em. näkökohtia
painottavia ratkaisuja voi pitää väärinä.
Olennaista on ymmärtää, mikä on sovellustason protokollan rooli suuremmassa kokonaisuudessa. Kysymys on kahdesta ohjelmasta, jotka vaihtavat keskenään varsinaiseen tietoliikennettä käyttävään sovellukseen, esim. kaupankäyntiin liittyviä viestejä (kysy tuotteen hintaa, tee tilaus jne.). Koko homma toimii luotettavan kuljetustason palvelun (käytännössä aliohjelmapakkauksen, esim. TCP) päällä, joten varsinaisesti tietoliikenteeseen liittyviä ongelmia (esim. siirtovirheet) ei tarvitse miettiä. Jonkinlainen aloitus- ja lopetusproseduuri on kuitenkin tarpeen, vaikka se ei itse asiassa teekään juuri muuta kuin kutsuu vastaavaa TCP-tason funktiota.
Toisaalta kysymys ei myöskään ole varsinaisesti koko
sovellusohjelmasta, vaan vain asiakas- ja palvelinohjelmien
väliseen kommunikaatioon
liittyvästä ohjelman osasta, lähinnä
em. viestien muodostamisesta ja purkamisesta. Niinpä protokollaan
ei kuulu esim. kommunikointi käyttäjän kanssa
näytön
ja näppäimistön välityksellä. Palvelimen
puolella
vastaavasti tietojen tallettaminen tiedostoon ja lukeminen sieltä
kuuluvat protokollan käyttäjälle
(pääohjelmalle),
eivät itse protokollaan.
Prujussa esitetyt funktiot tyyliin open, waitfor, send,
receive, close liittyvät em. tietoliikennepalveluun
(kuljetuspalveluun), joka mahdollistaa luotettavan tietojen siirron
ohjelmien välillä, mutta ei mitenkään liity
varsinaiseen sovellukseen. Kuljetustasolla on oma protokollansa (TCP,
UDP, ...), jossa on varauduttu mm. virheellisten sanomien uudelleen
lähettämiseen. Sovellustason protokolla - sovellukseen
liittyvien viestien välitys ja sovellukseen liittyvät
funktiot, esim. tilaa(...) - käyttävät sitten
hyväkseen näiden funktioiden tarjoamaa luotettavaa
tiedonsiirtoa. Näin ei sovellustasolla tarvitse enää
varautua esim. siirtovirheisiin.
Funktioista (metodeista) riittää kertoa lyhyesti,
mitä kukin funktio
tekee ja mitä parametreja tarvitaan. Ohjelmointikielen
syntaksisäännöt
eivät ole tärkeitä eikä ohjelman sisäistä
rakennetta tarvitse pohtia ollenkaan. Parametrin tyypin (kokonaisluku,
merkkijono…) voi kuitenkin hyvin mainita.