UniFile

A UniFile rendszert eredetileg távközlési cégek számára fejlesztettük ki hívásadat-betöltő, illetve mediation rendszernek.

Alapvető funkciója, hogy rekordszervezésű bemeneti fájlokat tölt be, és egy paraméterezhető belső rekordformátum (IPS) segítségével alakít át a kimeneti oldalon szükséges file formátumokká, miközben tetszőleges adatbázisból egyéb adatokkal egészíti ki a bemenetet bizonyos feltételek alapján. (pl. az input állomány lehet egy telefonközpont által előállított AMA file, melyet a rendszer paraméterező moduljával hozzá lehet rendelni a kívánt formátumra és betölteni a számlázó rendszerbe miközben az ügyféltörzsből egyéb adatokkal egészíti ki a bemenetet.)

A kimeneti állomány(ok) ASCII file(ok), melyek lehetnek fix mező hosszúságúak, illetve változó mező hosszúságúak szeparátor karakterrel. A rendszer bizonyos feltételek, és a bemenetre érkező rekordok alapján képes számításokat végezni (pl. beárazza a hívást), illetve rekordszintű, vagy file szintű statisztikákat képes előállítani.

A rendszer teljesen szabadon konfigurálható, valamennyi paramétert a felhasználó adhatja meg: bemeneti rekord szerkezet, kimeneti rekord szerkezetek, feltételek, számítások, statisztikák stb.

A UniFile rendszer két fő részből áll:

  • paraméterező modul, vagy front-end
  • feldolgozó motor, vagy back-end

A felhasználó a front-enden keresztül elvégzi a beállításokat. A paraméterek alapján a front-end előállít egy export filet, mely tartalmazza a szabályokat. A feldolgozó motor ezt az export filet használja a futás alatt a bemeneti állomány betöltésére, illetve feldolgozására.

1. Paraméterező modul

A paraméterező modul JAVA nyelven íródott a hardverfüggetlenség érdekében. Így a paraméterezés tetszőleges platformon végezhető, az egyetlen követelmény, hogy a platform képes legyen Java Virtual Machine futtatására.

Konfigurációs fa

A konfigurációs fa egy Windows Explorer szerű kezelő felületet biztosít a különböző paraméterezhető adatok (bemeneti rekordszerkezet, feltételek, IPS-ek, stb.) megjelenítésére hierarchikus formában.

Paraméterező ablak

Valamennyi konfigurálható adattípus különböző tulajdonságbeállító panellel rendelkezik. Ezek a panelek párbeszédablakok, az ezeken végzett módosítások frissítése a konfigurációs fában az "OK" megnyomása után történik.

Eljárások

A felhasználó tetszőleges számú eljárást definiálhat, ezek az eljárások az IPS struktúrán hajtódnak végre. Az eljárások lépésekből épülnek fel, a lépések tartalmazhatnak feltételeket, illetve saját definiálású függvényeket (aritmetikai, string, dátum függvények).

Adatintegritás biztosítása

A rendszer rendelkezik néhány beépített ellenőrző szolgáltatással, melyek biztosítják az adatintegritást. (rekord nem veszhet el, mező nem maradhat ki stb.)

Input struktúra ellenőrzése


A rendszer ellenőrzi, hogy a bemeneti struktúra teljesen lefedett-e a hozzárendelés során, vagyis, hogy nem maradtak lyukak illetve nincs-e átfedés a mezők között.

IPS mező ellenőrzés


A rendszer leellenőrzi, hogy valamennyi IPS mezőt használunk-e a hozzárendelés során. Ha mező kimaradnak, a rendszer figyelmeztet.

Függvényhívás paraméterének ellenőrzése

A rendszer ellenőrzi a függvényhívások során a paraméter típusát, és nem engedi meg a paraméterek típusának keveredését. Ez igaz a függvények bemeneti illetve kimeneti paramétereire is.

Kötelező mezők


A tulajdonság paneleken a rendszer ellenőrzi a különböző adattípusokra a kötelező mezők kitöltöttségét.

2. Feldolgozó motor

A feldolgozó motort (back-endet) C++ nyelven valósítottuk meg. Valamennyi C++-t támogató platformon futtatható, ahol létezik a használt adatbázis eléréséhez ODBC driver.

A feldolgozó motor egy parancssoros program, melynek bemenő paraméterei a feldolgozandó file, illetve a feldolgozási szabályokat tartalmazó export file.

3. A feldolgozó motor architektúrája

A UniFile koncepciója az UPL (UniFile Programming Language) nyelven alapszik. Az UPL egy fejlesztő nyelv az adatkonverziók definiálásához. Egyszerű lehetőséget teremt komplex konvertáló algoritmusok megvalósításához. A back-end compiler része állítja elő az UPL forráskódból a UPL byte kódot, a feldolgozó motor pedig futtatja azt (hasonlóan a JAVA technológiához).

^ lap tetejére