宣翠仙
摘要:文章分析了基于Flex的WebGIS技術(shù)優(yōu)勢(shì),在此基礎(chǔ)上,設(shè)計(jì)并實(shí)現(xiàn)了基于Flex技術(shù)的商貿(mào)WebGIS系統(tǒng),系統(tǒng)以rest為服務(wù)發(fā)布模式,建立在GeoDatabase空間數(shù)據(jù)模型之上。研究結(jié)果表明,為虛擬商貿(mào)WebGIS社區(qū)提供了新的解決方案。
關(guān)鍵詞:RIA;WebGIS;FLEX;REST;商貿(mào)
中圖分類號(hào):TP202 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)28-6740-02
基于RIA技術(shù)的WebGIS系統(tǒng),相比傳統(tǒng)的WebGIS能提供更友好的圖形顯示與交互能力,滿足用戶多媒體化、全方位的GIS體驗(yàn),是近些年WebGIS系統(tǒng)發(fā)展的新趨勢(shì)。比較典型的RIA開(kāi)發(fā)技術(shù)如Adobe公司的Flex、Microsoft公司的SilverLight、Sun公司的Ajax等。其中Flex技術(shù)具有跨平臺(tái)特性,被Yahoo、Google、百渡、ERSI等公司的地圖服務(wù)系統(tǒng)采用。該文以商貿(mào)系統(tǒng)為載體,探討基于Flex技術(shù)的商貿(mào)WEBGIS系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)。
1 Flex技術(shù)特點(diǎn)
Flex是Adobe公司提出的基于組件的開(kāi)源框架,可用于開(kāi)發(fā)多媒體界面Web應(yīng)用程序。Flex的開(kāi)發(fā)模型由 ActionScript 3、MXML語(yǔ)言及擴(kuò)展類庫(kù)組成,其中MXML可用于設(shè)計(jì)和配置Flex程序界面、編寫表現(xiàn)層數(shù)據(jù)模型。經(jīng)由Flex編譯器編譯成SWF格式,通過(guò)Flash Player支持不同系統(tǒng)和平臺(tái)運(yùn)行,為用戶提供視頻、聲音、實(shí)時(shí)通話。由于Flash Player基于異步客戶端-服務(wù)器通信模型,可將原本在服務(wù)器上執(zhí)行的部分簡(jiǎn)單計(jì)算任務(wù)交由它完成,減少客戶端與服務(wù)器的交互,提高系統(tǒng)運(yùn)行效率。
2 基于REST的WEBGIS開(kāi)發(fā)框架
傳統(tǒng)WebGIS開(kāi)發(fā)采用MVC三層開(kāi)發(fā)框架,以服務(wù)端用.net /J2EE,ArcGIS Server為例,其開(kāi)發(fā)框架如圖1所示。這種使用RPC風(fēng)格的架構(gòu),其緊密耦合和接口的復(fù)雜性使得用此框架開(kāi)發(fā)的Web服務(wù)很難達(dá)到Web級(jí)別的可伸縮性。此外,由于此類服務(wù)的資源和調(diào)用方法封裝于SOAP消息,無(wú)法從URL和HTTP上得到有用消息,且每個(gè)SOAP應(yīng)用需要定義自己的接口,不利于地理數(shù)據(jù)服務(wù)服務(wù)的互操作。
REST(Representational State Transfer),即表述性狀態(tài)轉(zhuǎn)移,是一種基于HTTP協(xié)議面向資源的架構(gòu)。每一個(gè)URL代表一個(gè)資源,而系統(tǒng)則由這些資源構(gòu)成。REST通過(guò)定義Web服務(wù)應(yīng)用程序編程接口,使用HTTP進(jìn)行資源管理,相比SOAP及XML-RPC更加簡(jiǎn)潔高效。因此,F(xiàn)lex與REST技術(shù)結(jié)合是當(dāng)前較熱門的分布式系統(tǒng)解決方案之一。如ESRI公司于2008年底推出的ArcGIS Server REST API,提供了REST風(fēng)格的開(kāi)發(fā)接口。以自行開(kāi)發(fā)的商貿(mào)系統(tǒng)為例,其開(kāi)發(fā)框架如圖2所示。
從圖2可以看出,REST風(fēng)格的開(kāi)發(fā)框架比MVC結(jié)構(gòu)要簡(jiǎn)潔,用戶通過(guò)瀏覽器在后臺(tái)用REST API與ArcGIS Server服務(wù)資源進(jìn)行交互,以訪問(wèn)Web Services的方式調(diào)用ArcGIS Server服務(wù)資源,不需要SOAP工具包,方便互操作。
3 基于Flex的WEBGIS Rest商貿(mào)系統(tǒng)
3.1功能模塊
基于Flex的WEBGIS Rest商貿(mào)系統(tǒng)采用ArcGIS平臺(tái)開(kāi)發(fā),后臺(tái)數(shù)據(jù)采用.net實(shí)現(xiàn)Web發(fā)布與操作。主要用于實(shí)現(xiàn)網(wǎng)上數(shù)字虛擬社區(qū)系統(tǒng)相近地域人員之間的主題式互動(dòng)交流、社區(qū)電子地圖的游覽與查詢、社區(qū)各類店鋪的商貿(mào)往來(lái),打造富媒體可視化狀態(tài)下的仿三維虛擬社區(qū)系統(tǒng),以營(yíng)造良好的虛擬社區(qū)氛圍。系統(tǒng)功能包括商城地圖瀏覽、商鋪查詢、商鋪門戶、用戶管理、社區(qū)論壇留言管理等模塊。通過(guò)網(wǎng)絡(luò)平臺(tái),用戶可以通過(guò)地圖瀏覽社區(qū)內(nèi)的商鋪、通過(guò)商鋪瀏覽其產(chǎn)品說(shuō)明及產(chǎn)品的展示、可以根據(jù)主題進(jìn)行留言互動(dòng)交流、可以瀏覽相近地區(qū)的地圖。其中基本圖形功能包括:地圖無(wú)級(jí)縮放、圖形平滑漫游、“鷹眼顯示”、動(dòng)態(tài)路名、量度尺、沿路跟蹤、空間查詢、圖形和數(shù)據(jù)交換等。主要功能模塊圖如圖3所示。
3.2效果實(shí)現(xiàn)
系統(tǒng)程序?qū)崿F(xiàn)分兩部分:服務(wù)器端運(yùn)行Remoting Objects,提供Services給Flex客戶端;Flex中運(yùn)行ActionScripts 和MXML,實(shí)現(xiàn)數(shù)據(jù)展示與客戶交互。數(shù)據(jù)部分,采用GeoDatabase空間數(shù)據(jù)模型:矢量數(shù)據(jù)部分通過(guò)投影變換轉(zhuǎn)換為同一種地圖投影;照片、柵格地圖等柵格數(shù)據(jù)以集的形式存在于GeoDatabase中。各類統(tǒng)計(jì)信息、文本信息以數(shù)據(jù)表的形式存在GeoDatabase中。REST風(fēng)格的Web服務(wù)發(fā)布步驟如下:首先針對(duì)涉及到的地圖服務(wù)、地理處理服務(wù)創(chuàng)建所需要的GIS資源;然后利用ArcCatalog將資源發(fā)布為Web服務(wù),以便被客戶端應(yīng)用程序遠(yuǎn)程調(diào)用。企業(yè)商鋪地圖操作界面如圖4所示。
4 結(jié)束語(yǔ)
文章對(duì)基于Flex的WebGIS商貿(mào)系統(tǒng)進(jìn)行了研究,提供了一個(gè)具有WebGIS基本操作、網(wǎng)絡(luò)分析等功能、基于REST服務(wù)發(fā)布風(fēng)格的WebGIS解決方案。 REST與FLEX結(jié)合的系統(tǒng)能為用戶呈現(xiàn)更加豐富、體驗(yàn)性更強(qiáng)的用戶界面,是基于RIA技術(shù)的WebGIS的發(fā)展趨勢(shì)。
參考文獻(xiàn):
[1] 袁煜鋒.基于Flex和REST的WebGIS研究[D].上海:華東師范大學(xué),2013.
[2] 基于WEBGIS的分布交互仿真系統(tǒng)體系結(jié)構(gòu)研究[J].計(jì)算機(jī)研究,2012(4).
[3] 劉俊.譚建軍.邵長(zhǎng)高.基于Flex的WebGIS框架設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010(5).
[4] 張歐亞,許珂等.基于Flex的廣州大學(xué)城交通服務(wù)WebGIS設(shè)計(jì)[J].測(cè)繪與空間地理信息,2012(10).