6. Sovellusohjelman toimintaympäristö ja yleiskuvaus
6.4 Automaattiohjelmiston kuvaus
6.4.4 Tiedostot, syötteet ja tulosteet
6.4.4.1 Tiedostot
Automaatin välttämättömät lokitiedostot ovat parametritiedosto parameters.dat, jakauman talletustiedosto distribution.dat, lähetysjonotiedosto queue.dat sekä tilatiedosto state.dat. Automaatti pystyy tarvittaessa luomaan tiedostot itse lukuunottamatta parametritiedostoa.
Alla esimerkki parametritiedostosta:
! telexAutomaatin parametritiedosto I Versio 1.0
I Systeemin globaalit parametrit I
I Teletex/telex timeout ( 1 tunti ) TIMEOUT=0000 01:00:00.00 I
I Uusien lähetyspyyntöjen hakuintervalli (5 minuttia) 47
UPDTICK=0000 00:05:00.00
! Lyhyin pakollinen tauko lähetyspyyntöjen välillä (5.5 sekuntia) MINFREE=0000 00:00:05.50
I Ulkona olevien telex-kuittausten maksimilukumäärä (10) MAXPEND=10
I Maksimiriski huipun läheisyydelle - sekuntteja ennen kuittausta (85) RISKLIM=85
I Maksimi uudelleenlähetyskertojen määrä ennen luovuttamista (3) MAXRTRY=3
!
I Telexin lähetysnopeus tavuja sekunnissa (6.5741) TELEXSP=6.5741
YDV - palveluviestit
Fataalit virheet, joiden jälkeen ei yritetä uudelleen YDVFATA=Y01 'network fault in local loop' 'call information service' 'incompatible class of service' 'RPOA out of order'
'registration/cancellation confirmed' 'redirection activated'
'redirection deactivated'
I Virheet, joiden jälkeen voi yrittää uudestaan kohtuullisen ajan kuluttua I
'long term network congestion'
'Remote teletex device partially out of order' 'DCE not connected to TX 1500 adapter' 'Problems communicating to TX 1500 adapter' I Lyhytaikaisesta estosta ilmoittavat virheet
YDVWARN=Y03
'selection signals procedure error' 'selection signals transmission error' 'network congestion'
48
! TELEX verkon palveluviestit
!
I Fataalit virheet, joiden jälkeen ei yritetä uudelleen.
I
TLXFATA=ABS 'tilaaja ei tavattavissa, liittymä suljettu' TLXFATA=DER 'epäkunnossa'
TLXFATA=JFE 'suljettu juhlapäivän vuoksi' TLXFATA=NA 'liikenne tilaajalle ei sallittu' TLXFATA=NCH 'tilaajan numero on muuttunut' TLXFATA=NI 'kutsuttu liittymä ei lähetä iunnusta' TLXFATA=NP 'asianomainen ei ole telextllaaja' I
I Virheet, joiden jälkeen voi yrittää uudestaan kohtuullisen ajan kuluttua I
TLXERRO=ABD 'osoiteliittymän nimenantajassa virhetoiminta tai väärä tunnus TI_XERRO=BK 'keskeytän'
TLXERRO=FMT 'muotovirhe'
TLXERRCMNF 'tilaaja on tilapäisesti poissa, kutsukaa tiedonantopaikkaa TI_XERRO=ITL 'lähetän myöhemmin'
TLXERRO=SPP 'osoiteliittymä kirjoitti vastaan (häiritsi)' I
I Lyhytaikaisesta estosta aiheutuvat virheet I
TLXWARN=NC 'yhteydet varattu' TLXWARN=OCC 'osoitekone on varattu'
Parametritiedoston kentät siis noudattavat syntaksia TUNNISTE=ARVO, jossa tunniste on aina 7 merkkiä pitkä ja arvo joko vapaamittainen merkkijono, kokonaisluku tai liukuluku. Jos rivi alkaa huutomerkillä, se sivuutetaan kommenttirivinä. Tunnistekenttien järjestys ja lukumäärä on vapaa, näin tiedosto on helposti muokattavissa ja ymmärrettävissä.
Yllä olevassa tiedostossa on kaikille parametreille annettu jokin arvo. Tämä ei ole välttämätöntä, vaan automaatti korvaa puuttuvat arvot järkevillä oletuksilla (näistä tarkemmin kappaleessa 8.4).
Tiedostoon queue.dat talletetaan lähetyspyyntölista kunkin listatapahtuman jälkeen (näitä ovat tapahtumat "uusia lähetyspyyntöjä saapui" tai "AP lähetti kuittauksen"), jolloin lista pysyy ajan tasalla. Valitsemalla talletushetket oikein ei talletusta tarvitse tehdä kovin usein, eikä listan kirjoittaminen tällöin vaadi liikaa resursseja.
Queue.dat tiedostoa käytetään automaatin tilan palauttamiseen ennalleen sähkökatkon tai koneen hallitun alasajon jälkeen ja hallintakäyttäjän passiivisen monitorin syötteenä.
49
Tilan ennalleen palauttaminen vaatii lähetyspyyntöjonon tietojen lisäksi automaatin sisäisten tilamuuttujien säilyttämistä. Näitä ovat ulkona olevien telex-kuittausten lukumäärä, lähetyspyyntöjen kokonaislukumäärä, viimeksi tehdyn lähetyspyynnön osoite listassa sekä viimeisimmän kuittauksen tilakoodi.
Täydellinen automaatin tilan kuvaaminen vaatisi lisäksi ajastinten tilojen säilömistä. Tämä onkin ongelmallisempaa, koska ajastimet ohjaavat ohjelman käyttäytymistä kahdella tavalla: tapahtumien lähteinä ja siten automaattia tilasta toiseen siirtävinä syötteinä sekä ajan mittareina lähetyskäyttäytymisen optimoimiseksi. Sähkökatkon tai alasajon jälkeen ajastinten aikaa mittaava tieto on arvotonta, mutta automaatti vaatii yhä ajastinten aiheuttamia tapahtumia jatkaakseen toimintaansa.
Niinpä päätettiinkin tallettaa vain automaatin sisäiset tilamuuttujat aputiedostoon state.dat ja hoitaa ajastinongelma käynnistämällä tilan palauttamisen yhteydessä uudelleen alustusrutiinin vaatimat ajastimet. Näin automaatti saadaan käynnistymään mahdollisimman paljon alkuperäistä muistuttavasi tilasta.
6.4.4.2 Syötteet
Automaattiohjelmisto saa syötteitä kahtaalla: lähetyspyyntöjä loppukäyttäjiltä sekä palvelupyyntöjä hallintakäyttäjältä.
Hallintakäyttäjän palvelupyynnöt välittyvät komentotietorakenteessa, josta tarkemmin luvussa 7. Loppukäyttäjien lähetyspyynnöt taas välittyvät viestin sisällä peräkkäistiedostoina, joiden syntaksi on hiukan vapaampi. Esimerkki yhteen numeroon tehdystä lähetyspyynnöstä alla:
###Message-Router teletex senderl###
DUA2:<ISM0. TXT>Kokeilu_vaan. TXT;1 SOFTT::ISMO
###Message-Router teletex sender3###
rivi1 Itse viesti alkaa tästä ja jatkuu
rlv¡2 loppukehykseen saakka, viestiä...
riviN viestin loppu
###Message-Router teletex sender2###
I alkukehys
I lähetettävän tiedoston alkup. nimi I lähettäjän postiosoite kuittaukselle I viestin otsikko
I kuvausryhmä
I onko ryhmänsä viimeinen I lähetyspyynnön tärkeysluokka I uudelleenyritysten maksimimäärä IX. 121 telemaattinen osoite I osoitelistan loppukehys
I Loppukehys
50
Lähetyspyyntö siis alkaa alkukehyksellä, jota seuraa ohjaustieto-osa ja sitten itse viesti, joka loppuu loppukehykseen. Loppukäyttäjä voi tehdä tällaisia lähetyspyyntöjä vapaavalintaisen määrän peräkkäin, ja eri käyttäjien lähetyspyynnöt voivat seurata toisiaan mielivaltaisessa järjestyksessä.
Ohjaustieto-osa päättyy osoitelistan loppukehykseen, jolla mahdollistetaan kiertojen lähettäminen yhdellä lähetyspyynnöllä. Jos käyttäjä taas haluaa lähettää monta viestiä, mutta ryhmittää ne omaksi loogiseksi kokonaisuudekseen (mailing list - tyyppinen ryhmälähetys), tulee lähetyspyyntöjä tehdä useita samalla kuittausryhmänumerolla. Kiertosanomalla tarkoitetaan tässä samaa viestiä useaan osoitteeseen vastakohtana yksittäisviestille. Ryhmälähetyksellä ymmärretään erilaisten viestien lähettämistä eri osoitteisiin samassa ryhmässä, jolloin automaatti kuittaa koko lähetystapahtuman yhdellä kertaa (kts. tarkemmin 6.4.4.3)
Alla vielä esimerkki kiertosanomasta:
###Message-Router teletex senden###
DUA2:<ISMO. TXT>Kokeilu_vaan. TXT; 1 SOFTT::ISMO
###Message-Router teletex sender3###
rlvl1 Itse viesti alkaa tästä ja jatkuu rivi2 loppukehykseen saakka, viestiä...
riviN viestin loppu
###Message-Router teletex sender2###
I alkukehys
I lähetettävän tiedoston alkup. nimi I lähettäjän postiosoite kuittaukselle I viestin otsikko
I kuittausryhmä
I onko ryhmänsä viimeinen I lähetyspyynnön tärkeysluokka I uudelleenyritysten maksimimäärä IX. 121 telemaattinen osoite IX. 121 telemaattinen osoite IX.121 telemaattinen osoite I osoitelistan loppukehys
ILoppukehys
Kiertosanoma kuitataan myös yhdellä kertaa sitten, kun viestiä on yritetty lähettää maksimiyrityskertamäärä kaikkiin listan numeroihin. Kiertosanoma vastaa siis ATK-postijärjestelmissä jakelulistaa.
51