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

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

主站蜘蛛池模板: 久久伊人久久亚洲综合| 伦伦影院精品一区| 女人18毛片水真多国产| 2021天堂在线亚洲精品专区| 国精品91人妻无码一区二区三区| 成人伊人色一区二区三区| 成人免费视频一区二区三区| 亚洲一区二区约美女探花| 亚洲色无码专线精品观看| 伊人中文网| 中文字幕无码制服中字| 精品亚洲国产成人AV| 激情国产精品一区| 刘亦菲一区二区在线观看| 伊人狠狠丁香婷婷综合色| 72种姿势欧美久久久大黄蕉| 五月婷婷精品| www.99在线观看| 亚洲欧洲日韩国产综合在线二区| 久久一色本道亚洲| 国产在线无码av完整版在线观看| 国产在线97| 色播五月婷婷| 色网站免费在线观看| 欧美日韩国产成人高清视频| 久久大香香蕉国产免费网站| 欲色天天综合网| 日韩A∨精品日韩精品无码| 丁香六月激情综合| 欧美三级不卡在线观看视频| 亚洲综合色婷婷| 国产三级精品三级在线观看| 中文字幕亚洲专区第19页| 99久久精品无码专区免费| 国产精品人成在线播放| 91色综合综合热五月激情| 午夜老司机永久免费看片| 欧美在线导航| 狠狠v日韩v欧美v| 尤物精品视频一区二区三区| 伊大人香蕉久久网欧美| 国产女人爽到高潮的免费视频 | 国产成人综合亚洲欧美在| 99r在线精品视频在线播放| 在线观看免费AV网| www.亚洲一区| 天天色综合4| 日本色综合网| 无码在线激情片| 日韩高清中文字幕| 国产亚洲精久久久久久久91| 中国精品自拍| 国产在线一区二区视频| 香蕉精品在线| 欧美性久久久久| 毛片在线看网站| 午夜免费视频网站| 在线欧美日韩国产| 国产精品区网红主播在线观看| 午夜小视频在线| 亚洲欧美自拍中文| 精品少妇人妻av无码久久| 天堂成人av| 一区二区三区成人| 亚洲制服丝袜第一页| 国产乱子伦无码精品小说| 尤物国产在线| 亚洲高清在线播放| 成年av福利永久免费观看| 国产婬乱a一级毛片多女| 国产白浆在线观看| 亚洲中文无码av永久伊人| 国产欧美日韩va另类在线播放| 永久免费无码成人网站| 亚洲综合片| 国产69精品久久久久孕妇大杂乱 | 国产99视频精品免费观看9e| 国产精品成人一区二区| 波多野结衣第一页| 日本午夜视频在线观看| 亚洲国产精品无码久久一线| 女人一级毛片|