• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      Fl ex與X ML技術(shù)在RIA中的集成應(yīng)用

      2010-04-16 09:15:40何曉桃鄭文豐
      電腦與電信 2010年10期
      關(guān)鍵詞:用戶界面服務(wù)器端應(yīng)用程序

      何曉桃鄭文豐

      (1.廣東工業(yè)大學(xué)計算機(jī)學(xué)院,廣東廣州510006;2.廣東省科普信息中心,廣東廣州510040)

      1.引言

      傳統(tǒng)網(wǎng)絡(luò)程序的開發(fā)是基于頁面的、服務(wù)器端數(shù)據(jù)傳遞的模式,把網(wǎng)絡(luò)程序的表示層建立于HTML頁面之上,功能單一、人機(jī)交互性差、安全性不高。傳統(tǒng)的基于頁面的系統(tǒng)已經(jīng)漸漸不能滿足網(wǎng)絡(luò)瀏覽者的更高的、全方位的體驗要求。隨著Web技術(shù)的不斷發(fā)展,Web開發(fā)有了新的發(fā)展分支,即包含豐富用戶體驗的應(yīng)用,這就是富互聯(lián)網(wǎng)應(yīng)用(Rich Internet Applications,縮寫為RIA)。

      Flex是RIA領(lǐng)域中的典型代表。Flex是一個針對企業(yè)級富互聯(lián)網(wǎng)應(yīng)用的表示層解決方案。具體地說,F(xiàn)les是一種應(yīng)用程序框架,主要用于客戶端程序的開發(fā)。一個完整的Flex程序由MXML代碼和ActionScript代碼組成。MXML是一種基于XML的標(biāo)記語言,在Flex技術(shù)中,MXML用于設(shè)計用戶界面,實現(xiàn)豐富的Flex表現(xiàn)層。從作用上來說,MXML和HTML的功能是基本一致的,都是設(shè)計用戶界面,但MXML提供了較HTML更為豐富的界面組件,并且在開發(fā)上更為結(jié)構(gòu)化,條理更加清晰。MXML的編寫同樣類似于HTML,它通過標(biāo)簽來定義和描述組件。ActionScript基于ECMAScript,是為Adobe Flash設(shè)計的面對對象的程序設(shè)計語言,在Flex開發(fā)中,ActionScript的基本作用類似于傳統(tǒng)網(wǎng)頁開發(fā)中的JavaScript,同時,ActionScript還要負(fù)責(zé)Flex程序的邏輯控制和業(yè)務(wù)建模。

      XML是Extensible Markup Language的縮寫,稱之為可擴(kuò)展標(biāo)記語言。它具有開放性、簡單性、互操作性、自我描述性、可擴(kuò)展性、內(nèi)容和顯示分離、本地計算、個性化數(shù)據(jù)視圖、數(shù)據(jù)集成性等多種特點。其中數(shù)據(jù)集成性是指使用XML,可以描述和集成來自多種應(yīng)用程序的不同格式的數(shù)據(jù),使其能夠傳遞給其它應(yīng)用程序,做進(jìn)一步的處理。

      本文正是利用XML的數(shù)據(jù)集成性,采用Flex作為表示層,J2EE作為后臺程序,以MySQL作為數(shù)據(jù)存儲,設(shè)計一套在線試題系統(tǒng)RIA。它改變傳統(tǒng)的在線試題管理系統(tǒng)的基于HMTL的表現(xiàn)層,提供了RIA應(yīng)用的良好用戶體驗。

      2.設(shè)計思路

      Flex技術(shù)遵循業(yè)界標(biāo)準(zhǔn),采用XML(即可擴(kuò)展標(biāo)記語言)數(shù)據(jù)文檔綁定用戶界面組件,讓數(shù)據(jù)盡可能保持?jǐn)?shù)據(jù)庫中的模式傳送到客戶端。XML文檔成為用戶界面組件和服務(wù)器端數(shù)據(jù)傳送到客戶端數(shù)據(jù)庫中進(jìn)行通信的中介,即從數(shù)據(jù)庫獲得數(shù)據(jù)生成XML文檔傳送到用戶界面組件給用戶,或?qū)⒂脩舾膭由傻臄?shù)據(jù)生成XML文檔提供到服務(wù)器端解析后存入數(shù)據(jù)庫。Flex技術(shù)標(biāo)準(zhǔn)使得它很容易就跟外部XML文件進(jìn)行通信。而且XML文件簡單小巧、存儲方便、檢索快速,F(xiàn)lex加載外部XML文件的代碼簡單快捷。同時Flex提供了一系列獨特的功能,包括:豐富的表現(xiàn)力、高執(zhí)行效率、豐富媒體支持、脫機(jī)支持等。

      通過Flex的HTTPService方式訪問服務(wù)器端數(shù)據(jù),使遠(yuǎn)程過程調(diào)用與服務(wù)器環(huán)境,如PHP、Adobe ColdFusion和Microsoft ASP.NET進(jìn)行交互。獲得服務(wù)器端數(shù)據(jù)之后,以XML格式返回,再經(jīng)過Flex解析后在頁面上顯示出來。

      圖1 Flex與XML的集成應(yīng)用

      3.系統(tǒng)設(shè)計與實現(xiàn)

      3.1 系統(tǒng)設(shè)計

      在線試題的題型包括單選題、多選題、判斷題、填空題和問答題。題目通過一個獨立的XML文件來描述?;贔lex的表現(xiàn)層通過XML對象訪問數(shù)據(jù)文件XML,并將XML文件中的數(shù)據(jù)解析后在界面上顯示出來。

      針對單選題、多選題、判斷題、填空題和問答題5中題型分別設(shè)計5個XML文件:Choice.xml、MultipleChoice:xml、Judgement.xml、Filling.xml和Answer.xml用來存儲五種題型的試題信息,如題干、各備選項、正確答案以及解析。其XML文件具體的內(nèi)容包括:題干、選項、答案和解析。單選題的XML文件描述如下所示:

      其中<chapter>結(jié)點存放章節(jié)信息,<ti>存放的是一道題的試題信息,<title>存放的是題干信息,<body>存放的是各備選項信息,<answer>存放的是答案信息,<explain>存放的是試題解析。其它XML文件都是用相同的節(jié)點存放試題信息,這里就不列舉出來了。

      3.2 獲取XML數(shù)據(jù)

      RIA系統(tǒng)的后端,不限定何種服務(wù)端技術(shù),使用PHP、J2EE、ASP.NET都可以。本文中使用PHP作為服務(wù)器端應(yīng)用程序的開發(fā)語言,使用MySQL數(shù)據(jù)庫存儲所有的試題和相關(guān)信息。基于Flex技術(shù)的RIA系統(tǒng)通過Flex中內(nèi)置的HTTPService組件訪問服務(wù)器端數(shù)據(jù),采用POST方法調(diào)用一個PHP頁,關(guān)鍵代碼如下所示:

      該PHP頁通過HTTP協(xié)議POST方式獲得提交的參數(shù),并查詢MySQL數(shù)據(jù)庫,獲得所需數(shù)據(jù),然后將結(jié)果數(shù)據(jù)以XML的結(jié)構(gòu)通過HTTP響應(yīng)形式返回給Flex頁面。

      3.3 處理XML結(jié)果

      在RPC組件調(diào)用服務(wù)之后,服務(wù)返回的數(shù)據(jù)將放置在lastResult對象中。默認(rèn)情況下,HTTPService組件和Web-Service組件操作的resultFormat屬性值為object,而返回的數(shù)據(jù)以ActionScript對象的簡單樹形式來表示。Flex解釋W(xué)eb服務(wù)或HTTP服務(wù)返回的XML數(shù)據(jù),以便相應(yīng)地表示基本類型(如String、Number、Boolean和Date)。要使用強類型對象,您必須使用Flex所創(chuàng)建的對象樹來填充這些對象。

      WebService和HTTPService組件均返回作為復(fù)雜類型的匿名Object和Array。如果makeObjectsBindable為true(默認(rèn)值),則Object將包裝在mx.utils.ObjectProxy實例中,而數(shù)組將包裝在mx.collections.ArrayCollection實例中。

      在處理返回結(jié)果時,如果不確信服務(wù)調(diào)用的結(jié)果是包含數(shù)組還是單個對象,您可以使用mx.utils.ArrayUtil類的toArray()方法將其轉(zhuǎn)換為數(shù)組,如前所示。如果將toArray()方法傳遞給單個對象,則該方法會返回一個數(shù)組,而該對象是唯一的Array元素。如果向方法傳遞一個數(shù)組,則該方法將返回同一個數(shù)組。

      4.結(jié)束語

      RIA(富互聯(lián)網(wǎng)應(yīng)用程序)是將桌面應(yīng)用程序的交互式用戶體驗與傳統(tǒng)的Web應(yīng)用的部署靈活性和低成本相結(jié)合起來的下一代的網(wǎng)絡(luò)應(yīng)用程序。Flex是一個輕量級、跨平臺、跨設(shè)備的企業(yè)級RIA應(yīng)用程序的表示層解決方案,同時也是跨多個應(yīng)用程序服務(wù)器平臺(PHP、J2EE和.NET)和客戶端操作系統(tǒng)(Windows、Mac OS、Linux等)。XML可以描述和集成來自多種應(yīng)用程序的不同格式的數(shù)據(jù),通過XML的自描述性和集成性,可以作為Flex和應(yīng)用程序之間的數(shù)據(jù)傳遞的載體。Flex結(jié)合XML技術(shù)讓現(xiàn)有的Web技術(shù)得到了極大的保留,提高產(chǎn)品設(shè)計師和開發(fā)工程師的“開發(fā)體驗”,強化設(shè)計端和開發(fā)端的整合,使富互聯(lián)網(wǎng)應(yīng)用程序(RIA)帶給用戶前所未有的用戶體驗。

      [1]戴侃,楊小虎.基于J2EE和FLEX技術(shù)構(gòu)建RIA系統(tǒng)的探索與實現(xiàn)[J].微電子學(xué)與計算機(jī),2003,23(5):22-23.

      [2]Adobe System.Flex Documentation[EB/OL].http://solution.myadobe.com.cn/.

      [3]陳顯軍,魏祖寬.基于Flex的XML數(shù)據(jù)通信與應(yīng)用研究[J].計算機(jī)與現(xiàn)代化,2008,03.

      [4]楊占波等.Flex3RIA開發(fā)詳解與精深實踐一企業(yè)級Web應(yīng)用與AIR桌面應(yīng)用[M].北京:清華大學(xué)出版社,2009.

      [5]陳燕等.基于XML和Flex的網(wǎng)絡(luò)考試系統(tǒng)的設(shè)計與實現(xiàn)[J].電子商務(wù),2010,06.

      猜你喜歡
      用戶界面服務(wù)器端應(yīng)用程序
      自然用戶界面在智能家居系統(tǒng)中的應(yīng)用路徑創(chuàng)新研究:生成式人工智能技術(shù)的調(diào)節(jié)作用
      包裝工程(2023年16期)2023-08-25 11:40:58
      基于CiteSpace的國外用戶界面體驗圖譜量化分析
      刪除Win10中自帶的應(yīng)用程序
      電腦報(2019年12期)2019-09-10 05:08:20
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      UI用戶界面色彩設(shè)計研究
      流行色(2017年12期)2017-10-26 03:08:44
      在Windows中安裝OpenVPN
      基于B/S的跨平臺用戶界面可配置算法研究
      網(wǎng)頁防篡改中分布式文件同步復(fù)制系統(tǒng)
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      三星電子將開設(shè)應(yīng)用程序下載商店
      扎囊县| 七台河市| 永春县| 西青区| 西乡县| 花莲市| 吉安市| 新龙县| 娱乐| 友谊县| 那曲县| 天镇县| 修武县| 馆陶县| 永年县| 永康市| 灌南县| 游戏| 兰考县| 开封县| 河间市| 通化市| 贺兰县| 丰城市| 平塘县| 永川市| 红安县| 安丘市| 涟水县| 潜江市| 涡阳县| 仁寿县| 万载县| 鄂托克旗| 和顺县| 甘泉县| 宁强县| 沂南县| 高碑店市| 万年县| 和平区|