999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2016-11-11 09:23:41黃壽孟
中國現(xiàn)代教育裝備 2016年17期

黃壽孟

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

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

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

黃壽孟

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

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

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

Flex開發(fā)中最重要的內(nèi)容之一就是如何解決網(wǎng)頁數(shù)據(jù)與服務(wù)器和數(shù)據(jù)庫的通信。而對于一個基于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é)議通過網(wǎng)絡(luò)從遠(yuǎn)程計(jì)算機(jī)程序上請求服務(wù),而不需要了解底層網(wǎng)絡(luò)技術(shù)的協(xié)議,使得開發(fā)包括網(wǎng)絡(luò)分布式多程序在內(nèi)的應(yīng)用程序更加容易。Flex可以同大多流行的服務(wù)器技術(shù)通信,如PHP,Adobe ColdFusion,微軟的ASP.NET以及Java等,通過Flex數(shù)據(jù)訪問組件,可以從Flex客戶端程序發(fā)送數(shù)據(jù)到服務(wù)器,與服務(wù)器端相互通信[4]。

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

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

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

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

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

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

例如:

使用WebServiceFlex 應(yīng)用程序通過使用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ù)交換類型。Flex通過該組件可以與所有支持SOAP消息格式的,提供Web服務(wù)的服務(wù)器端程序通信。操作方法:先在Flex應(yīng)用程序中創(chuàng)建一個WebService組件,接著創(chuàng)建表單Form組件提交數(shù)據(jù),創(chuàng)建DataGrid組件顯示數(shù)據(jù),在服務(wù)器端,無論程序使用什么技術(shù),最后生成的SOAP消息都是一樣的。

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

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

Flex提供RPC服務(wù)方式的RemoteObject組件與后臺服務(wù)器端進(jìn)行大數(shù)據(jù)量通信,雖然基于Flex技術(shù)開發(fā)的客戶端應(yī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是一個小型的代碼庫,通過這個接口,可以實(shí)現(xiàn)Flex與Ajax互相通信。Ajax是利用JavaScript和XML技術(shù),出現(xiàn)的一種新的代碼框架技術(shù)。Ajax并不是一個新技術(shù),只是利用了JavaScript腳本中某些對象和方法,與遠(yuǎn)程服務(wù)器端通信。把更多的數(shù)據(jù)處理轉(zhuǎn)移到了客戶端,優(yōu)化了瀏覽器與服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,也減少了帶寬占用時間,還減少了Web服務(wù)器的處理時間,從而實(shí)現(xiàn)了更好的用戶體驗(yàn)。

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

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

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

2.2Flex與PHP

PHP是一種開源的Web開發(fā)腳本語言,通常是嵌入在HTML頁面中,也就是一個PHP與HTML代碼的混合文件。通過AMFPHP,F(xiàn)lex可以與PHP無縫通信,從而創(chuàng)建客戶端表現(xiàn)力更強(qiáng)的PHP應(yīng)用程序。AMFPHP是PHP的RPC工具,是一種客戶端與服務(wù)器交換數(shù)據(jù)方式。它可以調(diào)用本地對象帶有不同參數(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代碼文件,接著在客戶端創(chuàng)建Flex應(yīng)用程序主MXML文件中,再添加訪問遠(yuǎn)程服務(wù)器端的PHP程序。其主要代碼如下:

2.3Flex與.NET

.NET是一種功能強(qiáng)大的開發(fā)框架,包含了一套成熟的開發(fā)工具Visual Studio.NET。使用.NET框架既可以開發(fā)Windows應(yīng)用程序,也可以開發(fā)的Web應(yīng)用程序。同時它提供多功能的應(yīng)用程序執(zhí)行環(huán)境、簡化開發(fā)以及多種開發(fā)語言之間簡易的整合。FluorineFx提供了一個Flex/Flash Remoting的接口,用于訪問.NET,所以使用FluorineFx可以輕易地實(shí)現(xiàn)Flex與.NET之間的通信。具體應(yīng)用如下:服務(wù)器端打開Visual Studio.NET,通過添加新項(xiàng)目FluorineFx Serive Library,可以使用不同功能的代碼分離,這樣更容易管理和維護(hù)項(xiàng)目代碼。接著添加新網(wǎng)站FluorineFx ASP.NET Web Site并確定存放位置。客戶端選擇創(chuàng)建Flex應(yīng)用程序類型為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語言是全世界最流行的語言之一,具有跨平臺、高性能、健壯、安全、結(jié)構(gòu)中立、可移植性等特點(diǎn),擁有大量豐富的開源項(xiàng)目,也大大促進(jìn)了其發(fā)展。實(shí)現(xiàn)Flex與Java的即時通信把二者連為一體成為更強(qiáng)的強(qiáng)者,可以采用BlazeDS,LCDS(LiveCycle Data Services),Red5(流媒體技術(shù))等項(xiàng)目實(shí)現(xiàn),特別是Red5為開發(fā)網(wǎng)絡(luò)在線游戲提供了一個簡單易行的方案。

BlazeDS是一種開源的項(xiàng)目,是一種基于服務(wù)器的Java遠(yuǎn)程控制(remoting)和Web消息傳遞(messaging)技術(shù),它能夠使得后端的Java應(yīng)用程序和運(yùn)行在Flex客戶端的應(yīng)用程序相互通信。具體應(yīng)用如下:服務(wù)器端編譯Java源文件并連同包(package)目錄一起保存在classes目錄中,進(jìn)入Flex配置目錄,打開remotingconfig.xml文件添加destination節(jié),其中<source>指向Java類路徑,系統(tǒng)會根據(jù)路徑找到Java類,ID屬性可以定義,但是必須與Flex中RemoteObject組件中的destination屬性值一致。系統(tǒng)會依據(jù)destination屬性值找到配置文件對應(yīng)的節(jié),從而找到Java類并調(diào)用。創(chuàng)建項(xiàng)目時選擇J2EE服務(wù)器類型,若不選擇需要在項(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一樣是通過AMF(ActionScript Message Format)的數(shù)據(jù)格式與服務(wù)器端進(jìn)行通信。LCDS提供了Remoting,Data Management,Messaging共3種與服務(wù)器端的基本通信方式。這3種通信方式可以實(shí)現(xiàn)在對象層面與服務(wù)器端的通信,這樣與服務(wù)器端進(jìn)行通信時就會涉及數(shù)據(jù)類型轉(zhuǎn)換的問題。LCDS與服務(wù)器端通信的通信結(jié)構(gòu)是前端的SWF發(fā)送ActionScript調(diào)用,再由LCDS轉(zhuǎn)換為針對Java的調(diào)用,最后Java代碼完成于數(shù)據(jù)庫的通信以及業(yè)務(wù)處理。

3 結(jié)束語

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

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

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

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

[2] 錢海軍.基于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)目(編號:Hnky2015-55);三亞市院地科技合作項(xiàng)目(編號:2013YD43)。

主站蜘蛛池模板: 欧美精品在线看| 免费欧美一级| 亚洲一区国色天香| 欧美色亚洲| 亚洲精品无码在线播放网站| 性欧美久久| 狠狠色噜噜狠狠狠狠奇米777| 欧美成人区| 久久久久久久久18禁秘| 久久福利片| 99爱视频精品免视看| 国产尤物在线播放| 精久久久久无码区中文字幕| 特级毛片免费视频| 狠狠色成人综合首页| 在线不卡免费视频| 日韩欧美中文字幕一本| 大学生久久香蕉国产线观看| 久久中文电影| 中文字幕av一区二区三区欲色| 欧美不卡视频在线| 91小视频版在线观看www| 三级视频中文字幕| 在线免费观看AV| 东京热高清无码精品| 亚洲AⅤ波多系列中文字幕| 无码人妻免费| 九九热视频在线免费观看| 漂亮人妻被中出中文字幕久久| 伊人蕉久影院| 国产精品免费久久久久影院无码| 日韩在线网址| 毛片久久网站小视频| 亚洲一区二区三区麻豆| 国产va欧美va在线观看| 谁有在线观看日韩亚洲最新视频| 免费国产小视频在线观看 | 欧美精品啪啪一区二区三区| 国产精品欧美激情| 免费中文字幕一级毛片| 99热国产在线精品99| 欧美亚洲国产视频| 免费看a级毛片| 日本人真淫视频一区二区三区| 日本人又色又爽的视频| 久久无码高潮喷水| 国产在线视频欧美亚综合| 最新国产精品鲁鲁免费视频| 亚洲一级毛片| 一本色道久久88| 永久在线播放| 日韩av高清无码一区二区三区| 国产一区二区三区免费观看| 色成人综合| 呦视频在线一区二区三区| 色欲色欲久久综合网| 国产在线自乱拍播放| 免费毛片网站在线观看| 精品国产自在在线在线观看| 国产情侣一区二区三区| 97在线视频免费观看| 亚洲国产日韩在线成人蜜芽| 国产免费福利网站| 久久精品娱乐亚洲领先| 九色视频在线免费观看| 国产在线麻豆波多野结衣| 久久成人18免费| 国产第一页屁屁影院| 日韩高清无码免费| 亚洲最大福利视频网| 国产SUV精品一区二区| 国产日韩丝袜一二三区| 欧美 亚洲 日韩 国产| 欧美成人午夜视频| 久久综合结合久久狠狠狠97色| 最新日韩AV网址在线观看| 亚洲高清无码久久久| 狠狠色香婷婷久久亚洲精品| 亚洲成a人片7777| 欧洲一区二区三区无码| 国产精品冒白浆免费视频| 中文字幕无线码一区|