亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Flex與J2EE的整合應(yīng)用

        2010-06-13 02:11:00趙中樞
        科技傳播 2010年19期
        關(guān)鍵詞:表示層數(shù)據(jù)服務(wù)服務(wù)器端

        趙中樞

        遼寧對(duì)外經(jīng)貿(mào)學(xué)院 信息技術(shù)系,遼寧大連 116052

        基于Flex與J2EE的整合應(yīng)用

        趙中樞

        遼寧對(duì)外經(jīng)貿(mào)學(xué)院 信息技術(shù)系,遼寧大連 116052

        Flex作為一種RIA技術(shù),與企業(yè)級(jí)開(kāi)發(fā)技術(shù)緊密聯(lián)系,開(kāi)發(fā)完整的Flex系統(tǒng)可能會(huì)整合如Struts、Spring、Hibernate等技術(shù)。本文主要探討了Flex和J2ee技術(shù)整合的有效性和實(shí)用性,提出了企業(yè)應(yīng)用的整合方案。

        RIA;Flex;j2ee

        0 引言

        傳統(tǒng)的Web開(kāi)發(fā),在表示層受到非常大的約束?;赗IA的Flex技術(shù)不僅輕松解決了所有表示層的技術(shù)問(wèn)題,讓客戶感受前所未有的Web應(yīng)用體驗(yàn),更主要的是,基于純面向?qū)ο蠛徒M件的架構(gòu),讓B/S結(jié)構(gòu)表示層的開(kāi)發(fā),層次分明、結(jié)構(gòu)完整協(xié)調(diào)。

        Flex技術(shù)并不需要替換掉現(xiàn)有的體系結(jié)構(gòu)模型[1],如JavaEE、.NET架構(gòu)等。通??梢院推髽I(yè)級(jí)應(yīng)用體系結(jié)構(gòu)很好地進(jìn)行整合。將原有的系統(tǒng)構(gòu)建成更易用、更直觀、更迅速的“網(wǎng)頁(yè)應(yīng)用程序”。在不會(huì)影響到原有應(yīng)用的前提下,對(duì)表現(xiàn)層進(jìn)行了大幅度的增強(qiáng),進(jìn)一步提升界面的友好程度,并且減少了用戶與系統(tǒng)的遠(yuǎn)程交互頻率,減少了帶寬需求。

        1 Flex技術(shù)

        1.1 Flex技術(shù)簡(jiǎn)介

        Flex是排版打印軟件和圖形渲染軟件巨頭Adobe公司在其著名的Flash平臺(tái)(Flash Player)上,用ActionScript語(yǔ)言開(kāi)發(fā)的一套R(shí)IA軟件開(kāi)發(fā)套件(SDK)及其集成開(kāi)發(fā)環(huán)境。

        Flex SDK由Flex框架類(lèi)庫(kù)、Flex編譯器、調(diào)試器、MXML和ActionScript編程語(yǔ)言以及其他工具組成。Flash Builder則是其集成開(kāi)發(fā)環(huán)境,F(xiàn)lash Builder構(gòu)建在開(kāi)源集成開(kāi)發(fā)環(huán)境Eclipse之上,目前版本是Flash Builder 4。利用Flash Builder,開(kāi)發(fā)者可以通過(guò)拖拽的方式開(kāi)發(fā)人機(jī)界面,用ActionScript 3語(yǔ)言編寫(xiě)代碼,調(diào)用Flash及Flex SDK所提供的API進(jìn)行RIA開(kāi)發(fā),然后用Flash Builder編譯器進(jìn)行編譯,編譯后的產(chǎn)品可以運(yùn)行在Flash虛擬機(jī)中,同時(shí)Flash Builder集成了調(diào)試工具和性能查看工具,可以跟蹤ActionScript代碼的執(zhí)行和觀察內(nèi)存變化。

        1.2 Flex程序運(yùn)行機(jī)制

        在設(shè)計(jì)階段,開(kāi)發(fā)人員將通過(guò)開(kāi)發(fā)工具(如Eclipse或Flex Builder)進(jìn)行表現(xiàn)頁(yè)面MXML與ActionScript代碼的編寫(xiě),其中MXML主要負(fù)責(zé)頁(yè)面的顯示功能,ActionScript負(fù)責(zé)部分業(yè)務(wù)和數(shù)據(jù)服務(wù)的交互功能。在編譯階段,所有與Flex應(yīng)用程序有關(guān)的組件,包括MXML,ActionScript,CSS樣式表[2],以及圖像資源,最終被編譯并合并成SWF文件,使之能運(yùn)行于Flash Player中。在運(yùn)行階段,F(xiàn)lex應(yīng)用程序?qū)⒏鶕?jù)需要同外部的資源,服務(wù)及數(shù)據(jù)源進(jìn)行交互。

        Flex應(yīng)用程序以一種及時(shí)模型進(jìn)行編譯,不會(huì)產(chǎn)生任何用戶體驗(yàn)的中斷。Flex應(yīng)用程序在首次引用時(shí)進(jìn)行編譯,然后緩存起來(lái)供以后調(diào)用;如果任何有關(guān)文件進(jìn)行了更新,F(xiàn)lex應(yīng)用程序也會(huì)隨之自動(dòng)重新編譯。

        標(biāo)準(zhǔn)的Flex應(yīng)用程序并不要求服務(wù)器端的Flex服務(wù),可以在本地編譯它們并直接部署在Web服務(wù)器的HMTL頁(yè)面上。Flex應(yīng)用程序還可以部署在應(yīng)用服務(wù)器,使用Adobe公司的LiveCycle ES2,ColdFusion Flash遠(yuǎn)程服務(wù)或者是J2EE服務(wù)。

        2 J2EE框架技術(shù)

        在企業(yè)的應(yīng)用中主要分為3個(gè)層次, Struts 用于展現(xiàn)層,Spring 用于領(lǐng)域?qū)樱?Hibernate 用于數(shù)據(jù)源層[3]。

        展現(xiàn)層(Struts)為應(yīng)用設(shè)計(jì)業(yè)務(wù)邏輯處理程序。Struts框架中的控制器是一個(gè)ActionServlet實(shí)例,一般不需要開(kāi)發(fā)者自己定義或修改控制器,但是必須設(shè)計(jì)業(yè)務(wù)處理邏輯,控制器會(huì)將相應(yīng)的請(qǐng)求映射到這些處理程序中(Action),相應(yīng)的配置也在Strutsconfig.xml中。

        領(lǐng)域?qū)樱⊿pring)負(fù)責(zé)處理應(yīng)用程序的業(yè)務(wù)邏輯和業(yè)務(wù)校驗(yàn),管理事務(wù),管理業(yè)務(wù)層級(jí)別的對(duì)象的依賴(lài)。Spring提供了管理業(yè)務(wù)對(duì)象的一致方法并且鼓勵(lì)了注入對(duì)接口編程而不是對(duì)類(lèi)編程的良好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用JavaBean屬性的Inversion of Control容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構(gòu)建完關(guān)注所有架構(gòu)層的完整解決方案方面是獨(dú)一無(wú)二的。 Spring提供了唯一的數(shù)據(jù)訪問(wèn)抽象,包括簡(jiǎn)單和有效率的JDBC框架,極大的改進(jìn)了效率并且減少了可能的錯(cuò)誤。Spring的數(shù)據(jù)訪問(wèn)架構(gòu)還集成了Hibernate和其他O/R mapping解決方案[4]。

        數(shù)據(jù)源層(Hibernate)對(duì)JDBC進(jìn)行了非常輕量級(jí)的對(duì)象封裝,使得Java程序員可以隨心所欲的使用對(duì)象編程思維來(lái)操縱數(shù)據(jù)庫(kù)。 Hibernate可以應(yīng)用在任何使用JDBC的場(chǎng)合,既可以在Java的客戶端程序?qū)嵱茫部梢栽赟ervlet/JSP的Web應(yīng)用中使用,最具革命意義的是,Hibernate可以在應(yīng)用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。

        3 Flex技術(shù)與J2EE的集成應(yīng)用

        3.1 Flex技術(shù)與J2EE集成的架構(gòu)

        Flex在J2EE體系架構(gòu)中加入了新的功能,如圖顯示了應(yīng)用Flex以后的J2EE層次結(jié)構(gòu)。在Flex應(yīng)用程序中,客戶端程序和表示層的邏輯處理程序能夠同時(shí)運(yùn)行在客戶機(jī)的由Flash Player提供的平臺(tái)上。Flex應(yīng)用程序通過(guò)Flash Player處理用戶交互,數(shù)據(jù)的校驗(yàn),HTTP、SOAP和AMF的數(shù)據(jù)請(qǐng)求,以及其它一些原本在服務(wù)器上執(zhí)行的操作。因?yàn)镕lash Player在各個(gè)主要的操作系統(tǒng)和瀏覽器上都始終如一地運(yùn)行,開(kāi)發(fā)者不必?fù)?dān)心Flex應(yīng)用程序是否會(huì)在某個(gè)特定瀏覽器或操作系統(tǒng)上無(wú)法正常工作[5]。

        Flex技術(shù)與J2EE集成的架構(gòu)

        3.2 Flex的數(shù)據(jù)服務(wù)

        Flex技術(shù)同J2EE的集成時(shí),使用了Adobe公司的產(chǎn)品——Flex數(shù)據(jù)服務(wù)(LiveCycle Data Services,簡(jiǎn)稱(chēng)LCDS),LCDS是Flex的服務(wù)器端組件,必須將其安裝在Java 2企業(yè)級(jí)版本(Java2 Enterprise Edition,J2EE)服務(wù)器中。LCDS由4個(gè)組件組成,包括:Flex消息服務(wù)(Flex Messaging Services,F(xiàn)MS)、發(fā)布-訂閱消息(Publish-Subscribe messaging)、數(shù)據(jù)推送(Data push)、RPC服務(wù)。利用LCDS中這些組件,能夠?qū)崿F(xiàn)一系列強(qiáng)大的服務(wù)器端數(shù)據(jù)管理功能,使開(kāi)發(fā)人員能夠快速實(shí)現(xiàn)數(shù)據(jù)密集型Flex應(yīng)用程序。

        將LCDS部署為標(biāo)準(zhǔn)Web J2EE應(yīng)用程序,其基于強(qiáng)大的消息體系結(jié)構(gòu),與現(xiàn)有的基于標(biāo)準(zhǔn)的中間設(shè)備相集成,提供客戶和服務(wù)器之間的數(shù)據(jù)自動(dòng)同步服務(wù),增加對(duì)實(shí)時(shí)數(shù)據(jù)推送和發(fā)布/訂閱消息的支持,并實(shí)現(xiàn)應(yīng)用程序的協(xié)作和偶爾連接。

        LCDS運(yùn)行在J2EE平臺(tái)上或Servlet容器內(nèi),與Flex客戶端程序交互并從J2EE服務(wù)器獲得其它功能支持。在表示層上應(yīng)用Flex技術(shù)不需要改動(dòng)業(yè)務(wù)邏輯層和綜合層,可以重用原有網(wǎng)絡(luò)應(yīng)用程序中的業(yè)務(wù)邏輯層和綜合層代碼。

        Flex提供了多種方法與其它J2EE組件進(jìn)行交互,主要有HTTP通信、Web service通信,以及由AMF網(wǎng)關(guān)通信(Action Script Messaging Format)。AMF網(wǎng)關(guān)是一種類(lèi)似與Flash Remoting的高性能二進(jìn)制協(xié)議,遠(yuǎn)程對(duì)象能夠通過(guò)AMF網(wǎng)關(guān)傳遞到客戶端的Flex應(yīng)用程序上。

        3.2 .1 Flex與展現(xiàn)層的整合

        Flex的請(qǐng)求會(huì)先被發(fā)送到Struts框架,由Struts轉(zhuǎn)發(fā)Flex的請(qǐng)求到其它層。模型中Flex通過(guò)HttpService組件發(fā)送和接收HTTP請(qǐng)求,數(shù)據(jù)通常是XML格式的。

        這種模型的優(yōu)點(diǎn)是可以很快、很方便的將Flex整合到已有的J2EE框架中而不影響原有的框架結(jié)構(gòu),但Flex依賴(lài)與視圖層Struts,會(huì)造成系統(tǒng)維護(hù)和擴(kuò)展的困難。Flex與視圖層Struts整合而不是替代視圖層Struts,適用于將Flex應(yīng)用于已有的J2EE應(yīng)用中,作為視圖層的組件。

        3.2 .2 Flex與領(lǐng)域?qū)拥恼?/p>

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

        3.2 .3 Flex與數(shù)據(jù)源層的整合

        通常J2EE應(yīng)用中視圖層并不直接訪問(wèn)持久層。在使用Flex時(shí)不應(yīng)該改變這個(gè)體系結(jié)構(gòu),業(yè)務(wù)層將代替和持久層的通信。在AMF gateway環(huán)境下使用 Hibernate和遠(yuǎn)程對(duì)象時(shí),不能訪問(wèn)一個(gè)不含有已初始化Hibernate會(huì)話對(duì)象的集合,訪問(wèn)一個(gè)沒(méi)有被初始化的動(dòng)態(tài)代理對(duì)象的集合會(huì)導(dǎo)致運(yùn)行時(shí)錯(cuò)誤。AMF網(wǎng)關(guān)不知道如何特定的去尋找Hibernate動(dòng)態(tài)代理對(duì)象,可以用面向方面的編程(AOP)如 JBoss AOP,AspectJ,Spring AOP 等,將一個(gè)即將傳送AMF網(wǎng)關(guān)的對(duì)象作為委托對(duì)象,移除動(dòng)態(tài)代理。

        4 結(jié)論

        用Flex技術(shù)在客戶端設(shè)計(jì)極具視覺(jué)體驗(yàn)和動(dòng)態(tài)人機(jī)交互的圖形用戶界面,用J2EE技術(shù)在服務(wù)器端實(shí)現(xiàn)復(fù)雜的事務(wù)邏輯,再通過(guò)Flex客戶端豐富的數(shù)據(jù)服務(wù)組件與J2EE服務(wù)器端應(yīng)用進(jìn)行數(shù)據(jù)交互和數(shù)據(jù)綁定,從而實(shí)現(xiàn)性能優(yōu)越的RIA應(yīng)用系統(tǒng),使Flex在客戶端的優(yōu)勢(shì)與J2EE在服務(wù)器端的高效得到完美的結(jié)合。

        [1]蘭天,曲鵬東編著.Flex企業(yè)應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)[M],2010.

        [2]楊占波,揚(yáng)銘,翁穎編著.Flex 3 RIA開(kāi)發(fā)詳解與精深實(shí) 踐[M],2009.

        [3]秦京渝,編著.企業(yè)級(jí)Java開(kāi)發(fā)與架構(gòu)[M],2008.

        [4]袁華強(qiáng),王亞強(qiáng),朱君.利用J2EE輕量級(jí)框架構(gòu)建Web應(yīng)用 研究[J].計(jì)算機(jī)工程與設(shè),2007,1(1),22-23.

        [5]拓守恒.基于Flex和J2EE多層架構(gòu)的RIA教學(xué)質(zhì)量評(píng)價(jià)系統(tǒng) 的研究與實(shí)現(xiàn)[D].電子科技大學(xué),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

        趙中樞,講師,工作單位:遼寧對(duì)外經(jīng)貿(mào)學(xué)院信息技術(shù)系,研究方向:多媒體技術(shù)、網(wǎng)站開(kāi)發(fā)、動(dòng)漫設(shè)計(jì)

        猜你喜歡
        表示層數(shù)據(jù)服務(wù)服務(wù)器端
        地理空間大數(shù)據(jù)服務(wù)自然資源調(diào)查監(jiān)測(cè)的方向分析
        基于Spring的企業(yè)級(jí)Web項(xiàng)目架構(gòu)設(shè)計(jì)研究
        軟件(2019年6期)2019-10-08 06:27:21
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        如何運(yùn)用稅收大數(shù)據(jù)服務(wù)供給側(cè)結(jié)構(gòu)性改革
        基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
        ASP.NET三層構(gòu)架解析
        基于SSH框架科研管理系統(tǒng)的設(shè)計(jì)
        在Windows中安裝OpenVPN
        一種基于數(shù)據(jù)服務(wù)超鏈進(jìn)行情景數(shù)據(jù)集成的方法*
        ASP.NET三層架構(gòu)體系間數(shù)據(jù)傳遞
        電腦迷(2013年9期)2013-04-29 00:44:03
        日韩一级特黄毛片在线看| 国产精品自在拍在线播放| 18无码粉嫩小泬无套在线观看| 久久香蕉成人免费大片| 日本特黄a级高清免费大片| 中日无码精品一区二区三区| 中文字幕 在线一区二区| 免费观看国产激情视频在线观看| 男人的天堂手机版av| 国产av一级二级三级| 日韩人妻中文字幕高清在线| 中文字幕av伊人av无码av| 亚洲成av人的天堂在线观看| 欧美在线 | 亚洲| 中字幕久久久人妻熟女| 欧美 亚洲 国产 日韩 综AⅤ| 亚洲中文字幕无线乱码va | 久久久av精品波多野结衣| 国产熟妇搡bbbb搡bbbb搡| 色窝窝无码一区二区三区2022| 老肥熟女老女人野外免费区| 日产一区二区三区的精品| 免费一级淫片日本高清 | 又长又大又粗又硬3p免费视频 | 午夜av内射一区二区三区红桃视 | 日韩中文字幕素人水野一区 | 国产丝袜美腿一区二区三区| 国模冰莲极品自慰人体| 中国熟妇人妻xxxxx| 国内精品一区视频在线播放| 亚洲色婷婷综合开心网| 色偷偷亚洲精品一区二区| 国产人妻熟女高跟丝袜| 天堂aⅴ无码一区二区三区| 香蕉视频一级片| 中文字幕国产精品专区| 国精产品一区一区二区三区mba| 欧美又大又色又爽aaaa片 | 国产乱沈阳女人高潮乱叫老| 中文字幕无码免费久久9一区9| 久久亚洲精精品中文字幕早川悠里|