摘要:隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展,RIA在網(wǎng)絡(luò)中開發(fā)中的應(yīng)用越來越廣。其中Flash以其強(qiáng)大的表現(xiàn)力和個(gè)性化的交互體驗(yàn)在RIA的網(wǎng)絡(luò)開發(fā)中表現(xiàn)突出。本文通過Flash訪問Access數(shù)據(jù)庫的實(shí)例,對(duì)基于Flash的RIA網(wǎng)絡(luò)應(yīng)用進(jìn)行了一次探索。
關(guān)鍵詞:Flash;RIA;數(shù)據(jù)庫
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007—9599 (2012) 14—0000—02
一、引言
隨著網(wǎng)絡(luò)技術(shù)的高速發(fā)展和網(wǎng)絡(luò)帶寬的逐漸擴(kuò)大,RIA技術(shù)在網(wǎng)絡(luò)中的應(yīng)用得到大力的發(fā)展。RIA(Rich Internet Application)即富互聯(lián)網(wǎng)應(yīng)用程序。對(duì)比傳統(tǒng)頁面,RIA在表現(xiàn)力方面顯得更勝一籌,基本上一個(gè)桌面程序能表現(xiàn)出來的效果,RIA都能表現(xiàn)出來,而在數(shù)據(jù)處理等方面也有明顯的優(yōu)勢(shì),RIA在客戶端就可以進(jìn)行完整的數(shù)據(jù)處理了,在與用戶的交互方面表現(xiàn)得更加友好和迅速。RIA技術(shù)的優(yōu)勢(shì)使其在近年來得到了眾多的關(guān)注,發(fā)展迅速。2012年7月在中國知網(wǎng)以“RIA”為關(guān)鍵字進(jìn)行學(xué)術(shù)搜索,其學(xué)術(shù)關(guān)注度和用戶關(guān)注度的搜索結(jié)果分別如圖1、圖2所示。
從圖1可以看出,近年來,對(duì)RIA的學(xué)術(shù)關(guān)注度始終保持在一個(gè)比較高的水平之上。
從圖2可以看出,在2011年6月到2012年6月,用戶對(duì)RIA的關(guān)注保持了一個(gè)總體上升的趨勢(shì)。
RIA的開發(fā)技術(shù)通??梢苑譃榛贔lex、Flash、Ajax、Silver light等,這里主要討論基于Flash的RIA網(wǎng)絡(luò)開發(fā)應(yīng)用。本文通過Flash結(jié)合ASP對(duì)后臺(tái)數(shù)據(jù)庫Access的訪問操作,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的RIA(Rich Internet Application)技術(shù)網(wǎng)絡(luò)應(yīng)用。
二、 Flash與數(shù)據(jù)庫的通信原理
Flash在網(wǎng)絡(luò)開發(fā)特別是網(wǎng)站建設(shè)上的應(yīng)用相當(dāng)廣泛。利用Flash在平面構(gòu)成、色彩和動(dòng)態(tài)效果方面出色的表現(xiàn)力,可以把創(chuàng)意發(fā)揮到極致,從而有效地吸引目標(biāo)客戶,特別適合品牌的宣傳和推廣,在奢侈品、汽車、數(shù)碼等行業(yè)的網(wǎng)站建設(shè)中應(yīng)用廣泛,如著名的Christion Dior網(wǎng)站(http://www.diorcouture.com/dior.html)和Neostream(http://www.neostream.com)都把Flash在網(wǎng)站建設(shè)方面的強(qiáng)大功能表現(xiàn)得淋漓盡致。
在使用Flash進(jìn)行RIA的網(wǎng)絡(luò)開發(fā)應(yīng)用中,特別是建站的過程中與數(shù)據(jù)庫的數(shù)據(jù)交互是經(jīng)常要遇到的,因?yàn)樯倭康臄?shù)據(jù),如網(wǎng)頁訪問人數(shù)等尚可存儲(chǔ)在文本文件中,但在實(shí)際應(yīng)用中,需要保存的數(shù)據(jù)遠(yuǎn)遠(yuǎn)不止這一點(diǎn),而且這些數(shù)據(jù)之間往往還會(huì)有許多關(guān)聯(lián)。利用數(shù)據(jù)庫就能很好地完成數(shù)據(jù)的管理工作,目前常見的數(shù)據(jù)庫有Access、Foxpro、Oracle、SQL Server、MySQL、Sybase等。無論哪一種類型的數(shù)據(jù)庫系統(tǒng)同F(xiàn)lash之間的通信原理基本上都是一樣的。
遺憾的是,F(xiàn)lash一向以來的重點(diǎn)都是面向客戶端而不是后臺(tái)服務(wù),以致于Flash并不能直接對(duì)數(shù)據(jù)庫進(jìn)行開發(fā)。不過,可以通過其他的一些技術(shù)來彌補(bǔ)這一缺憾。比如ASP、ASP.NET、PHP、Java、Web Service、JSP等。它們都具有強(qiáng)大的Web服務(wù)開發(fā)能力,可以直接訪問數(shù)據(jù)庫,而Flash自身則提供了多種可以與其進(jìn)行交互的技術(shù),如LoadVars對(duì)象、XML對(duì)象和XMLSocket對(duì)象等。這里討論服務(wù)器端使用ASP的情況。
ASP(Active Server Page)即活動(dòng)服務(wù)器網(wǎng)頁,是微軟公司開發(fā)的一種服務(wù)器腳本技術(shù),能實(shí)現(xiàn)與數(shù)據(jù)庫或其他程序的交互,是一種簡(jiǎn)單、方便的編程工具。
Flash與數(shù)據(jù)庫通過ASP進(jìn)行通信的方式如圖3所示。
三、 Flash、ASP、數(shù)據(jù)庫之間的交互
(一) Flash與Asp的交互。Flash與Asp的通訊所用的是Http協(xié)議,其請(qǐng)求格式為http://ip地址?參數(shù)1=值1參數(shù)2=值2,所以Flash與ASP的交互的實(shí)質(zhì)就是構(gòu)造這個(gè)請(qǐng)求字符串。
1.在Flash中先構(gòu)造好請(qǐng)求的字符串,然后利用函數(shù)LoadVariablesNum()或LoadVariables(),就可以向服務(wù)器端發(fā)送請(qǐng)求和參數(shù)。2.在Asp中,利用Request對(duì)象取得從Flash端傳送過來的參數(shù)。3.在服務(wù)器端處理完請(qǐng)求,獲得所需要的值后,Asp用Response對(duì)象向Flash端發(fā)送結(jié)果。4.在Flash端對(duì)從服務(wù)器端返回的值進(jìn)行操作,其操作方法與對(duì)Flash中普通的變量的操作方法一樣簡(jiǎn)便、直接。
(二) ASP與數(shù)據(jù)庫的交互。通常情況下ASP用ADO訪問技術(shù)來訪問數(shù)據(jù)庫,ASP與數(shù)據(jù)庫的交互流程如下:1.建立與數(shù)據(jù)庫的連接。2.創(chuàng)建數(shù)據(jù)對(duì)象,通常是ADO中的Recordset或Command,并由它們對(duì)數(shù)據(jù)庫內(nèi)容進(jìn)行操作。3.關(guān)閉數(shù)據(jù)對(duì)象和連接。
四、應(yīng)用實(shí)例
下面通過一個(gè)投票系統(tǒng)的制作,來展示Flash通過ASP對(duì)數(shù)據(jù)庫進(jìn)行操作的方法。這個(gè)系統(tǒng)通過ASP命令自動(dòng)將用戶在Flash中投票的數(shù)據(jù)添加到后臺(tái)數(shù)據(jù)庫,并將結(jié)果展示在Flash中。其界面如圖4所示。
(一)數(shù)據(jù)庫設(shè)計(jì)。在Access中建立數(shù)據(jù)庫vote.mdb,在庫中建立表vote,并把字段id設(shè)為主鍵。表vote的結(jié)構(gòu)如表1所示。
(二)編寫ASP文件conn.asp,創(chuàng)建與數(shù)據(jù)庫的連接。
(三)Flash的設(shè)計(jì)。新建Flash文件vote,把投票部分和投票結(jié)果顯示部分分別做成2個(gè)影片剪輯。
1.投票部分的設(shè)計(jì)及核心代碼
(1)把投票的5個(gè)選項(xiàng)都做成按鈕元件,分別命名為1、2、3、4、5。給按鈕元件1加上代碼,把用戶的投票情況通過參數(shù)Voteid傳遞給ASP文件。其他4個(gè)按鈕的制作原理相同。
六、結(jié)束語
本文通過使用Flash+ASP+Access技術(shù),實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的投票系統(tǒng),并在Windows XP+Flash CS3+IIS5.1環(huán)境下調(diào)試成功,是RIA網(wǎng)絡(luò)應(yīng)用的一次嘗試。使用Flash結(jié)合ASP來讀取數(shù)據(jù)庫的方法很多,在這里使用的只是其中的一種。通過這個(gè)RIA的網(wǎng)絡(luò)應(yīng)用開發(fā),我們可以體會(huì)到Flash通過ASP訪問數(shù)據(jù)庫的關(guān)鍵在于如何在這三者之間建立數(shù)據(jù)通訊機(jī)制,以及如何在戰(zhàn)略上進(jìn)行正確的架構(gòu)。
參考文獻(xiàn)
[1]胡崧,于慧. Flash CS5中文版從入門到精通[M].北京:中國青年出版社,2011,1
[2]李方捷. ActionScript 3.0開發(fā)技術(shù)大全[M].北京:清華大學(xué)出版社,2009,6
[3]謝富平.綜述Flash與ASP連接數(shù)據(jù)庫的方法[J].電腦開發(fā)與應(yīng)用,2011,4
[作者簡(jiǎn)介]林玲(1979—),女,廣東人,漢族,本科,廣州市機(jī)電技師學(xué)院,講師,研究方向?yàn)橛?jì)算機(jī)科學(xué)與技術(shù)。