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

基于Flex的數據通信技術研究與應用

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

黃壽孟

三亞學院 海南三亞 572022

現代教育技術與裝備

基于Flex的數據通信技術研究與應用

黃壽孟

三亞學院海南三亞572022

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

Flex;客戶端;服務器端;數據通信

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

1 Flex與服務器端低數據量通信

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

HTTPService組件方式使用HTTPService組件可以與各種服務器技術的頁面傳遞數據,包括PHP,ColdFusion,JSP,ASP等。通過設置HTTPService組件的url屬性的值,可以讀取遠程服務器端的數據,客戶端可以通過HTTPService組件的resultFormat屬性設置輸出的格式。

下列代碼是在服務器端創建一個PHP文件,并從my_sql數據庫中讀取數據。

在客戶端通過創建Flex項目,調用HTTPService組件訪問遠程的服務器程序,請求結果集。代碼如下:

使用HTTPService組件除了可以讀取遠程服務器數據之外,還可以和傳統的HTML頁面中的表單Form一樣,使用POST或者GET提交數據。要提交數據,需要設置HTTPService組件中的method屬性。

例如:

使用WebServiceFlex 應用程序通過使用WebService 組件可以使用 Web服務定義與遠程服務器通信的接口。Web服務使用標準的WSDL描述格式,所以不需要格式轉換,就可以輕易地做到數據交換。

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

另外,Flex中還提供了WebService類訪問Web服務。具體應用如下:先在Flex應用程序中創建一個WebService類的對象,再設置WebService對象的相關屬性,并添加相關的事件代碼。主要代碼如下:

2 Flex與服務器端大數據量通信

Flex提供RPC服務方式的RemoteObject組件與后臺服務器端進行大數據量通信,雖然基于Flex技術開發的客戶端應用程序不需改動就可以與服務器端進行通信,但是不同服務器的技術不同,它們之間的數據通信技術接口也有些不同,下面詳細介紹FABridge,ColdFusion,AMFPHP,FluorineFx,BlazeDS,LCDS,Red5等接口技術。

2.1Flex與Ajax

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

Flex與Ajax同樣都是客戶端技術,Flex最終會被編譯成SWF文件,而Ajax不會,Flex與Ajax兩者結合實際上是利用各自的優點:Flex的表現力更強,而Ajax的響應速度更快。

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

操作方法如下:創建Flex應用程序時,在服務器類型選項中選擇Desktop application(runs in Adobe AIR),在服務技術選項中選擇ColdFusion Flash Remoting,接著創建ColdFusion服務器程序文件和Flex代碼destination表示遠程服務器的類型,source表示調用ColdFusion服務器的文件名稱。ColdFusion中已經內置了可以直接調用.NET類庫。

2.2Flex與PHP

PHP是一種開源的Web開發腳本語言,通常是嵌入在HTML頁面中,也就是一個PHP與HTML代碼的混合文件。通過AMFPHP,Flex可以與PHP無縫通信,從而創建客戶端表現力更強的PHP應用程序。AMFPHP是PHP的RPC工具,是一種客戶端與服務器交換數據方式。它可以調用本地對象帶有不同參數的方法,設置回調并接受調用結果,而不用關心發送和接收數據的實現細節。

應用操作如下:先在服務器端AMFPHP項目的services目錄下創建服務器端PHP代碼文件,接著在客戶端創建Flex應用程序主MXML文件中,再添加訪問遠程服務器端的PHP程序。其主要代碼如下:

2.3Flex與.NET

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

2.4Flex與Java

Java語言是全世界最流行的語言之一,具有跨平臺、高性能、健壯、安全、結構中立、可移植性等特點,擁有大量豐富的開源項目,也大大促進了其發展。實現Flex與Java的即時通信把二者連為一體成為更強的強者,可以采用BlazeDS,LCDS(LiveCycle Data Services),Red5(流媒體技術)等項目實現,特別是Red5為開發網絡在線游戲提供了一個簡單易行的方案。

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

當然除了BlazeDS外,還有LCDS(LiveCycle Data Services),Red5(流媒體技術)等項目可以實現Flex與Java的通信。LCDS技術的前身是FDS(Flex Data Service),同Flash Remoting一樣是通過AMF(ActionScript Message Format)的數據格式與服務器端進行通信。LCDS提供了Remoting,Data Management,Messaging共3種與服務器端的基本通信方式。這3種通信方式可以實現在對象層面與服務器端的通信,這樣與服務器端進行通信時就會涉及數據類型轉換的問題。LCDS與服務器端通信的通信結構是前端的SWF發送ActionScript調用,再由LCDS轉換為針對Java的調用,最后Java代碼完成于數據庫的通信以及業務處理。

3 結束語

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

表1 Flex客戶端與服務器端數據通信情況表

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

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

[2] 錢海軍.基于Flex的服務器通信技術[J].廣東交通職業技術學院學報.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實現[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

黃壽孟,碩士,副教授。

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

主站蜘蛛池模板: 免费Aⅴ片在线观看蜜芽Tⅴ| 国产日本欧美在线观看| 日韩东京热无码人妻| 一级毛片在线播放免费观看| 丁香五月婷婷激情基地| 免费国产一级 片内射老| 成年女人a毛片免费视频| 一级全免费视频播放| 全色黄大色大片免费久久老太| 欧美亚洲另类在线观看| jizz在线观看| 2021国产精品自拍| 国产精品尤物铁牛tv| 国产成人亚洲毛片| 久久精品国产亚洲麻豆| 国产乱人免费视频| 91在线播放国产| 国产美女精品在线| 日韩在线2020专区| 亚洲无码高清免费视频亚洲| 九色91在线视频| 午夜国产精品视频| 国产精品亚洲片在线va| 免费国产好深啊好涨好硬视频| 不卡午夜视频| 日韩经典精品无码一区二区| 亚洲一区二区三区麻豆| 欧美日韩在线亚洲国产人| 国产麻豆aⅴ精品无码| 欧美精品亚洲精品日韩专| 日韩黄色精品| 4虎影视国产在线观看精品| 天天摸天天操免费播放小视频| 亚洲高清中文字幕在线看不卡| 亚洲婷婷在线视频| 亚洲色中色| 国产精品久久久久久久久| 久草视频精品| 青青草欧美| 国产综合精品一区二区| 中文字幕在线免费看| 久久一日本道色综合久久| 亚洲精品欧美日本中文字幕| 人妻精品全国免费视频| 高清码无在线看| 毛片在线播放网址| 欧美午夜理伦三级在线观看| 少妇精品在线| 国产黄色爱视频| 超清无码一区二区三区| 中文字幕永久在线看| 制服丝袜 91视频| 国产精品成人第一区| 无遮挡国产高潮视频免费观看| 国产成人无码综合亚洲日韩不卡| 激情网址在线观看| 精品久久高清| 久久久久人妻精品一区三寸蜜桃| 在线另类稀缺国产呦| 这里只有精品国产| 毛片免费试看| 91视频日本| 成人免费一级片| 免费精品一区二区h| 久久人午夜亚洲精品无码区| 日本一区二区三区精品国产| 国产精品九九视频| 色综合天天娱乐综合网| 欧美区一区二区三| 精品国产一区91在线| 午夜精品久久久久久久无码软件 | 亚洲性视频网站| 无码 在线 在线| 久久五月视频| 欧洲成人在线观看| 九九这里只有精品视频| 一级毛片免费的| 无码又爽又刺激的高潮视频| 青草精品视频| 日韩一区二区三免费高清| 欧美精品色视频| 亚洲精品无码不卡在线播放|