摘 要: 設計了基于RIA下Flash/Flex聯(lián)合開發(fā)的Web2.0 OS,,提供影音娛樂,、文件存儲、實時信息更新,、用戶自由定制等功能,,可作為網(wǎng)上娛樂、存儲和辦公平臺,,并給出了OS與云存儲端通信機制和文件存儲再現(xiàn)機制這兩個關鍵技術,。服務器端采用云存儲技術使得文件上傳下載瞬間完成,給用戶流暢的使用體驗,。
關鍵詞: Web2.0 OS,;RIA;云存儲,;Flash/Flex
Web2.0 OS(Web2.0-based Operating System)是一種新型的用戶定制的Web應用軟件,,結合Web2.0技術,通過瀏覽器為用戶提供模擬桌面操作系統(tǒng)的平臺,,綜合桌面系統(tǒng)的強交互性和Web應用的靈活性,,為用戶帶來全新的使用體驗。現(xiàn)有的Web OS多采用JavaScript技術開發(fā),,對于不同瀏覽器需要不同的操作方式,,因此兼容性差,運行效率低,。
基于RIA的Flash/Flex聯(lián)合開發(fā)很好地解決了Java-Script在構建Web OS中存在的問題,。Flash和Flex是明確定位于富互聯(lián)網(wǎng)應用開發(fā)的技術,擁有豐富的語言機制,,完善的開發(fā)環(huán)境和強大的通信能力,,并且由于基于RIA技術,可以實現(xiàn)真正的跨平臺,,是實現(xiàn)Web OS的最佳方案,。
1 系統(tǒng)分析與設計
1.1 Flash和Flex聯(lián)合開發(fā)技術簡介
Flash和Flex是Adobe公司推出的開發(fā)富互聯(lián)網(wǎng)應用程序的工具,包括MXML聲明式語言和ActionScript面向對象語言,,程序最后都可編譯為SWF文件,,在安裝了Flash Player插件的瀏覽器中都可以運行,因此大大降低了對客戶端的配置要求,,提高了運行效率,。
Flash側重于動畫設計,可以為用戶提供豐富的視覺體驗,,能夠實現(xiàn)用戶定制等功能,,因此作為本OS的界面開發(fā)工具,。而Flex側重于功能設計,,擁有可復用的功能組件,,可以實現(xiàn)在線存儲、文檔編輯等Flash難以實現(xiàn)的功能,,因此作為本OS的功能開發(fā)工具,。在Flash和Flex聯(lián)合開發(fā)中,兩種軟件工具相互配合,,分開設計,,然后將Flex中實現(xiàn)的功能模塊移植到Flash中,再統(tǒng)一編譯,,最后實現(xiàn)界面與功能的統(tǒng)一[1],。
1.2 系統(tǒng)結構設計
系統(tǒng)結構采用Web應用中經典的三層結構:表現(xiàn)層、業(yè)務邏輯層和數(shù)據(jù)存儲層,,如圖1所示,。其中,表現(xiàn)層提供人機交互界面,,使用Flash和Flex聯(lián)合開發(fā)實現(xiàn),;業(yè)務邏輯層負責處理表現(xiàn)層發(fā)送過來的請求;數(shù)據(jù)存儲層包括文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng),,提供系統(tǒng)數(shù)據(jù)的管理和存儲,。
1.3 系統(tǒng)服務器端設計
系統(tǒng)服務器端的主要功能包括接受用戶請求、業(yè)務邏輯處理和存儲支持,。選擇PHP語言進行服務器端開發(fā),,Web服務器使用Apache,使用MySQL存儲用戶注冊和使用信息,。結合ActionScript和JavaScript中通信機制,,進行數(shù)據(jù)通信,實現(xiàn)業(yè)務邏輯處理功能[2],。
服務器端存儲設備使用云存儲設計思想,,提供云存儲服務。大量的高容量存儲設備通過集群NAS構架連接成云狀網(wǎng)絡結構,,提供高速上傳和下載的外部接口,,為高速運行Web OS提供了硬件支持,如圖2所示,。
1.4 數(shù)據(jù)通信機制設計
本系統(tǒng)包括OS與網(wǎng)頁數(shù)據(jù)通信機制和網(wǎng)頁與云存儲端通信機制這兩個關鍵技術,。通信過程分為以下兩種情況:
(1)當系統(tǒng)軟件(SWF文件)進行查詢、添加,、刪除數(shù)據(jù)庫操作時,,由SWF向PHP頁面發(fā)送sendAndLoad()請求,,等待PHP進行數(shù)據(jù)庫處理并返回數(shù)理結果給SWF文件。如圖3所示,。
(2)當系統(tǒng)軟件(SWF文件)進行顯示數(shù)據(jù)庫內容操作時,,由SWF向PHP發(fā)送Load()請求,PHP將數(shù)據(jù)庫內容解析成XML格式后由SWF文件進行加載和顯示,,完成整個通信過程,。如圖4所示。
2 系統(tǒng)功能實現(xiàn)
2.1 功能自由定制機制
Web2.0相比于Web1.0的優(yōu)勢是強大的用戶交互性,?;赪eb2.0的OS中用戶既是系統(tǒng)的使用者,又是系統(tǒng)的創(chuàng)造者,。為了實現(xiàn)用戶交互,,本OS中預留了豐富的定制空間,用戶可以根據(jù)個人愛好添加或刪除功能,,數(shù)據(jù)信息會在用戶關閉OS時,,由ActionScript中send()命令操控PHP網(wǎng)頁對數(shù)據(jù)庫進行數(shù)據(jù)增刪和保存,并把保存是否成功的信息返回給OS,,完成整個功能自由定制過程,。如圖5所示。
2.2 文件存儲,、顯示和下載機制
文件存儲,、顯示和下載機制的前提是服務器端已安裝好pdf2swf軟件和wmv2swf軟件。文件存儲和下載的過程如圖6所示,。
(1)文件上傳和顯示:用戶點擊上傳按鈕觸發(fā)上傳事件,,ActionScript中ExternalInterface()命令操控PHP網(wǎng)頁中的JavaScript打開本機文件瀏覽器,并將文件上傳給數(shù)據(jù)庫,,完畢后PHP操控服務器端,,將上傳內容利用pdf2swf(或wmv2swf)軟件中“-o+‘目的文件夾’”命令把源文件轉換為SWF格式,以便于在OS中顯示,。最后PHP網(wǎng)頁返回上傳是否成功的信息給SWF,,并在OS中調用文件進行顯示,由此實現(xiàn)在線看書,、影音功能,。
(2)文件下載:用戶點擊下載按鈕觸發(fā)下載時間,ActionScript中打開已上傳的源文件下載地址即可進行下載,。
2.3 天氣,、新聞信息更新機制
本系統(tǒng)通過調用新浪提供的天氣、新聞數(shù)據(jù)接口獲取天氣和新聞等實時信息,通過ActionScript中onLoad()命令加載接口網(wǎng)頁,,并轉換成XML格式文件以便OS進行信息調用,。如圖7所示。
本網(wǎng)頁操作系統(tǒng)混合使用了Flash/Flex聯(lián)合開發(fā),、XML,、PHP、MySQL等技術,,結合Web2.0和云存儲的設計思想,,前端設計和模塊功能分開進行處理,,充分利用了上述技術在客戶端,、服務器端的開發(fā)優(yōu)勢,解決了JavaScript構架造成的運行問題,。作為一款基于RIA的Web2.0 OS系統(tǒng),,具備了影音娛樂、實時信息更新,、文件存儲下載以及人性化的功能定制等功能,,既有良好的用戶體驗,又有良好的可定制性和兼容性,,可以作為用戶的網(wǎng)上娛樂,、網(wǎng)上存儲和網(wǎng)上辦公平臺,并可以此作為基礎平臺開發(fā)相應的SWF格式軟件,,通過應用軟件擴展系統(tǒng)功能,,增強了系統(tǒng)的擴展性。
參考文獻
[1] 梁文新.Flex+PHP RIA應用開發(fā)實戰(zhàn)詳解[M].北京:清華大學出版社,,2010.
[2] 張仿彥.PHP項目開發(fā)全程實錄[M].北京:清華大學出版社,,2008.