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

基于Flex與J2EE的整合應用

2010-06-13 02:11:00趙中樞
科技傳播 2010年19期

趙中樞

遼寧對外經貿學院 信息技術系,遼寧大連 116052

基于Flex與J2EE的整合應用

趙中樞

遼寧對外經貿學院 信息技術系,遼寧大連 116052

Flex作為一種RIA技術,與企業級開發技術緊密聯系,開發完整的Flex系統可能會整合如Struts、Spring、Hibernate等技術。本文主要探討了Flex和J2ee技術整合的有效性和實用性,提出了企業應用的整合方案。

RIA;Flex;j2ee

0 引言

傳統的Web開發,在表示層受到非常大的約束。基于RIA的Flex技術不僅輕松解決了所有表示層的技術問題,讓客戶感受前所未有的Web應用體驗,更主要的是,基于純面向對象和組件的架構,讓B/S結構表示層的開發,層次分明、結構完整協調。

Flex技術并不需要替換掉現有的體系結構模型[1],如JavaEE、.NET架構等。通常可以和企業級應用體系結構很好地進行整合。將原有的系統構建成更易用、更直觀、更迅速的“網頁應用程序”。在不會影響到原有應用的前提下,對表現層進行了大幅度的增強,進一步提升界面的友好程度,并且減少了用戶與系統的遠程交互頻率,減少了帶寬需求。

1 Flex技術

1.1 Flex技術簡介

Flex是排版打印軟件和圖形渲染軟件巨頭Adobe公司在其著名的Flash平臺(Flash Player)上,用ActionScript語言開發的一套RIA軟件開發套件(SDK)及其集成開發環境。

Flex SDK由Flex框架類庫、Flex編譯器、調試器、MXML和ActionScript編程語言以及其他工具組成。Flash Builder則是其集成開發環境,Flash Builder構建在開源集成開發環境Eclipse之上,目前版本是Flash Builder 4。利用Flash Builder,開發者可以通過拖拽的方式開發人機界面,用ActionScript 3語言編寫代碼,調用Flash及Flex SDK所提供的API進行RIA開發,然后用Flash Builder編譯器進行編譯,編譯后的產品可以運行在Flash虛擬機中,同時Flash Builder集成了調試工具和性能查看工具,可以跟蹤ActionScript代碼的執行和觀察內存變化。

1.2 Flex程序運行機制

在設計階段,開發人員將通過開發工具(如Eclipse或Flex Builder)進行表現頁面MXML與ActionScript代碼的編寫,其中MXML主要負責頁面的顯示功能,ActionScript負責部分業務和數據服務的交互功能。在編譯階段,所有與Flex應用程序有關的組件,包括MXML,ActionScript,CSS樣式表[2],以及圖像資源,最終被編譯并合并成SWF文件,使之能運行于Flash Player中。在運行階段,Flex應用程序將根據需要同外部的資源,服務及數據源進行交互。

Flex應用程序以一種及時模型進行編譯,不會產生任何用戶體驗的中斷。Flex應用程序在首次引用時進行編譯,然后緩存起來供以后調用;如果任何有關文件進行了更新,Flex應用程序也會隨之自動重新編譯。

標準的Flex應用程序并不要求服務器端的Flex服務,可以在本地編譯它們并直接部署在Web服務器的HMTL頁面上。Flex應用程序還可以部署在應用服務器,使用Adobe公司的LiveCycle ES2,ColdFusion Flash遠程服務或者是J2EE服務。

2 J2EE框架技術

在企業的應用中主要分為3個層次, Struts 用于展現層,Spring 用于領域層, Hibernate 用于數據源層[3]。

展現層(Struts)為應用設計業務邏輯處理程序。Struts框架中的控制器是一個ActionServlet實例,一般不需要開發者自己定義或修改控制器,但是必須設計業務處理邏輯,控制器會將相應的請求映射到這些處理程序中(Action),相應的配置也在Strutsconfig.xml中。

領域層(Spring)負責處理應用程序的業務邏輯和業務校驗,管理事務,管理業務層級別的對象的依賴。Spring提供了管理業務對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習慣。Spring的架構基礎是基于使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構建完關注所有架構層的完整解決方案方面是獨一無二的。 Spring提供了唯一的數據訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率并且減少了可能的錯誤。Spring的數據訪問架構還集成了Hibernate和其他O/R mapping解決方案[4]。

數據源層(Hibernate)對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數據庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序實用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構中取代CMP,完成數據持久化的重任。

3 Flex技術與J2EE的集成應用

3.1 Flex技術與J2EE集成的架構

Flex在J2EE體系架構中加入了新的功能,如圖顯示了應用Flex以后的J2EE層次結構。在Flex應用程序中,客戶端程序和表示層的邏輯處理程序能夠同時運行在客戶機的由Flash Player提供的平臺上。Flex應用程序通過Flash Player處理用戶交互,數據的校驗,HTTP、SOAP和AMF的數據請求,以及其它一些原本在服務器上執行的操作。因為Flash Player在各個主要的操作系統和瀏覽器上都始終如一地運行,開發者不必擔心Flex應用程序是否會在某個特定瀏覽器或操作系統上無法正常工作[5]。

Flex技術與J2EE集成的架構

3.2 Flex的數據服務

Flex技術同J2EE的集成時,使用了Adobe公司的產品——Flex數據服務(LiveCycle Data Services,簡稱LCDS),LCDS是Flex的服務器端組件,必須將其安裝在Java 2企業級版本(Java2 Enterprise Edition,J2EE)服務器中。LCDS由4個組件組成,包括:Flex消息服務(Flex Messaging Services,FMS)、發布-訂閱消息(Publish-Subscribe messaging)、數據推送(Data push)、RPC服務。利用LCDS中這些組件,能夠實現一系列強大的服務器端數據管理功能,使開發人員能夠快速實現數據密集型Flex應用程序。

將LCDS部署為標準Web J2EE應用程序,其基于強大的消息體系結構,與現有的基于標準的中間設備相集成,提供客戶和服務器之間的數據自動同步服務,增加對實時數據推送和發布/訂閱消息的支持,并實現應用程序的協作和偶爾連接。

LCDS運行在J2EE平臺上或Servlet容器內,與Flex客戶端程序交互并從J2EE服務器獲得其它功能支持。在表示層上應用Flex技術不需要改動業務邏輯層和綜合層,可以重用原有網絡應用程序中的業務邏輯層和綜合層代碼。

Flex提供了多種方法與其它J2EE組件進行交互,主要有HTTP通信、Web service通信,以及由AMF網關通信(Action Script Messaging Format)。AMF網關是一種類似與Flash Remoting的高性能二進制協議,遠程對象能夠通過AMF網關傳遞到客戶端的Flex應用程序上。

3.2 .1 Flex與展現層的整合

Flex的請求會先被發送到Struts框架,由Struts轉發Flex的請求到其它層。模型中Flex通過HttpService組件發送和接收HTTP請求,數據通常是XML格式的。

這種模型的優點是可以很快、很方便的將Flex整合到已有的J2EE框架中而不影響原有的框架結構,但Flex依賴與視圖層Struts,會造成系統維護和擴展的困難。Flex與視圖層Struts整合而不是替代視圖層Struts,適用于將Flex應用于已有的J2EE應用中,作為視圖層的組件。

3.2 .2 Flex與領域層的整合

在Spring反轉控制背后的想法是讓容器實例化組件(并且注入他們的依賴)。然而,默認的服務器端Flex destination實例化Flex客戶端遠程訪問的組件。Flex/Spring整合的關鍵之處是配置Flex destination來讓Spring容器負責實例化Spring beans。Flex數據服務(Data Services)支持工廠的概念,使之可以自定義組件的安裝類型。工廠的角色僅僅是為Flex destination提供即用的組件實例(而不是讓Flex destination實例它自己的組件)。

3.2 .3 Flex與數據源層的整合

通常J2EE應用中視圖層并不直接訪問持久層。在使用Flex時不應該改變這個體系結構,業務層將代替和持久層的通信。在AMF gateway環境下使用 Hibernate和遠程對象時,不能訪問一個不含有已初始化Hibernate會話對象的集合,訪問一個沒有被初始化的動態代理對象的集合會導致運行時錯誤。AMF網關不知道如何特定的去尋找Hibernate動態代理對象,可以用面向方面的編程(AOP)如 JBoss AOP,AspectJ,Spring AOP 等,將一個即將傳送AMF網關的對象作為委托對象,移除動態代理。

4 結論

用Flex技術在客戶端設計極具視覺體驗和動態人機交互的圖形用戶界面,用J2EE技術在服務器端實現復雜的事務邏輯,再通過Flex客戶端豐富的數據服務組件與J2EE服務器端應用進行數據交互和數據綁定,從而實現性能優越的RIA應用系統,使Flex在客戶端的優勢與J2EE在服務器端的高效得到完美的結合。

[1]蘭天,曲鵬東編著.Flex企業應用開發實戰[M],2010.

[2]楊占波,揚銘,翁穎編著.Flex 3 RIA開發詳解與精深實 踐[M],2009.

[3]秦京渝,編著.企業級Java開發與架構[M],2008.

[4]袁華強,王亞強,朱君.利用J2EE輕量級框架構建Web應用 研究[J].計算機工程與設,2007,1(1),22-23.

[5]拓守恒.基于Flex和J2EE多層架構的RIA教學質量評價系統 的研究與實現[D].電子科技大學,2008-10-01.

Application of Flex and J2EE

ZHAO Zhongshu

Flex as a RIA technology,is closely connected to enterprise development technologies.A fully-developed Flex system can integrate technologies like Struts、Spring、Hibernate.The article mainly discusses the availability and practicality of the intergration of Flex,j2EE,and puts forward the integration scheme of applying it in the enterprises.

RIA;Flex;j2ee

TP393

A

1674-6708(2010)28-0118-02

趙中樞,講師,工作單位:遼寧對外經貿學院信息技術系,研究方向:多媒體技術、網站開發、動漫設計

主站蜘蛛池模板: 精品人妻一区无码视频| 国产午夜精品鲁丝片| 三级毛片在线播放| 亚洲精品男人天堂| 先锋资源久久| 在线免费亚洲无码视频| 毛片a级毛片免费观看免下载| 亚洲无码视频一区二区三区| 国产尤物视频网址导航| 国产成人综合久久| 国产a v无码专区亚洲av| 精品国产99久久| 久久这里只有精品8| 亚洲综合经典在线一区二区| 在线观看免费国产| 日韩午夜福利在线观看| 亚洲一区二区日韩欧美gif| 久久五月视频| 国产在线观看91精品亚瑟| 日本少妇又色又爽又高潮| 无码免费的亚洲视频| 精品撒尿视频一区二区三区| 亚洲色成人www在线观看| 丰满人妻中出白浆| 亚洲国产成人麻豆精品| 国产屁屁影院| 国产美女自慰在线观看| 亚洲永久免费网站| 欧美a级完整在线观看| 亚洲一区二区黄色| 国产亚洲精品资源在线26u| 一本大道香蕉中文日本不卡高清二区| 亚卅精品无码久久毛片乌克兰| 中国精品久久| 亚洲国产日韩在线观看| 欧美一级一级做性视频| 中文成人无码国产亚洲| 亚洲欧美另类视频| 精品久久国产综合精麻豆| 国产成人久久综合一区| 无码在线激情片| 亚洲一区波多野结衣二区三区| 91人人妻人人做人人爽男同| 波多野一区| v天堂中文在线| 五月婷婷激情四射| 一级全黄毛片| 精品国产三级在线观看| 国产成人超碰无码| 国产亚洲美日韩AV中文字幕无码成人 | A级毛片高清免费视频就| 国产又色又刺激高潮免费看| 国产在线自乱拍播放| 国产美女在线观看| 色婷婷综合激情视频免费看| 狠狠干综合| 国产真实二区一区在线亚洲 | 黄色国产在线| 久久久久亚洲AV成人网站软件| 欧美一级爱操视频| 国产手机在线ΑⅤ片无码观看| 国产黑丝一区| a级毛片毛片免费观看久潮| 亚洲国产欧美目韩成人综合| 国产不卡在线看| a级高清毛片| 91精品免费高清在线| 久久男人资源站| 婷婷综合在线观看丁香| 超碰精品无码一区二区| 91探花在线观看国产最新| 亚洲男人的天堂视频| 国产乱人伦精品一区二区| 亚洲最猛黑人xxxx黑人猛交| 看你懂的巨臀中文字幕一区二区| 亚洲欧美精品一中文字幕| a级毛片免费网站| 日本人真淫视频一区二区三区| 亚洲午夜福利在线| a免费毛片在线播放| 九色视频最新网址 | 日韩无码一二三区|