基于Flex技術(shù)的無(wú)線應(yīng)用系統(tǒng)平臺(tái)設(shè)計(jì)
1.引言
本文引用地址:http://butianyuan.cn/article/201612/328475.htm無(wú)線應(yīng)用系統(tǒng)基于江蘇省青少年無(wú)線電科技活動(dòng)計(jì)劃,構(gòu)建了一個(gè)無(wú)線應(yīng)用設(shè)計(jì)開(kāi)發(fā)系統(tǒng)創(chuàng)新競(jìng)賽平臺(tái)。該平臺(tái)為各個(gè)參賽小組提供硬件模塊和軟件平臺(tái),各參賽小組可以在硬件平臺(tái)上發(fā)揮創(chuàng)意,通過(guò)硬件模塊所提供的各個(gè)接口連接外部擴(kuò)展控制,通過(guò)軟件平臺(tái)進(jìn)行創(chuàng)意展示。
本系統(tǒng)分為網(wǎng)站系統(tǒng)和硬件系統(tǒng)兩個(gè)部分,硬件系統(tǒng)采用低功耗高效的MSP430單片機(jī)作為主控芯片控制多路輸入口和輸出口并控制GPRS通信模塊進(jìn)行數(shù)據(jù)通信。
網(wǎng)站程序給用戶提供一個(gè)控制界面和最終演示界面,用戶可以通過(guò)網(wǎng)頁(yè)連入系統(tǒng)控制和數(shù)據(jù)中心,網(wǎng)站提供了實(shí)現(xiàn)創(chuàng)意特性管理模塊,用戶可以將自己的想法創(chuàng)意進(jìn)行配置,然后進(jìn)入最終演示界面展示其創(chuàng)意。網(wǎng)站程序也為大賽管理員提供入口,方便對(duì)大賽的系統(tǒng)模塊進(jìn)行統(tǒng)一管理。在參賽用戶界面中,用戶可以對(duì)自己的密碼信息,模塊方案,模塊特性等方面進(jìn)行設(shè)定。
在客戶端,用戶可以將從網(wǎng)站系統(tǒng)中下載下來(lái)的配置文件通過(guò)我們提供的串口工具寫(xiě)入系統(tǒng)模塊,同時(shí)可以查看方案配置信息,也可以通過(guò)客戶端程序了解方案的配置信息。這樣當(dāng)用戶因?yàn)闀r(shí)間的關(guān)系分辨不清配置信息屬于哪個(gè)方案時(shí),就可以通過(guò)客戶端程序在下載前實(shí)時(shí)查看。
2.系統(tǒng)總體結(jié)構(gòu)
2.1 程序結(jié)構(gòu)
軟件平臺(tái)采用C/S和B/S混合結(jié)構(gòu),其中監(jiān)控程序?qū)儆贑/S結(jié)構(gòu),采用異步socket技術(shù);網(wǎng)站是基于B/S結(jié)構(gòu),采用Flex技術(shù)進(jìn)行表現(xiàn)層設(shè)計(jì),利用FlourieFx組件進(jìn)行通信數(shù)據(jù)中心采用SqlServer 2005,采用存儲(chǔ)過(guò)程進(jìn)行編寫(xiě)。
框架采用。net 2.0.
編程語(yǔ)言采用C# 2.0,actionscript,Transql.
2.2 技術(shù)框架
Sqlserver作為數(shù)據(jù)中心和交換中心,實(shí)現(xiàn)雙向數(shù)據(jù)通信。
GPRS到網(wǎng)站:服務(wù)器端監(jiān)控程序在固定端口監(jiān)聽(tīng),一旦發(fā)現(xiàn)有GPRS發(fā)來(lái)的信息就進(jìn)行解包,然后寫(xiě)入數(shù)據(jù)庫(kù);網(wǎng)站到GPRS:用戶通過(guò)網(wǎng)站進(jìn)行控制,服務(wù)器端定時(shí)輪詢數(shù)據(jù)庫(kù),發(fā)現(xiàn)有從網(wǎng)站發(fā)來(lái)的控制數(shù)據(jù),將該數(shù)據(jù)發(fā)給GPRS.
3.Flex技術(shù)概述
3.1 Flex技術(shù)簡(jiǎn)介
Flex是一種基于標(biāo)準(zhǔn)編程模型的高效RIA開(kāi)發(fā)產(chǎn)品集,最初由Macromedia公司在2004年發(fā)布,后被Adobe公司冠以商標(biāo)。Flex最大的特點(diǎn)是基于全球流行的網(wǎng)絡(luò)動(dòng)畫(huà)平臺(tái)--Macromedia Flash.通過(guò)Flex技術(shù),開(kāi)發(fā)人員可以將RIA程序編譯成為Flash文件,為FlashPlayer所接受,也就是說(shuō),F(xiàn)lex技術(shù)所開(kāi)發(fā)出來(lái)的程序?qū)τ诖蟛糠譃g覽者而言并不需要安裝額外的客戶端支持,這是一個(gè)得天獨(dú)厚的優(yōu)勢(shì)。
3.2 Flex技術(shù)優(yōu)勢(shì)
Flex可以在企業(yè)內(nèi)部或在Web上創(chuàng)建并交付豐富Internet應(yīng)用程序(RIA),堪稱(chēng)最完整、最強(qiáng)大的RIA開(kāi)發(fā)解決方案。它使企業(yè)能夠創(chuàng)建個(gè)性化的豐富多媒體應(yīng)用程序,極大地提高用戶的體驗(yàn),徹底革新人與Web的交互關(guān)系。
Flex是Adobe公司最新的服務(wù)器端產(chǎn)品,該技術(shù)提供了一個(gè)新的、基于標(biāo)準(zhǔn)的語(yǔ)言和編程模型,其編程模型支持常用的設(shè)計(jì)模式,能夠使企業(yè)創(chuàng)建許多有吸引力的、交互的快速應(yīng)用,這些應(yīng)用會(huì)戲劇性的增強(qiáng)用戶的體驗(yàn)、增加客戶的滿意度和用戶的工作效率。
4.用戶系統(tǒng)架構(gòu)
4.1 用戶系統(tǒng)前端界面
用戶系統(tǒng)的主體部分采用分塊式結(jié)構(gòu),分為提示信息、系統(tǒng)菜單、界面主體和版權(quán)信息四個(gè)部分。實(shí)際效果如圖1所示:
根據(jù)系統(tǒng)所需元素將系統(tǒng)分割為四大模塊,同時(shí)突出程序主體部分。使系統(tǒng)功能在直觀上使用戶有一個(gè)清晰地認(rèn)識(shí),同時(shí)分散式的布局在Flex的使用中還可以給動(dòng)態(tài)效果以更好的展示空間,盡可能地提高用戶體驗(yàn)。
4.2 系統(tǒng)MVC模式介紹
在采用Flex技術(shù)作為表現(xiàn)層技術(shù)過(guò)程中,采用MVC模式進(jìn)行項(xiàng)目的管理和開(kāi)發(fā)。
MVC(Modal View Controler)本來(lái)是存在于Desktop程序中的,M是指數(shù)據(jù)模型,V是指用戶界面,C則是控制器。使用MVC的目的是將M和V的實(shí)現(xiàn)代碼分離,從而使同一個(gè)程序可以使用不同的表現(xiàn)形式。比如一批統(tǒng)計(jì)數(shù)據(jù)你可以分別用柱狀圖、餅圖來(lái)表示。C存在的目的則是確保M和V的同步,一旦M改變,V應(yīng)該同步更新。它強(qiáng)制性的使應(yīng)用程序的輸入、處理和輸出分開(kāi)。使用MVC應(yīng)用程序被分成三個(gè)核心部件:模型、視圖、控制器。它們各自處理自己的任務(wù)。
通過(guò)MVC模式進(jìn)行本系統(tǒng)程序結(jié)構(gòu)的設(shè)計(jì),使系統(tǒng)的層次性更加清晰,耦合度降低、有利于代碼的重用和復(fù)用。是系統(tǒng)更易于管理和維護(hù)。4.3 系統(tǒng)文件結(jié)構(gòu)
系統(tǒng)的包結(jié)構(gòu)如圖2所示,其劃分依據(jù)為MVC模式和系統(tǒng)文件所屬類(lèi)型。
component和org包為本系統(tǒng)中的主體部分包含了封裝的自定義組件等內(nèi)容。events包為本系統(tǒng)中事件的定義。models包為本系統(tǒng)Module層所需模塊。control包中為本系統(tǒng)Control層所需類(lèi)。其他包為根據(jù)系統(tǒng)需要和文件類(lèi)型進(jìn)行匪類(lèi)存儲(chǔ)。通過(guò)包結(jié)構(gòu)的劃分,使系統(tǒng)的文件結(jié)構(gòu)清晰,利于項(xiàng)目管理。
4.4 系統(tǒng)模型類(lèi)結(jié)構(gòu)設(shè)計(jì)
模型(對(duì)應(yīng)MVC中的Module層)中存儲(chǔ)了本系統(tǒng)中所需的所有信息,包括前后臺(tái)交互的信息,系統(tǒng)狀態(tài)信息等。根據(jù)系統(tǒng)信息類(lèi)型,將信息分成SystermInformation類(lèi)、UserInfo類(lèi)、Project類(lèi)、UserShowInfo類(lèi)、HardwereSetInfo類(lèi)、PropertySetInfo類(lèi)。
各個(gè)類(lèi)所存儲(chǔ)的信息如下:
SystermInformation類(lèi):存儲(chǔ)系統(tǒng)的所有信息,是系統(tǒng)狀態(tài)信息和交互信息的集合。
UserInfo類(lèi):存儲(chǔ)當(dāng)前正在使用用戶相關(guān)信息,如用戶名、密碼、所擁有的模塊等信息。
HardwereSetInfo類(lèi):存儲(chǔ)當(dāng)前選中方案的硬件配置界面所需信息UserShowInfo類(lèi):存儲(chǔ)當(dāng)前選中方案用戶演示界面所需信息PropertySetInfo類(lèi):存儲(chǔ)當(dāng)前選中方案特性管理界面所需信息Project類(lèi):存儲(chǔ)方案信息。
4.5 界面劃分
根據(jù)系統(tǒng)需求,將系統(tǒng)最終劃分為如圖3所示模塊:
5.結(jié)束語(yǔ)
本課題在原系統(tǒng)的需求基礎(chǔ)上應(yīng)用Flex技術(shù)上將系統(tǒng)進(jìn)行升級(jí)和改造,使之擁有了更好的用戶體驗(yàn)。這很大程度上得益于作為主流RIA技術(shù)之一的Flex技術(shù)的跨平臺(tái)性。
同時(shí),本系統(tǒng)因在軟件方面采用B/S和C/S混合架構(gòu),這在一定程度上決定了其復(fù)雜度相較其他系統(tǒng)而言要高。同時(shí)硬件方面包括當(dāng)前的GPRS通信技術(shù)和傳感器技術(shù)、嵌入式技術(shù)等多種技術(shù)。通過(guò)軟硬件平臺(tái)的協(xié)同工作,使系統(tǒng)可以依托低成本、高速率的GPRS通信模式構(gòu)建傳感網(wǎng)絡(luò)模型,探索傳感網(wǎng)發(fā)展新方向。類(lèi)似平臺(tái)在商業(yè)應(yīng)用中已經(jīng)有實(shí)際例子,如智能遠(yuǎn)傳水表、無(wú)人倉(cāng)庫(kù)監(jiān)控等。相信在未來(lái)該類(lèi)型系統(tǒng)可以有更加廣泛的應(yīng)用。
評(píng)論