• 
    

    
    

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

      基于Flex的數(shù)據(jù)通信技術(shù)研究與應(yīng)用

      2016-11-11 09:23:41黃壽孟
      中國(guó)現(xiàn)代教育裝備 2016年17期
      關(guān)鍵詞:服務(wù)器端數(shù)據(jù)量應(yīng)用程序

      黃壽孟

      三亞學(xué)院 海南三亞 572022

      現(xiàn)代教育技術(shù)與裝備

      基于Flex的數(shù)據(jù)通信技術(shù)研究與應(yīng)用

      黃壽孟

      三亞學(xué)院海南三亞572022

      Flex是可以創(chuàng)建RIA富互聯(lián)網(wǎng)應(yīng)用程序快速有效的方法之一。通過(guò)Flex數(shù)據(jù)訪問(wèn)組件技術(shù),從Flex客戶(hù)端應(yīng)用程序發(fā)送數(shù)據(jù)到服務(wù)器端,可以實(shí)現(xiàn)與大多流行的服務(wù)器之間相互通信,有傳統(tǒng)的低數(shù)據(jù)量通信也有后臺(tái)的大數(shù)據(jù)量通信,并詳細(xì)介紹了不同類(lèi)型技術(shù)的服務(wù)器的Flex接口組件技術(shù)。當(dāng)然基于Flex技術(shù)的開(kāi)發(fā)的客戶(hù)端應(yīng)用程序,不需做任何改動(dòng),就可以與服務(wù)器端進(jìn)行數(shù)據(jù)通信,并且通過(guò)Flex技術(shù)不僅可以明顯增加表示層的表現(xiàn)力,而且提高現(xiàn)有應(yīng)用程序開(kāi)發(fā)的效率。

      Flex;客戶(hù)端;服務(wù)器端;數(shù)據(jù)通信

      Flex開(kāi)發(fā)中最重要的內(nèi)容之一就是如何解決網(wǎng)頁(yè)數(shù)據(jù)與服務(wù)器和數(shù)據(jù)庫(kù)的通信。而對(duì)于一個(gè)基于Internet的Flex應(yīng)用而言,不能與服務(wù)器端進(jìn)行通信是不可以想象的。Flex提供了RPC[3](Remote Procedure Call遠(yuǎn)端程序調(diào)用)的Services,Data Manage Service和Message Service 三種方式與服務(wù)器端通信[1]。Flex中提供了3種可用的RPC服務(wù)方式[2]:HttpService,WebService,RemoteObject,其中前兩種屬于低數(shù)據(jù)量通信,最后一種屬于大數(shù)據(jù)量通信的方式。RPC協(xié)議通過(guò)網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請(qǐng)求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議,使得開(kāi)發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。Flex可以同大多流行的服務(wù)器技術(shù)通信,如PHP,Adobe ColdFusion,微軟的ASP.NET以及Java等,通過(guò)Flex數(shù)據(jù)訪問(wèn)組件,可以從Flex客戶(hù)端程序發(fā)送數(shù)據(jù)到服務(wù)器,與服務(wù)器端相互通信[4]。

      1 Flex與服務(wù)器端低數(shù)據(jù)量通信

      這是Flex與服務(wù)器端的簡(jiǎn)單通信方式,主要通過(guò)HTTPService 和WebService兩種組件的訪問(wèn)方式進(jìn)行通信,兩者讀取數(shù)據(jù)的格式不同[1],HTTPService組件訪問(wèn)的是純文本文件,而WebService組件主要是訪問(wèn)Web服務(wù)。

      HTTPService組件方式使用HTTPService組件可以與各種服務(wù)器技術(shù)的頁(yè)面?zhèn)鬟f數(shù)據(jù),包括PHP,ColdFusion,JSP,ASP等。通過(guò)設(shè)置HTTPService組件的url屬性的值,可以讀取遠(yuǎn)程服務(wù)器端的數(shù)據(jù),客戶(hù)端可以通過(guò)HTTPService組件的resultFormat屬性設(shè)置輸出的格式。

      下列代碼是在服務(wù)器端創(chuàng)建一個(gè)PHP文件,并從my_sql數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。

      在客戶(hù)端通過(guò)創(chuàng)建Flex項(xiàng)目,調(diào)用HTTPService組件訪問(wèn)遠(yuǎn)程的服務(wù)器程序,請(qǐng)求結(jié)果集。代碼如下:

      使用HTTPService組件除了可以讀取遠(yuǎn)程服務(wù)器數(shù)據(jù)之外,還可以和傳統(tǒng)的HTML頁(yè)面中的表單Form一樣,使用POST或者GET提交數(shù)據(jù)。要提交數(shù)據(jù),需要設(shè)置HTTPService組件中的method屬性。

      例如:

      使用WebServiceFlex 應(yīng)用程序通過(guò)使用WebService 組件可以使用 Web服務(wù)定義與遠(yuǎn)程服務(wù)器通信的接口。Web服務(wù)使用標(biāo)準(zhǔn)的WSDL描述格式,所以不需要格式轉(zhuǎn)換,就可以輕易地做到數(shù)據(jù)交換。

      在Flex中提供了相應(yīng)的WebService組件,該WebService組件支持SOAP消息格式,SOAP定義了基于XML格式的數(shù)據(jù)交換類(lèi)型。Flex通過(guò)該組件可以與所有支持SOAP消息格式的,提供Web服務(wù)的服務(wù)器端程序通信。操作方法:先在Flex應(yīng)用程序中創(chuàng)建一個(gè)WebService組件,接著創(chuàng)建表單Form組件提交數(shù)據(jù),創(chuàng)建DataGrid組件顯示數(shù)據(jù),在服務(wù)器端,無(wú)論程序使用什么技術(shù),最后生成的SOAP消息都是一樣的。

      另外,F(xiàn)lex中還提供了WebService類(lèi)訪問(wèn)Web服務(wù)。具體應(yīng)用如下:先在Flex應(yīng)用程序中創(chuàng)建一個(gè)WebService類(lèi)的對(duì)象,再設(shè)置WebService對(duì)象的相關(guān)屬性,并添加相關(guān)的事件代碼。主要代碼如下:

      2 Flex與服務(wù)器端大數(shù)據(jù)量通信

      Flex提供RPC服務(wù)方式的RemoteObject組件與后臺(tái)服務(wù)器端進(jìn)行大數(shù)據(jù)量通信,雖然基于Flex技術(shù)開(kāi)發(fā)的客戶(hù)端應(yīng)用程序不需改動(dòng)就可以與服務(wù)器端進(jìn)行通信,但是不同服務(wù)器的技術(shù)不同,它們之間的數(shù)據(jù)通信技術(shù)接口也有些不同,下面詳細(xì)介紹FABridge,ColdFusion,AMFPHP,F(xiàn)luorineFx,BlazeDS,LCDS,Red5等接口技術(shù)。

      2.1Flex與Ajax

      FABridge是一個(gè)小型的代碼庫(kù),通過(guò)這個(gè)接口,可以實(shí)現(xiàn)Flex與Ajax互相通信。Ajax是利用JavaScript和XML技術(shù),出現(xiàn)的一種新的代碼框架技術(shù)。Ajax并不是一個(gè)新技術(shù),只是利用了JavaScript腳本中某些對(duì)象和方法,與遠(yuǎn)程服務(wù)器端通信。把更多的數(shù)據(jù)處理轉(zhuǎn)移到了客戶(hù)端,優(yōu)化了瀏覽器與服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,也減少了帶寬占用時(shí)間,還減少了Web服務(wù)器的處理時(shí)間,從而實(shí)現(xiàn)了更好的用戶(hù)體驗(yàn)。

      Flex與Ajax同樣都是客戶(hù)端技術(shù),F(xiàn)lex最終會(huì)被編譯成SWF文件,而Ajax不會(huì),F(xiàn)lex與Ajax兩者結(jié)合實(shí)際上是利用各自的優(yōu)點(diǎn):Flex的表現(xiàn)力更強(qiáng),而Ajax的響應(yīng)速度更快。

      FABridge類(lèi)庫(kù)整合了ExternalInterface類(lèi),而ExternalInterface類(lèi)在ActionScript類(lèi)庫(kù)中提供了更加強(qiáng)大的技術(shù),因?yàn)镋xternalInterface類(lèi)是一個(gè)應(yīng)用程序編輯接口,負(fù)責(zé)ActionScript和JavaScript之間的通信。FABridge類(lèi)庫(kù)主要包含了2個(gè)文件:FABridge.as和FABridge.js,通過(guò)使用FABridge.as中的FABridge類(lèi)可以訪問(wèn)JavaScript數(shù)據(jù);通過(guò)使用FABridge.js中的FABridge函數(shù)就可以訪問(wèn)ActionScript中的數(shù)據(jù)。在Flex中通過(guò)這2個(gè)文件可以達(dá)到兩者相互訪問(wèn)的目的,具體應(yīng)用如下:在Flex應(yīng)用程序項(xiàng)目右擊,選擇Create Ajax Bridge選項(xiàng),創(chuàng)建FABridge橋,系統(tǒng)自動(dòng)生成2個(gè)主要文件FABridge.as和FABridge.js,在FABridge.as 的main.html文件內(nèi)添加一個(gè)Flex的回調(diào)函數(shù)initCallback(),獲取和設(shè)置Flex中控件的值;在FABridge.js的main.mxml文件中創(chuàng)建一個(gè)FABridge組件和TextInput文本框控件。

      操作方法如下:創(chuàng)建Flex應(yīng)用程序時(shí),在服務(wù)器類(lèi)型選項(xiàng)中選擇Desktop application(runs in Adobe AIR),在服務(wù)技術(shù)選項(xiàng)中選擇ColdFusion Flash Remoting,接著創(chuàng)建ColdFusion服務(wù)器程序文件和Flex代碼destination表示遠(yuǎn)程服務(wù)器的類(lèi)型,source表示調(diào)用ColdFusion服務(wù)器的文件名稱(chēng)。ColdFusion中已經(jīng)內(nèi)置了可以直接調(diào)用.NET類(lèi)庫(kù)。

      2.2Flex與PHP

      PHP是一種開(kāi)源的Web開(kāi)發(fā)腳本語(yǔ)言,通常是嵌入在HTML頁(yè)面中,也就是一個(gè)PHP與HTML代碼的混合文件。通過(guò)AMFPHP,F(xiàn)lex可以與PHP無(wú)縫通信,從而創(chuàng)建客戶(hù)端表現(xiàn)力更強(qiáng)的PHP應(yīng)用程序。AMFPHP是PHP的RPC工具,是一種客戶(hù)端與服務(wù)器交換數(shù)據(jù)方式。它可以調(diào)用本地對(duì)象帶有不同參數(shù)的方法,設(shè)置回調(diào)并接受調(diào)用結(jié)果,而不用關(guān)心發(fā)送和接收數(shù)據(jù)的實(shí)現(xiàn)細(xì)節(jié)。

      應(yīng)用操作如下:先在服務(wù)器端AMFPHP項(xiàng)目的services目錄下創(chuàng)建服務(wù)器端PHP代碼文件,接著在客戶(hù)端創(chuàng)建Flex應(yīng)用程序主MXML文件中,再添加訪問(wèn)遠(yuǎn)程服務(wù)器端的PHP程序。其主要代碼如下:

      2.3Flex與.NET

      .NET是一種功能強(qiáng)大的開(kāi)發(fā)框架,包含了一套成熟的開(kāi)發(fā)工具Visual Studio.NET。使用.NET框架既可以開(kāi)發(fā)Windows應(yīng)用程序,也可以開(kāi)發(fā)的Web應(yīng)用程序。同時(shí)它提供多功能的應(yīng)用程序執(zhí)行環(huán)境、簡(jiǎn)化開(kāi)發(fā)以及多種開(kāi)發(fā)語(yǔ)言之間簡(jiǎn)易的整合。FluorineFx提供了一個(gè)Flex/Flash Remoting的接口,用于訪問(wèn).NET,所以使用FluorineFx可以輕易地實(shí)現(xiàn)Flex與.NET之間的通信。具體應(yīng)用如下:服務(wù)器端打開(kāi)Visual Studio.NET,通過(guò)添加新項(xiàng)目FluorineFx Serive Library,可以使用不同功能的代碼分離,這樣更容易管理和維護(hù)項(xiàng)目代碼。接著添加新網(wǎng)站FluorineFx ASP.NET Web Site并確定存放位置??蛻?hù)端選擇創(chuàng)建Flex應(yīng)用程序類(lèi)型為ASP.NET,項(xiàng)目屬性設(shè)置為Flex CompilerFlex,編譯參數(shù)-services “services-config. xml”, services-config.xml文件是ASP.NET站點(diǎn)中包含的配置文件,可以把路徑直接指向該站點(diǎn)目錄,也可以把該配置文件復(fù)制到Flex目錄中,通常情況下需要修改配置文件中endpoint節(jié)點(diǎn)的uri屬性值即可,也就是把uri屬性指向遠(yuǎn)程.NET服務(wù)器的網(wǎng)關(guān)文件gate_ way.aspx。

      2.4Flex與Java

      Java語(yǔ)言是全世界最流行的語(yǔ)言之一,具有跨平臺(tái)、高性能、健壯、安全、結(jié)構(gòu)中立、可移植性等特點(diǎn),擁有大量豐富的開(kāi)源項(xiàng)目,也大大促進(jìn)了其發(fā)展。實(shí)現(xiàn)Flex與Java的即時(shí)通信把二者連為一體成為更強(qiáng)的強(qiáng)者,可以采用BlazeDS,LCDS(LiveCycle Data Services),Red5(流媒體技術(shù))等項(xiàng)目實(shí)現(xiàn),特別是Red5為開(kāi)發(fā)網(wǎng)絡(luò)在線(xiàn)游戲提供了一個(gè)簡(jiǎn)單易行的方案。

      BlazeDS是一種開(kāi)源的項(xiàng)目,是一種基于服務(wù)器的Java遠(yuǎn)程控制(remoting)和Web消息傳遞(messaging)技術(shù),它能夠使得后端的Java應(yīng)用程序和運(yùn)行在Flex客戶(hù)端的應(yīng)用程序相互通信。具體應(yīng)用如下:服務(wù)器端編譯Java源文件并連同包(package)目錄一起保存在classes目錄中,進(jìn)入Flex配置目錄,打開(kāi)remotingconfig.xml文件添加destination節(jié),其中<source>指向Java類(lèi)路徑,系統(tǒng)會(huì)根據(jù)路徑找到Java類(lèi),ID屬性可以定義,但是必須與Flex中RemoteObject組件中的destination屬性值一致。系統(tǒng)會(huì)依據(jù)destination屬性值找到配置文件對(duì)應(yīng)的節(jié),從而找到Java類(lèi)并調(diào)用。創(chuàng)建項(xiàng)目時(shí)選擇J2EE服務(wù)器類(lèi)型,若不選擇需要在項(xiàng)目屬性設(shè)置編譯參數(shù)和Flex服務(wù)器參數(shù)。

      當(dāng)然除了BlazeDS外,還有LCDS(LiveCycle Data Services),Red5(流媒體技術(shù))等項(xiàng)目可以實(shí)現(xiàn)Flex與Java的通信。LCDS技術(shù)的前身是FDS(Flex Data Service),同F(xiàn)lash Remoting一樣是通過(guò)AMF(ActionScript Message Format)的數(shù)據(jù)格式與服務(wù)器端進(jìn)行通信。LCDS提供了Remoting,Data Management,Messaging共3種與服務(wù)器端的基本通信方式。這3種通信方式可以實(shí)現(xiàn)在對(duì)象層面與服務(wù)器端的通信,這樣與服務(wù)器端進(jìn)行通信時(shí)就會(huì)涉及數(shù)據(jù)類(lèi)型轉(zhuǎn)換的問(wèn)題。LCDS與服務(wù)器端通信的通信結(jié)構(gòu)是前端的SWF發(fā)送ActionScript調(diào)用,再由LCDS轉(zhuǎn)換為針對(duì)Java的調(diào)用,最后Java代碼完成于數(shù)據(jù)庫(kù)的通信以及業(yè)務(wù)處理。

      3 結(jié)束語(yǔ)

      Flex提供了四類(lèi)實(shí)現(xiàn)與服務(wù)器端的通信:HTTPService,RemoteObject,Socket,WebService。另外還可以根據(jù)外部中間插件讓Flex客戶(hù)端與服務(wù)器端進(jìn)行通信,如BlazeDS,LCDS,Red5。Flex客戶(hù)端與服務(wù)器具體通信情況見(jiàn)表1。

      表1 Flex客戶(hù)端與服務(wù)器端數(shù)據(jù)通信情況表

      目前,F(xiàn)lex的數(shù)據(jù)通信技術(shù)可以實(shí)現(xiàn)與已有的開(kāi)發(fā)工具、設(shè)計(jì)語(yǔ)言、應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù)結(jié)合起來(lái),將基于Flex技術(shù)的用戶(hù)界面與現(xiàn)有的業(yè)務(wù)邏輯組件或Web服務(wù)連接起來(lái),不需做任何改動(dòng),并且Flex開(kāi)發(fā)技術(shù)可以增加表示層的表現(xiàn)力,又可以提高現(xiàn)有應(yīng)用程序運(yùn)行的效率。同時(shí),使用Flex技術(shù)進(jìn)行開(kāi)發(fā)設(shè)計(jì)RIA應(yīng)用程序,開(kāi)發(fā)效率大大提高。同樣,設(shè)計(jì)開(kāi)發(fā)面向數(shù)據(jù)管理方面的應(yīng)用程序,使用Flex技術(shù)更符合開(kāi)發(fā)設(shè)計(jì)者的習(xí)慣,開(kāi)發(fā)效率也會(huì)比Flash高出很多倍。

      [1] 呂輝.Flex從入門(mén)到實(shí)踐[M].北京:清華大學(xué)出版社,2009.

      [2] 錢(qián)海軍.基于Flex的服務(wù)器通信技術(shù)[J].廣東交通職業(yè)技術(shù)學(xué)院學(xué)報(bào).2012(4):15-17.

      [3] 百度百科.RPC[EB/OL].(2014-12-4)[2015-1-12].http://baike. baidu.com/view/7287257.htm.

      [4] 呂曉鵬.精通Flex3.0:基于ActionScript 3.0實(shí)現(xiàn)[M].北京:人民郵電出版社,2008.

      The Research and Application of the Flex Data Communication Technology

      Huang Shoumeng
      Sanya University, Sanya, 572022, China

      This Flex is one of the methods to create RIA rich Internet applications quickly and effectively. The Flex data communication technology is available from the client application to send data to a server, so as to realize the communication between the server and the most popular.They both have a low amount of data communication of traditional, large data and have the background of the amount of communication,and introduces the Flex interface component technology of different types of technology of server. Of course, the client application of Flex technology, do not need to make any changes, and is directly with the server data communication. the application of Flex technology will increase the presentation layer of expressive force, and enhancing the effciency of present application development.

      Flex; client; server; data communication

      2016-02-22

      黃壽孟,碩士,副教授。

      海南省教育廳項(xiàng)目(編號(hào):Hnky2015-55);三亞市院地科技合作項(xiàng)目(編號(hào):2013YD43)。

      猜你喜歡
      服務(wù)器端數(shù)據(jù)量應(yīng)用程序
      基于大數(shù)據(jù)量的初至層析成像算法優(yōu)化
      計(jì)算Lyapunov指數(shù)的模糊C均值聚類(lèi)小數(shù)據(jù)量法
      高刷新率不容易顯示器需求與接口標(biāo)準(zhǔn)帶寬
      寬帶信號(hào)采集與大數(shù)據(jù)量傳輸系統(tǒng)設(shè)計(jì)與研究
      電子制作(2019年13期)2020-01-14 03:15:18
      刪除Win10中自帶的應(yīng)用程序
      淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
      成功(2018年10期)2018-03-26 02:56:14
      在Windows中安裝OpenVPN
      網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
      關(guān)閉應(yīng)用程序更新提醒
      電腦迷(2012年15期)2012-04-29 17:09:47
      三星電子將開(kāi)設(shè)應(yīng)用程序下載商店
      稻城县| 高安市| 民丰县| 清苑县| 肇源县| 潼南县| 油尖旺区| 玉田县| 土默特左旗| 伊宁县| 文安县| 都昌县| 岑溪市| 五莲县| 菏泽市| 肥城市| 枝江市| 鄂伦春自治旗| 姜堰市| 溧阳市| 仪征市| 九台市| 满洲里市| 大石桥市| 垣曲县| 左云县| 正定县| 阿勒泰市| 淳化县| 姚安县| 邵东县| 青冈县| 外汇| 中宁县| 安岳县| 上杭县| 彩票| 上高县| 桐柏县| 会理县| 固阳县|