Pirilä - Awot - Tulosseuranta tietoverkoissa

Sanomajonot

Awot:n palvelin ottaa vastaan Pirilän ohjelmista tulossanomia.

Ko. sanomat on luettavissa Awot:n palvelimelta muihinkin ohjelmiin. Näin voi vaikka jokainen rakentaa oman Online-tulospalvelun ko. tulossanomien avulla. Mielenkiinnolla jäämme odottamaan erilaisten asiakasohjelmien syntymistä. Jos toteutus on Java, ksh, perl tai C-kielinen, niin Awotilta voisi saada vaikka palvelinympäristön käyttöönsä kehittää ja kokeilla.

Ensimmäinen tälläinen ko.dataa hyödyntä ohjelma on OliveResults reaaliaikainen tulostaulu.

Samoin voidaan monistaa sanomat muille palvelimille ja ns. asiakasohjelmat voivat lukea tulossanomia myös muilta palvelimilta. Näin voidaan hajauttaa palvelimet, jolloin tehot riittävät varmasti vaikka miten suuren joukon palvelimiseen. Tätä hajauttamista varten Awot julkaisee myöhemmin palvelin-protokollan, jonka avulla halukkaat palvelimet ilmoittautuvat sanomapalvelijoiksi.

Sanomien luku palvelimelta

Awot sanomapalvelija toimii http-protokolla. Lähettämällä GET-pyyntö palvelimelle, alkaa palvelin lähettämään sanomia ja istunto pysyy kokoajan auki elikun uusi sanoma syntyy, siirtyy se myös avoinna oleville sanomapyytäjille.

Sanomapalvelijan URL on esim. kilpailutunnukselle tst1:
http://www.suunnistus.info/cgi-bin/textdb/pirila/showmsg?event=tst1

Sanomapalvelijalta voi kysyä kaikki tarjolla olevat jonot URL:lla
http://www.suunnistus.info/cgi-bin/textdb/pirila/showqueuelist

Molemmat URL:t palauttavat tiedon ns. plain-text muodossa. showqueuelist palauttaa listan ja sulkee yhteyden, kun taas showmsg jää avoimiksi odottaen tulisiko lisää sanomia.

Yleiset sanoman periaatteet

Yksi sanoma on yhdellä tekstirivillä. Kenttien välinen erotin on puolipiste ( ; ). Rivien välinen erotin on ascii 10 eli linefeed. # -merkillä alkavat rivit ovat kommenttirivejä.

Jos rakenteeseen tulee muutoksia, tulee uudet kentät ensisijassa vanhojen kenttien perään.

Tulossanoman rakenne

Awot palvelimelta luettavan tulossanoman rakenne on:
kilpailutunnus;aikaleima;sarja;matka;numero;sukunimi;etunimi;seura;aika;aikasek;<LF>
Esimerkki
tst1;20020802141430;H21A;5,0;7;Sallinen;Kari;Delta;10:49:15;38955;

Selitys kentille:

Sanomajonolistauksen rakenne

kilpailutunnus;kilpailun nimi;

kilpailutunnus on se tunnus, jota sanomien noudossa tulee käyttää.

Esimerkki sanomien lukemiseen

Oheinen esimerkki readqueue on tehty ksh-kuoriohjelmalla (KornShell).
#!/usr/local/bin/ksh
# readqueue
# ex. ksh-script for reading result messages
# Karjalan ATK-Awot Oy, Jukka.Inkeri@Awot.biz

# - open filehandler/socket read/write
exec 3<>/dev/tcp/www.suunnistus.info/http
# - send GET message to server
echo "GET /cgi-bin/textdb/pirila/showmsg?event=jitst1" >&3
# - read lines forever
while read line
do
	# variable line include messageline
        echo "$line"
done <&3   # - read from socket
exec 3<&-  # - close socket

Awot verkkopalvelut

Awot on erikoistunut palvelinohjelmistoihin ja verkkotekniikkaan.



© Karjalan ATK-Awot Oy web.mgr@awot.fi