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

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

主站蜘蛛池模板: 超碰91免费人妻| 国产成人精品男人的天堂下载| 国产精品久线在线观看| 2022精品国偷自产免费观看| 国产乱肥老妇精品视频| 刘亦菲一区二区在线观看| 欧美福利在线| 一区二区日韩国产精久久| 青青操国产| 天天综合天天综合| 色噜噜在线观看| 国产精品久久久免费视频| 国产精品自拍露脸视频| 亚洲精品自拍区在线观看| 午夜综合网| 97超级碰碰碰碰精品| 全免费a级毛片免费看不卡| 91国内外精品自在线播放| 国产精品福利一区二区久久| 中国国产一级毛片| 在线观看国产精品一区| 五月婷婷综合在线视频| 欧美日韩动态图| 99久久国产综合精品2020| 国产精品久久久久婷婷五月| 无码一区18禁| 色有码无码视频| 国内老司机精品视频在线播出| 亚洲三级网站| 亚洲第一成人在线| 欧美色视频在线| 久久毛片网| 人人91人人澡人人妻人人爽| 亚洲区视频在线观看| 久久久久人妻一区精品色奶水| 日本黄色不卡视频| 久久99热这里只有精品免费看| 日韩一级二级三级| 亚洲av无码成人专区| 日本伊人色综合网| 午夜福利视频一区| 成人精品在线观看| 中国毛片网| 亚洲二三区| 毛片免费在线视频| 日韩无码黄色| 国产91特黄特色A级毛片| 亚洲一区二区三区中文字幕5566| 都市激情亚洲综合久久| 久久国产精品嫖妓| 欧美第九页| 国产成人精品无码一区二 | 97综合久久| 超薄丝袜足j国产在线视频| 久久综合色视频| 亚洲不卡影院| 国产成人艳妇AA视频在线| 人妻丰满熟妇αv无码| 蜜桃视频一区| 久久久久青草大香线综合精品| 亚洲国产欧美国产综合久久| 久久综合AV免费观看| 亚洲无码视频一区二区三区 | 国产丰满成熟女性性满足视频| 无码国产偷倩在线播放老年人 | 精品第一国产综合精品Aⅴ| 久久国产亚洲欧美日韩精品| 国产亚卅精品无码| 国产一区二区三区在线观看视频 | 理论片一区| 国产精品xxx| 亚洲精品大秀视频| 成年人国产视频| 国产精品久线在线观看| 亚洲成在线观看 | 欧美日韩中文国产| 色婷婷电影网| 99国产精品免费观看视频| 999福利激情视频| 久久国产高清视频| 亚洲成人精品| 欧美精品亚洲精品日韩专|