ADATBÁZIS KEZELÉS WEB ESZKÖZÖKKEL

Herdon Miklós, herdon@fs2.date.hu
Debreceni Agrártudományi Egyetem

Kovács Zoltán, kovacsz@hajdu.agrarkamara.hu
Hajdú-Bihar Megyei Területi Agrárkamara

Szegedi János, szegedi@fs2.date.hu
Wintech Kft.

Abstract

In the past Web technology was mainly used to organize and present static information. Nowadays it changes in the direction of presenting dynamic and often "live" contents. There are a lot of intranet and Web applications. One of the most important tasks of Web applications is to handle information contained in database management systems. The idea of connecting a database to the Web is not new, however the solutions needed large experience of database and Web programming and they were unique in each case. Leading database systems manufacturers and development systems providers now realized the great demand for solutions of presenting on-line database content on the Web. In this paper we would like to summarize the available techniques for presenting databases on the Web, and to make a picture on possibilities of future development.

Bevezetés

Az Internet, és az Internetes technológiák vállalaton belüli alkalmazása, az intranet hatalmas ütemben fejlődik. A fejlődés nem csak az Internethez vagy az intranetekhez kapcsolt gépek számában mutatkozik meg, hanem az Internet technológiát használó alkalmazások rohamos növekedésében is. A Web kiváló alkalmazás készítői felület. Legnagyobb előnye az automatikusan letöltődő ügyfél program és felhasználói felület, ami feleslegessé teszi a fáradtságos frissítési és karbantartási műveleteket, ezáltal drasztikusan csökkenthetők az üzemeltetési költségek. Nem könnyű azonban Web alkalmazást fejleszteni. Az alapvető probléma, hogy egészen a legutóbbi időkig nem álltak rendelkezésre professzionális fejlesztő eszközök a Web alkalmazások elkészítésére. A leggyakrabban alkalmazott eszköz a text editor volt, és a fejlesztőknek maguknak kellet megoldaniuk az adatbázis-hozzáférést, a felhasználói felület kezelését és külső - Web szerveren kívül futó - különböző nyelveken írt programok segítségével az alkalmazás logika, tranzakció-kezelés beépítését.

Ma már számos fejlesztőeszköz és adatbázis-kezelő rendszer forgalmazó kínál Web-es adatbázis-kezelési megoldásokat. Ezek a termékek azonban még nem nyújtanak olyan teljes körű megoldást, mint a napjainkban legkiforrottabb kliens-szerver alkalmazásfejlesztési megoldások. Az alábbiakban összefoglaljuk a jelenleg rendelkezésre álló stratégiákat és technikákat, valamint a várható továbbfejlesztési irányokat.

Web-es adatbázis-kezelési stratégiák és technikák

Ha adatbázisainkat Web-en keresztül szeretnénk elérhetővé tenni, akkor több lehetséges út áll előttünk. Először is el kell döntenünk, hogy az adatbázisban tárolt adatokat csak megjeleníteni szeretnénk a Web-en, vagy frissítésüket, karbantartásukat is Web-en keresztül szeretnénk megoldani. Az első - egyszerűbb -, de talán a leggyakoribb esetben lekérdezési funkciót valósítunk meg, míg a második esetben a karbantartást is Web-en keresztül végezzük. Ha az első esetről van szó, akkor meg kell vizsgálnunk, hogy milyen gyakorisággal változnak az adataink, és az adatbázisból információt lekérdező felhasználók csak előre meghatározott kérdésekre kaphatnak-e választ, vagy közvetlenül tehetnek fel általuk megfogalmazott kérdéseket.

Ha adataink nem gyakran változnak, és a felhasználók csak előre megfogalmazott lekérdezéseket használhatnak, akkor a probléma nagyon egyszerűen megoldható időnként frissített, az adatbázis adatain alapuló statikus Web-lapok készítésével. Ha az adataink gyakran változnak, akkor ezt az eljárást azzal javíthatjuk, hogy olyan eszközt választunk, amely automatikusan képes a Web lapok periodikus vagy bizonyos adatok megváltozása esetén történő generálására.

Ha a felhasználói igények nagyszámú különböző lekérdezés, vagy ad-hoc jellegű lekérdezések futtatását is megkövetelik, akkor az előzőekben felvázolt stratégia már nem alkalmazható. Ebben az eseteben dinamikusan kell a Web-lapokat a felhasználó által szolgáltatott paraméterek felhasználásával generálnunk.

Abban az esetben, ha adatbázisaink frissítését is Web-es környezetben kívánjuk megvalósítani a helyzet bonyolultabbá válik. Ha nincs szükség tranzakció-kezelésre, megoldást adhat egy egyszerű CGI-n vagy szerver kiterjesztésen (API-n) alapuló alkalmazás. Ha az adatbázis-kezelés során komolyabb logikát, vagy tranzakció-kezelést kell megvalósítanunk a Web szerver programozása, illetve a Web szerverhez illesztett tranzakció-kezelő rendszerek alkalmazása elkerülhetetlenné válik. Az egyik legnagyobb probléma a Web-es alkalmazások terén a felhasználó azonosítása. A hagyományos kliens-szerver rendszerekben a felhasználó bejelentkezésekor létrejön annak dedikált környezete, amely mindaddig elérhető, amíg az ügyfél a rendszerrel kapcsolatban áll. A Web-es alkalmazások során ez nem garantálható, ezért a felhasználó által végzett különböző műveletek számára az egységes környezetet "segédeszközökkel" kell biztosítani. Másik probléma az Internet-technológia biztonsága, amely jelenleg szintén csak kiegészítő eszközökkel (PPTP, SSL, stb.) tudja garantálni a megfelelő adatvédelmet. A stratégia fontosságú alkalmazások nagy biztonsággal történő futtatása azonban a csak a megfelelően védett magánhálózatokon ajánlható.

A fentiekben elsősorban a Web-es adatbázis-kezelés szerver-oldali stratégiáival foglalkoztunk, amely természetesen alapvetően meghatározza az alkalmazás ügyfél oldali követelményeit is. Míg az első esetben komoly ügyfél-oldali programozási igény nem merül fel, a második esetben valószínűleg az ügyfél oldalon is meg kell valósítanunk bizonyos funkciókat, mint pl. az adatellenőrzés, listák kezelése vagy nyomtatás. A Web-es alkalmazások előnyei között szerepel az ügyfél oldali platform-függetlenség, de ez természetesen csak akkor lesz igaz, ha ügyfél programjainkat az elfogadott szabványok (vagy ipari szabványok) alapján készítjük el. Jelenleg a CGI űrlapok, a Java kisalkalmazások és a Java script tűnnek a legjobb megoldásnak a platform-független ügyfél oldali Web programok elkészítésére. Ha ügyfeleink kizárólag a Windows különbözői verzióit használják operációs rendszerként, akkor gyorsan elkészíthető és látványos megoldásokat készíthetünk az ActiveX technológia alkalmazásával. Ennek a megoldásnak - és bármely más operációs rendszer függő technológia alkalmazásának - az ára természetesen a platform-függetlenség elvesztése.

Web megoldásokat nyújtó adatbázis-kezelők

A nagy adatbázis-kezelő gyártók hamar felismerték a Web technológia által nyújtott előnyöket. Ma már nincs olyan rendszer, amely ne kínálna valamilyen megoldást a Web és az adatbázisok összekapcsolására. A megoldások azonban nem egységesek, ahány gyártó annyi technológia. Ki lehet azonban emelni néhány általánosan nyújtott szolgáltatást, mint pl. a dinamikus HTML generálás, a CGI támogatás, a Web szerverek API-jeinek támogatása és a Java támogatás.

Az adatbázis-kezelő gyártók természetesen fejlesztő eszközöket is kínálnak termékeikhez. Ezek az eszközök azonban ma még elég kiforratlanok és használatukhoz az illető rendszer alapos ismerete szükséges. Ráadásul az ügyfél oldali fejlesztőeszközök általában csak egy adatbázis-kezelő rendszerrel használhatóak, amely óriási hátrány a kliens-szerver technológia adatbázis-kezelő független fejlesztő környezeteivel (pl. Delphi) szemben.

A teljesség igénye nélkül felsorolunk néhány terméket (és gyártóikat), amelyek Web megoldást kínálnak: DB2 (IBM), Online Dynamic Server (Informix), Open Ingres (CA), Oracle (Oracle), Progress (PS), SQL Server (Microsoft), SQL Anywhere (Sybase) [1].

A Web és a térinformatikai adatbázisok

A Web technológia és az adatbázis kezelés kapcsolatára és fejlődésére jó példát ad a térinformatikai adatbázisok és alkalmazások Web platformra helyezése. Ilyen rendszerek például a bécsi városi térinformatikai alapú információs rendszer, illetve hasonló társai, melyek az Interneten keresztül bárki számára elérhetőek. A térinformatikai adatbázisok WWW felületen történő megjelentetésére, illetve (interaktív) használatára a hagyományos adatbázis-kezelő rendszerekhez hasonló technológiák és eszközök használatosak, kiegészítve néhány olyan eszközzel amelyek a térinformatikai rendszerek specialitásai miatt szükségesek.

Egy javasolt architektúrában [2], illetve prototípusban a fő probléma a geografikus adatokat támogató formátum illetve a Java nyelv használatával történő DBMS elérése volt. Itt a SoftSource és az NCSA által kifejlesztett SVF - Simple Vector Format formátumot választották a hatékony kétdimenziós Web-en történő megjelenítéshez, a DBMS használathoz pedig az mSQL JDBC driverét választották.

Természetesen az általános eszközök mellett más koncepciók, megoldások is kidolgozásra kerülnek. Így például GIS-WWW gateway rendszer architektúrában a fontosabb elemek a GUI, GIS-API, SWICH, GIS engine driverek, session interfészek és konverterek kerültek integrálásra. A SEMWEB [3] prototípus teljesen új architektúra javaslatot tartalmaz.

Jelenleg néhány termék már a piacon van. Így a fontosabb GIS termékgyártók kidolgozták saját termékeiket a felhasználók támogatására. Ilyen rendszerek a GeoMedia Web - ACGM (Integraph), MapObjects és ArcView Internet Map Server (ESRI), ProServer (Mapinfo), MapGuide (Autodesk). Néhány további termék pedig a Spatial WebBroker (Genasys), ObjectFX (SpatialNet), CARIS IS (Universal Systems Ltd.), Certa (APPIAN Interactive Corp.)

A mai eszközök különböző megközelítéseket tartalmaznak, mely prototípusok nulladik fázisnak tekinthetők. A piacon lévő termékek első generációsak, melyek számos erős és gyenge ponttal rendelkeznek. Az OpenGIS megoldások mint második generációs rendszerek várhatóan jelentős előrelépést jelentenek majd a szabványosodás irányában.

A továbblépés lehetőségei

A Web és az adatbázis-kezelés kapcsolatát ma még az egyedi megoldások jellemzik. Legfontosabb továbbfejlesztési terület az operációs rendszer és adatbázis-kezelő független megoldások kidolgozása. Ezen a területen a közeljövőben jelentős előrelépés várható a Java technológia szabványosításával, amely a vezető operációs rendszer gyártó cégek közreműködésével folyamatban van. Rohamos javulás várható a fejlesztőeszközök terén, ahol már megjelentek az első generációs integrált három lépcsős (böngésző, Web szerver, adatbázis-kezelő rendszer) eszközök, mint pl. a Microsoft Visual InterDev vagy a Progress WebSpeed. Megtalálhatók a piacon az objektum-orientált és az objektum-relációs megoldások is, amelyek a multimédia alkalmazások esetében a relációs rendszereknél hatékonyabb adatkezelést biztosítanak.

Összefoglalásként megállapíthatjuk, hogy a Web alapú adatbázis-kezelésben nagy előrelépés történt az utóbbi egy-másfél évben. Ma már nem jelent gondot az egyszerűbb, kisméretű Web-es adatbázis-kezelési feladatok megoldása, azonban nagy rendszerek (pl. nagyvállalati ügyvitel, termelésirányítás, banki tranzakció feldolgozás) fejlesztésére ezt a technológiát még nem igazán ajánlott alkalmazni.

Irodalomjegyzék

[1] R. Tackett: Webesített adatbázis-kiszolgálók, Számítástechnika XII. évf. 14. Sz. IDG Magyarországi Lapkiadó Kft. 23-24. oldal.

[2] C. Boehner, P. Haastrup, A. Reggiori: The GIS-WWW Gateway. Joint European Conference and Exhibition on Geographical Information, April 16-18, 1997, Austria Center, Vienna. Proceedings. Publisher IOS Press Van Diemenstraat 94 1013 CN Amsterdam, Netherlands. ISBN 905199331 5 (IOS Press). P. 125-134

[3] Yaser Bishr, M.M. Radwan, and J. Pandya : SEMWEB: A Prototype for Seamless Sharing of Geoinformation on the World Wide Web in a Client/Server Architecture. Joint European Conference and Exhibition on Geographical Information, April 16-18, 1997, Austria Center, Vienna. Proceedings. Publisher IOS Press Van Diemenstraat 94 1013 CN Amsterdam, Netherlands. ISBN 905199331 5 (IOS Press). P. 145-154