現(xiàn)有的一個(gè)服務(wù)網(wǎng)絡(luò)的項(xiàng)目,基本雛形已經(jīng)完成,但是核心的關(guān)系挖掘與系統(tǒng)管理還沒(méi)有實(shí)現(xiàn)。為了使現(xiàn)有的小型網(wǎng)絡(luò)給人有一個(gè)感官的展示,所以需要設(shè)計(jì)一個(gè)基于B/S的圖形化展示頁(yè)面,實(shí)現(xiàn)對(duì)服務(wù)網(wǎng)絡(luò)的展示以及一些交互操作。
之前寫(xiě)過(guò)一個(gè)比較簡(jiǎn)陋的雛形,采用的JavaScript語(yǔ)言,在Eclipse的WTP環(huán)境中進(jìn)行開(kāi)發(fā)。在開(kāi)發(fā)的過(guò)程中主要是使用到了一些比較常見(jiàn)的J2EE技術(shù),比如Servelet等;對(duì)于效率較低的問(wèn)題主要采用了增加緩沖層的辦法來(lái)加速;該頁(yè)面主要支持三種基本的視圖:樹(shù)型、放射型、隨機(jī)行。但是最終呈現(xiàn)的效果還是不太令人滿意。總結(jié)一下主要有以下原因:編寫(xiě)腳本時(shí)調(diào)用的畫(huà)圖API本身效果不是很好;缺乏一個(gè)好的“網(wǎng)絡(luò)節(jié)點(diǎn)散列算法”(不知道這樣叫是否恰當(dāng),網(wǎng)上實(shí)在找不到相關(guān)的內(nèi)容),所以決心重新進(jìn)行編寫(xiě)。
為了使展示效果有很大的改善,決定采用RIA技術(shù)來(lái)進(jìn)行展示頁(yè)面的編寫(xiě)。RIA(Rich Interface Applications)富界面應(yīng)用,俗稱胖客戶端。隨著計(jì)算機(jī)技術(shù),尤其是互聯(lián)網(wǎng)技術(shù)的發(fā)展,需要越來(lái)越完善的用戶體驗(yàn)來(lái)對(duì)界面進(jìn)行展示。現(xiàn)有的主流的RIA技術(shù)主要有三種Adobe的Flex、微軟開(kāi)發(fā)的SilverLight以及SUN的JavaFX技術(shù)。其中Flex可以說(shuō)有很廣泛的市場(chǎng),基于Flash播放器是使它能夠被廣泛使用的主要原因。但是由于Flex是基于ActionScript的,使得它與其他的語(yǔ)言進(jìn)行交互時(shí)顯得十分的笨拙;SilverLight技術(shù)作為微軟力推的RIA技術(shù)雖然發(fā)布不久,但是已經(jīng)給Flex構(gòu)成了很大的威脅。原因是它是微軟.net中的一個(gè)子項(xiàng)目,能夠跟.net中的語(yǔ)言進(jìn)行邊界的交互,是許多.net開(kāi)發(fā)人員能夠很容易的上手。但是它的主要缺陷是需要下載專用的播放插件才能夠播放,而它的普及需要一定的時(shí)間。對(duì)于SUN公司的JavaFX,現(xiàn)在已經(jīng)發(fā)布了體驗(yàn)版,也顯得后勁十足。
在對(duì)服務(wù)網(wǎng)絡(luò)的GUI進(jìn)行編寫(xiě)時(shí),我采用的Flex技術(shù)。正如上面所說(shuō),F(xiàn)lex的頁(yè)面效果很是不錯(cuò),但是對(duì)于Flex與項(xiàng)目中現(xiàn)有的Java語(yǔ)言編寫(xiě)的API的交互卻有著很大的困難。
通過(guò)這幾天對(duì)Flex的學(xué)習(xí),對(duì)Flex有了一些粗淺的了解。與Flex進(jìn)行數(shù)據(jù)交互主要有以下三種方式:通過(guò)使用HTTPService交互(包括Passing request parameters和Sending XML over HTTP兩種方式)、遠(yuǎn)程調(diào)用對(duì)象交互(RemoteObject)、以Web服務(wù)的方式交互( WebService)。由于傳遞到GUI頁(yè)面中的是一組服務(wù)類的實(shí)例,結(jié)構(gòu)較復(fù)雜,所以這里采用遠(yuǎn)程調(diào)用對(duì)象(RemoteObject)的方法進(jìn)行交互。
這幾天一直在困惑遠(yuǎn)程調(diào)用對(duì)象交互的問(wèn)題,今天剛剛有了些眉目,有時(shí)間把具體流程和遇到問(wèn)題的解決方案寫(xiě)在這里。。。
posted on 2008-09-27 22:24
胖胖泡泡 閱讀(241)
評(píng)論(0) 編輯 收藏