WEB Technológiák Coldfusion ME Általános Informatikai Tsz. dr. Kovács László
ColdFusion rendszer K.L. Alapvetően a CGI koncepcióra épül (újabb verziók API-ra) Az ISAPI-hoz hasonló gyors fejlesztési eszközt biztosít Beépített adatbázis kapcsolódási lehetőségek Lehetőségek: - adatbázis kapcsolódás az ODBC-n keresztül - alap adatbázis kezelési tevékenységek támogatása - változó kezelés, űrlap elemek elérése, vezérlési elemek - egyszerű integritás vizsgálati lehetőségek - levél küldés az SMTP-n keresztül Támogatott OS: - Windows Fejlesztési eszközök: MS IS WEB Server ColdFusion DBML ODBC szövegszerkesztő
ColdFusion rendszer K.L. ColdFusion komponensei 1. Igénylő HTML lap 2. Template állomány 3. ODBC adat forrás 4. DBML CGI extension program (értelmező) WEB server DBML Extension DBMS HTML igénylő Template ODBC
ColdFusion rendszer K.L. Feldolgozás lépései: - Kliens oldali adatbeviteli űrlap (FORM) - Szerver oldali WEB server, majd CGI kapcsolat a DBML programhoz - A paraméterként megadott TEMPLATE file megnyitása - A TEMPLATE-ben kijelölt ODBC forrásokon adatkezelés - A válasz adatok beépítése a TEMPLATE sémába - A generált válaszlap visszaküldése WEB server DBML Extension DBMS HTML igénylő Template ODBC
ColdFusion rendszer alap K.L. A ColdFusion kapcsolat aktivizálása az URL alapján történik (DBML CGI meghívása): könyvtár alias = c:\is\scriptsfeldolgozó CGI program WEB server konfigurációs beállítás mint a CGI-nél A FORM paramétereket POST módban kell átadni <form action="/scripts/dbml.exe?template=pdetail.dbm” method=POST> Id of the person: E1... válaszlap minta állomány
ColdFusion rendszer alap K.L. Template állomány - tartalmaz normál HTML utasításokat, melyek változtatás nélkül átkerülnek az eredménybe - tartalmaz adatkapcsolat leíró állományokat - tartalmaz speciális DBML utasításokat, melyek az adatkezelésre, vezérlésre, levelézésre vonatkoznak Detailed information End of list
ColdFusion rendszer alap K.L. DBML utasítások: rekord felvitele dsn : ODBC DSN table : tábla név nem szerepel SQL INSERT utasítás a mezők a FORM paraméterekből, a névegyezés szerinti megfeleltetéssel kerülnek át, automatikus séma felismerés <form action=..a.dbm.. <dbinsert.. tablename=T> DBML HTML A.DBM T.DBF M1M2M3
ColdFusion rendszer alap K.L. DBML utasítások: rekord módosítása dsn : ODBC DSN table : tábla név nem szerepel SQL UPDATE utasítás a mezők a FORM paraméterekből, a névegyezés szerinti megfeleltetéssel kerülnek át, automatikus séma felismerés csak egy rekordot módosít, melyet a kulcs mező értéke alapján határoz meg, igy a kulcs mezőnek is szerepelni kell a FORM-ban A rekord törlésre nincs külön vezérlő elem A rugalmasabb DML utasítás végrehajtáshoz a DBQUERY tag alkalmazható
ColdFusion rendszer alap K.L. DBML utasítások: adatok lekérdezése <DBQUERY NAME= lnév DATASOURCE = dsn SQL = SQLutasítás > lnév: lekérdezés azonosító dsn : ODBC DSN az SQL utasításban felhasználható változók: - FORM változók - CGI változók változókra hivatkozás: #tipus.változó# <DBQUERY NAME="q2" DATASOURCE=”foxproba" SQL=”SELECT id,nev FROM dolgozo WHERE oszt = #form.id#"> …..... Az SQL nemcsak SELECT lehet
ColdFusion rendszer alap K.L. DBML utasítások: adatok lekérdezése A lekérdezés eredmény adatainak kiíratása: eredmény adatok kijelzése lnév: lekérdezés azonosító A fenti szerkezet egy implicit ciklus az eredménytábla rekordjaira mezőkre hivatkozás: #lnév.változó# <DBQUERY NAME="q2" DATASOURCE=”foxproba" SQL=”SELECT id,nev FROM dolgozo WHERE oszt = #form.id#"> Id = #q2.id#és Név=#q2.nev#...
ColdFusion rendszer alap K.L. DBML utasítások: adatérték ellenőrzés A ColdFusion lehetőséget ad a FORM beviteli elemek elemi érték ellenőrzésére is WEB server DBML Extension DBMS HTML igénylő Template ODBC A feltétel ellenőrzése a DBML modulnál (a Web Servernél) történik
ColdFusion rendszer alap K.L. DBML utasítások: adatérték ellenőrzés Az értékellenőrzés szükségességét a FORM-ban elhelyezett, megfelelő névvel ellátott HIDDEN mező létezése jelzi mnév: a vizsgálandó FORM mező neve ftipus: elvégzendő vizsgálat ftipus= required : nem maradhat üresen range MIN= MAX=: tartomány ellenőrzés int …: adattípus ellenőrzés... …
ColdFusion rendszer alap K.L. DBML utasítások: feltételes elágazás, levélküldés, eredmény adatok táblázatban való megjelenítése igaz-ági HTML, DBML utasítások hamis-ági HTML, DBML utasítások az elküldendő levél szövege
ColdFusion rendszer alap K.L. DBML utasítások: adatkezelés végrehajtása Az adatkezelő műveletek alapesetben AUTO COMMIT módban futnak le T1 T2 T3 Lehetőség van a műveleteket tranzakcióba is szervezni: T1
Select the ID Id of the person: #id# ColdFusion rendszer alap K.L. Mintapélda: elem kiválasztás megadott táblából a.dbm
ColdFusion rendszer alap K.L.
dbquery name="q2" datasource="b1" sql="select id,name from a where id =#form.id#"> Detailed information End of list pdetail.dbm ColdFusion rendszer alap K.L. A válaszlapot generáló template
ColdFusion rendszer alap K.L. A válaszlap megjelenése