4GL rendszerek



A Software magazin egyik nemrégi számában jelent meg egy érdekes cikk az alkalmazás fejlesztő rendszerek fejlődéséről. Ebben olvashatunk egy tanulságos történetet, amely az amerikai Text and Data Technolgies cégről szól. A cég, amely az 1980-as évek elejé n jött létre, kórházi és bűnügyi adminisztrációs programokra specializálódott. Induláskor az akkor szokásos utat választva a Pascal nyelvet választották fejlesztőeszközként. Hamarosan rájöttek azonban, hogy milyen nagy nehézségekbe ütköznek a termékeik má s plattformra történő átültetésénél, a rendszereik folyamatos bővitésénél. Elsősorban kapacitásproblémával küzdöttek, hiszen mindössze tizenöt főből állt a fejlesztőgárda. A cégnek egy hatékonyabb eszköz után kellett néznie, hogy bennmaradhasson a piacon meglévő kemény versenyben.

A kor fejlődési irányait felismerve a hagyományos 3GL nyelvek (mint pl. a C, Pascal, Fortran,..) után a DB/4GL megoldás felé fordultak. Megvásárolták a Progress 4GL fejlesztőrendszert, majd négy emberüket öt nap alatt átképezték az új rendszerre. Igen fig yelemre méltó, hogy e rendkivül kevés idő is elegendő volt az új eszköz alkotó megismeréséhez. Ezután rövid idő alatt átirták minden alkalmazásukat az új rendszerre. A cég vezetője szerint befektetésük azóta busásan megtérült. Az ő véleménye alapján a 4GL fejlesztőeszközök az életbiztositást jelentik a cég számára, hiszen a piac igényei folyamatosan változnak, s e változások hatékony követése csak a 4GL által biztositott rugalmasság révén teremthető meg.

De mi is ez a csodaszer, az oly sokat emlegetett 4GL rendszer ?

A 4GL rendszer jelölés szó szerint a negyedik generációs nyelveket öleli fel. A negyedik generáció megjelölés utal arra a minőségi ugrásra, ami az alkalmazások fejlesztése terén elérhető. A 4GL rendszerek ugyanis a hagyományos programozási nyelvektől eltérően nem igénylik az összes elemi tevékenység aprólékos leirását, megadását. Ehelyett a fejlesztő egy sokkal emberközelibb, magasabb szintű nyelvet használhat a munkája során. Ez úgy is megfogalmazható, hogy a fejlesztő rendelkezésére állnak mindazon segédfüggvé nyek, melyekkel az összetettebb funkciók is egyetlen egy hivással megvalósithatók. Igy például nem szükséges a képernyőkezelés részleteinek szintjén programozni, elegendő például csak a képernyőn megjelenitendő adatmezőket megadni, s a rendszer ez alapján már generálni tudja az adatkezelő ablak egy alapértelmezési felépitését, az felhasználóval történő kapcsolat vezérlésének lépéseit.

Manapság a 4GL rendszerek nemcsak az utasitások absztraakciós szintjében különböznek a hagyományos nyelvektől, hanem az utasitások megadásának módjában is. Mig a hagyományos nyelveknél az utasitásokat egy szövegszerkesztő segitségével állitjuk össze, és e gy szöveges formátumban adjuk át a forditónak, addig a 4GL rendszerekben vagy táblázatok kitöltésével, vagy valamilyen grafikus szerkesztő segitségével könnyitik meg a fejlesztő munkáját, hiszen nem kell pontosan ismernie a szintaktikát, elegendő csak az értékek pontos megadására ügyelnie.

Az itt megadott elvek a programfejlesztés különbőző területein is sikerrel alkalmazható és alkalmazzák is. Mivel azonban ez a technika elsőként az adatbázisokon nyugvó alkalmazások fejlesztésében terjedt el nagyobb mértékben, ezért 4GL rendszer ma kifej ezetten az adatbázisokra épülő alkalmazásokhoz kapcsolódik.

A 4GL rendszerek alatt igy a relációs adatbázisokra épülő alkalmazások korszerű fejlesztőeszközét értjük.

Manapság a nagyobb rendszereket szinte kizárólag ilyen 4GL környezetben fejlesztik, s a kisebb alkalmazásoknál is egyre jobban térthódit a 4GL. Az adatbáziskezelés területének ma már szerves része a 4GL rendszerek ismerete, igy nem árt részletesebben is m egismerni alkalmazásukat, használatukat. Ehhez sorba vesszük előnyeiket, s bemutatjuk általános felépitésüket, majd ezután a FoxPro-hoz, s az Oracle-hez kapcsolódó korszerű alkalmazás fejlesztő eszközeket ismertetjük, kitekintést adva néhány más rendszerr e is.

Mindenek előtt tekintsük át a 4GL rendszerek funkcionális elemeit. A különböző 4GL rendszerek eltérhetnek egymástól a tartalmazott eszközök tekintetében, azok lehetőségeiben. Nincs egységes definíció, követelmény arra nézve, hogy mit és milyen szinten is kell tartalmaznia egy 4GL rendszernek. Kiemelhetünk azonban néhány olyan tulajdonságot, amelyek minden korszerű 4GL rendszertől joggal elvárhatók:



A következő ábra egy teljesnek tekinthető 4GL rendszert mutat be. Mint említettük a piacon megjelenő egyes 4GL rendszerek ennek csak bizonyos komponenseit tartalmazzák.



A rendszer főbb komponensei:



A felhasználó a rendszer külső elemeiként megjelenő szerkesztőkkel, modellezőkkel hatékony alkalmazás fejlesztési eszközt kap kézhez. A szemléletesség, emberközeliség mellett a 4GL rendszerek még számos más előnnyel is rendelkeznek a hagyományos eszközök kel szemben.

A 4GL rendszerek főbb előnyei:

A leírt pozitív vonások megvalósítása a 4GL rendszerek sajátos struktúrája révén biztosítható. A 4GL egy többrétegű fejlesztőrendszert valósít meg (C31. ábra).



C31. ábra:4GL működési elve

A fejlesztő az utasításait egy környezetfüggetlen, feladatorientált nyelven fogalmazza meg. A rendszer az elkészült programot, mint egy adatállományt tárolja. Az adatrendszer továbbra is eszköz és környezetfüggetlen formában van jelen. Az így elkészült se mleges leírást át kell konvertálni az aktuális környezetre, hogy futtatható alkalmazást kapjunk. A konverziót úgynevezett gateway-ek, szerverek végzik. Ezek alakítják át a környezetfüggetlen leírást a kijelölt adatbázis-kezelő, terminál, hálózat formátumá ra. Mivel a konverzió automatikusan megy végbe, ezért az alkalmazások gyorsan átvihetők a különböző platformokra, a felhasználónak csak a környezetfüggetlen leírás transzportjáról kell gondoskodni.

A 4GL egy hatékony, korszerű fejlesztőeszköz az adatbázis-kezelő alkalmazások készítéséhez. Ennek megfelelően jelentősége is növekszik az adatbázisrendszerek piacán. Az International Data Corporation [4] felmérése szerint a 4GL-ek területén várható a legn agyobb fejlődési ütem a termékek forgalmát érintően.



C32. ábra:Adatbázis komponensek fejlődési üteme

Az ábrában jelzett növekedési adatok az 1992-97-es időszakra vonatkoznak. A 4GL rendszerek fontosságát mutatja, hogy egyre több cég jelenik meg saját, általa kifejlesztett 4GL rendszerrel. E cégek között vannak úgynevezett független cégek, illetve olyanok , melyek adatbázis-kezelő rendszereket is készítenek. Általános vélemény szerint amíg az adatbázis-kezelők területén létezik egy elfogadott szint, amit hatékonyság és szolgáltatások tekintetében az RDBMS-eknek biztosítaniuk kell és ezért az RDBMS rendszer ek igen hasonlóak egymáshoz, addig a 4GL fejlesztő eszközöknél tágabb lehetőség van a kapacitás, funkcionalitás megvalósítására. A RDBMS-ek homogenizálnak, a 4GL rendszerek differenciálnak. Ezért a nagy RDBMS-forgalmazó cégek is egyre intenzívebben fordul nak a 4GL rendszerek felé.

Jóllehet, az RDBMS fejlesztőknek az lenne az előnyös, ha az ő termékük szerepelne a felhasználó által választott RDBMS/4GL rendszerben mindkét komponensként, de a nyitottság iránti igény a piac részéről olyan erősen jelentkezik, hogy kénytelenek 4GL rends zereikben más RDBMS típusokat is támogatni. Az Ask Group cég, amely az Ingres RDBMS-t forgalmazza, már termékeinek elnevezésében is utal a nyitottságra, szabványosságra. Az RDBMS-üket Open Ingres/Intelligent Database néven terjesztik. A fejlesztőeszköz-cs aládjuk reprezentánsa az 1993-ban beindított Open Road (Open Rapid Object Application Development), melynek 4GL komponense az ODBC interface-en keresztül más, pl. Oracle, Sybase RDBMS-ekhez is elérést nyújt. Az Ask cég stratégiai irányvonala, hogy 4GL ren dszerét függetlenül az Ingrestől, önállóan is terjeszti.

A legfontosabb 4GL rendszerek közé az alábbi termékek sorolhatók:



A Gartner Group elemzése az egyes 4GL rendszerek összehasonlítását mutatja be a következő ábrán:



C33. ábra: 4GL rendszerek összehasonlítása

A 4GL rendszerek előnyei ellenére még bizonyos szempontok hátráltatják gyorsabb elterjedésüket:



E hátráltató tényezők ellenére a 4GL rendszerek elterjedése a jövőben még intenzívebb képet fog mutatni. Ezt igazolja a legfrissebb statisztikai adat is, amely szerint a PC-s világban 1995-ben a legnagyobb fejlődést, mégpedig kimagasló mértékben, az adatb ázis-fejlesztő rendszerek területe mutatta.

A 4GL rendszerek átfogóbb megismeréséhez kissé közelebbről is bemutatjuk az egyik terméket, az Uniface-t, a termékismertető prospektus legfontosabb információt kiemelve.

Az Uniface rendszer az alábbi ábrában megadott komponensekből épül fel. Látható, hogy szerkezete lényeges elemeiben megegyezik a korábban felvázolt struktúrával.



A rendszerhez tartozó CASE kapcsolat számos CASE eszköz felől képes az alkalmazás modellt elfogadni. A CASE eszközökben a feladat leírását segítő ábrák közül programozói szemmel egyiklegfontosabb az ER modell, amely a feladatban szereplő táblázatokat és a közöttük lévő kulcsos kapcsolatokat teszi láthatóvá. Az Uniface-ben önállóan is létre lehet hozni ER diagrammokat, s az alkalmazás modell összes definíciós lehetőségeit az ábra objektumain keresztül is el lehet érni. A következő ábra egy mintaképet mutat be az Uniface ER szerkesztőbjéől, melyben a hagyományos jelölésmódtól eltérő formalizmust valósítottak meg.



Az alkalmazás modellben lehet előírni a táblák, mezők, kulcsok, relációk árnyalt tulajdonságait, ahivatkozási épség fenntartásának módját, az egyes objektumokkal történő különböző események által indított eljárásokat stb. A táblázatokban definiálhatók szá rmaztatott, nem tárolandó mezők is, melyek procedurálisan kaphatnak értéket, és a memóriában ill. a képernyőn táblázatmezőként viselkednek.

A Uniface alkalmazások grafikus (Windows, Motif) és karakteres üzemmódban változtatás nélkül futtathatók. Minden grafikus objektumnak megvan a karakteres megfelelője is. A képernyőn az egyes táblázatokhoz területeket kell rendelni. A táblázat mezői csak a megadott területen belül helyezkedhetnek el. Több táblázat összekapcsolása esetén érvényesül a képi beágyazás elve, vagyis a belső táblázatban csak a külksőben aktuális rekordhoz tartozó adatok láthatók. A listadefiníciók ugyanazzal az eszközrendszerrel készülnek, mint a képernyők, minden képernyő képes nyomtatott kimenetet produkálni. A szerkesztés eszközrendszere emlékezetet az MS-Access (FoxPro) vagy Visual Basic megoldásaira. Lehetőség van csak helyileg érvényes táblázatokat, mezőket létrehozni akár tárolandó, vagy nem tárolandó formában, de a képernyőkön egyszerű memóriaváltozók is megjelenhetnek. Az egyes képernyő és lista objektumok újabb triggerpontokat, azaz procedurális beavatkozási lehetőségeket adnak az alkalmazás modellben már szerepeltek me llé.

Az Uniface-ben meglévő lehetőségek árnyaltságára utal, hogy a mintegy 45 féle triggerpont, 77 féle különböző procedurális utasítás használható, valamint 65 féle előre definiált változó ill. állapotjelző segíti a munkát. A rendszer mindkét irányban nyitott a 3GL nyelvek felé. A futtatórendszer is felhívható 3GL programból és 3GL rutinok (C, Pascal, Cobol, Fortran) is elérhetők az Uniface procedurákból.

Az egyes képernyők tervezésekor azonnal kipróbálható az eredmény.A rendszer mindenben a maximális függetlenségre törekszik. A platfoprm függetlenség (VAX, UNIX, VOS, OS/2, PM, DOS, MS-WINDOWS), hálózat függetlenség (DECNET, TCP/IP, LAN, Novell) és adatbáz is függetlenség (Sybase, Oracle, Informix, Ingress, Progress, DB2, RMS, C-isam, xBase) egyben a maximális hordozhatóságot is biztosítja.

A nagyobb minkák támogatására lehetőség van az egyes fejlesztők egyedi nyilvántartására, jelszavas védelek beállítására, a tevékenységi, hozzáérési jogosultságok kijelöésére. A verzió követő rendszer segít abban, hogyaz egyes fejlesztők ne zavarják egymás munkáját globális objektumok módosításakor sem.

Az Uniface használata többfelhasználós környezetben működő kliens-szerver alkalmazások készítésére ajánlott. A különböző adatbázis kezelőkkel való kapcsolattartást saját csatolókon keresztül valósul meg. A Polyserver használata esetén heterogén adatbáziso k egyidejű konzistens használata is biztosítható akár több szerveren is.

A 4GL rendszer által biztosított hatékonyságnak, függetlenségnek természtesen ára is van, s a 4GL rendszerek rendszerint jóval drágábbak a hagyományos fejlesztő eszközöktől. Így például az Uniface 1995-ben mintegy egy ötször - tízszer drágább volt, mint a C,Pascal fordítók, vagy éppen a PC-s xBase-es adatbáziskezelők.

A megnövekedett lehetőségek sokakat a meggondolatlan nagyobb száguldásra csábithatnak,hiszen a 4GL segítségével percek-órák alatt elkészíthetünk egy kisebb rendszert. Ez a lehetőség azt is magában hordozza, hogy valóban pár óra alatt próbáljuk meg elkészí teni a rendszerünket. Ezzel azonban átugorjuk a fejlesztés szokásos, hagyományos lépcsőit, az adatmodell helyes és normalizált megvalósítását. Ezek a lépések azonban nem kerülhetők meg és nem ugorhatók át, ha időtálló és hatékony, korrekt rendszert kívánu nk létrehozni. A 4GL rendszereknek éppen az a céljuk, hogy több idő jusson a rendszerterv, a logikai struktúra helyes kialakítására, s ne kelljen az unalmas, időtrabló rabszolga munkával fáradoznunk. Csak ennek figyelembe vételével ajánlatos leülni egy 4G L rendszer elé, mert különben a 4GL hatékony fejlesztő eszköz helyett a világ leggyorsabb selejtgyártójává válik a kezünkben.

A 4GL alapjainak részletes megismerésére két rendszert mutatunk be részletesebben. Az első a PC-s környezetben futó, az xBase-es rendszerekhez kapcsolódó FoxPro rendszer, pontosabban annak FoxPro for Windows 2.6 -os változata. A másik rendszer a nagy RDBM S-ek közé tartozó Oracle rendszer SQLForms alkalmazás fejlesztő komponense. A rendszerek tárgyalásánál már feltételezzük a dBase és az SQL nyelv és a relációs adatmodell ismeretét.