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

        ?

        基于RCP的可擴(kuò)展性應(yīng)用平臺(tái)研究與實(shí)現(xiàn)

        2012-12-31 00:00:00黃德瑞王秋海

        摘要:RCP (Rich Client Platform)是基于Eclipse開(kāi)發(fā)平臺(tái)而推出的一套用來(lái)開(kāi)發(fā)富客戶端程序的應(yīng)用框架。傳統(tǒng)B/S架構(gòu)雖然在其程序部署,版本控制等方面有很大的優(yōu)勢(shì),但是C/S也具備其獨(dú)特的優(yōu)勢(shì)比如離線處理能力,低服務(wù)器負(fù)載等等。本文回顧了Eclipse以及RCP程序的特點(diǎn),同時(shí)對(duì)比了基于B/S應(yīng)用的特點(diǎn)。本研究結(jié)合Eclipse平臺(tái)的特點(diǎn)提出一種應(yīng)用于快速開(kāi)發(fā)應(yīng)用的可拓展性平臺(tái)。

        關(guān)鍵詞:Eclipse;RCP

        中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9599 (2012) 23-0000-03

        1 Eclipse RCP

        Eclipse RCP屬于富客戶端解決方案。富客戶端(Rich Client)的概念產(chǎn)生于20世紀(jì)90年代,具有代表性的開(kāi)發(fā)工具如Visual Basic和Delphi等。富客戶端能夠支持更高用戶使用體驗(yàn)同時(shí)提供本地處理能力。富用戶接口(Rich UI)能夠提供諸如拖放、系統(tǒng)剪切板、系統(tǒng)導(dǎo)航等等功能。于此對(duì)應(yīng)的瘦客戶端則指的是系統(tǒng)終端程序,現(xiàn)在大部分瘦客戶端程序已經(jīng)被富客戶端取代。于此同時(shí),用戶接觸更多的則是C/S和B/S系統(tǒng)架構(gòu)的概念。一個(gè)富客戶端程序往往是基于C/S架構(gòu)的。

        Eclipse RCP具有以下特點(diǎn):

        (1)組件化。Eclipse框架本身就是基于插件的。這些插件可以是可視的插件,并且可以被其他的插件訪問(wèn)。不同版本的相同插件可以并存,Eclipse RCP程序可以指定運(yùn)行所需插件的特定版本號(hào)。應(yīng)用這樣的框架,RCP程序可以隨時(shí)的增加或者替換組建。這對(duì)于程序的部署而言提供了極大的便利。

        (2)Eclipse中間件與Eclipse RCP基礎(chǔ)設(shè)施。進(jìn)行Eclipse RCP開(kāi)發(fā)并不要求開(kāi)發(fā)人員開(kāi)發(fā)所有的東西,開(kāi)發(fā)人員可以將精力集中在業(yè)務(wù)邏輯上,Eclipse RCP開(kāi)發(fā)套件提供了諸如用戶接口支持(UI),可擴(kuò)展的組建系統(tǒng),幫助系統(tǒng),網(wǎng)絡(luò)更新系統(tǒng),錯(cuò)誤處理,日志等等。

        (3)本地程序外觀。Java本身提供的窗口API所開(kāi)發(fā)出來(lái)的窗口程序往往不能令人滿意。用戶往往習(xí)慣了長(zhǎng)期使用的操作系統(tǒng)的用戶界面。Eclipse通過(guò)SWT/JFace技術(shù),是的用戶Java開(kāi)發(fā)的程序可以有和本地操作系統(tǒng)一樣的風(fēng)格。

        (4)離線處理能力。B/S結(jié)構(gòu)的程序往往不能提供離線處理能力,這也是富客戶端程序的優(yōu)勢(shì)所在。提供離線處理能力或者本地處理能力除了能夠使某些業(yè)務(wù)在網(wǎng)絡(luò)中斷的情況下繼續(xù)執(zhí)行意外,還可以減輕服務(wù)器的處理負(fù)擔(dān),因?yàn)樵S多數(shù)據(jù)可以由本地提供的功能進(jìn)行加工。

        2 可擴(kuò)展性RCP平臺(tái)概述

        可擴(kuò)展性RCP平臺(tái)旨在節(jié)省開(kāi)發(fā)人員的勞力,將可重用的必備的系統(tǒng)功能組件集成到基本RCP中,具體的業(yè)務(wù)邏輯將以獨(dú)立的Plug-in的形式出現(xiàn),同時(shí)可以動(dòng)態(tài)的加載到RCP中而不用重新編譯整個(gè)RCP平臺(tái),同時(shí)通過(guò)可擴(kuò)展性RCP的內(nèi)建管理模塊管理組件功能以及其在RCP界面中的表現(xiàn)。圖2-1展示了可擴(kuò)展性RCP平臺(tái)的總體結(jié)構(gòu)。

        2.1 提供核心組件及其組織

        表2-1展示了基本可擴(kuò)展性RCP平臺(tái)的核心組件。其中org.sean.platform組件是本系統(tǒng)的核心組件,其負(fù)責(zé)用戶管理、菜單/權(quán)限管理、業(yè)務(wù)組件的加載、系統(tǒng)首選項(xiàng)的配置、日志等等。該組件的運(yùn)行將依賴于其他組件,這些組件可以是依賴于Apache Software Foundation的開(kāi)源項(xiàng)目,通過(guò)Eclipse直接包裝,或者由程序員自行編寫(xiě)并包裝,這些組件提供了基本的功能,增強(qiáng)了可擴(kuò)展性RCP平臺(tái)的運(yùn)行功能。比如org.sean.hrfm.codec.support組件提供加密/解密功能,org.sean.hrfm.digester.support組件提供xml文件解析功能,org.sean.hrfm. office.support提供Microsoft Office文件以及Adobe PDF文件的創(chuàng)建與訪問(wèn)功能,org.sean.hrfm.jsper.support提供報(bào)表管理、創(chuàng)建功能,org.sean.hrfm.configeration組件提供系統(tǒng)配置文件的加載功能。org.sean.platform組件負(fù)責(zé)組織這些組件并實(shí)現(xiàn)相應(yīng)功能。

        表2-1 系統(tǒng)組件(資料來(lái)源:作者整理)

        組件編碼組件名稱組件功能組件依賴

        org.sean.hrfm.mysql.support數(shù)據(jù)庫(kù)連接器提供常用數(shù)據(jù)庫(kù)的連接:

        mysql server 5.1第三方j(luò)ar

        org.sean.hrfm.mssql.support數(shù)據(jù)庫(kù)連接器提供常用數(shù)據(jù)庫(kù)的連接:

        ms sqlserver 2000第三方j(luò)ar

        org.sean.hrfm.db. hibernate

        .support數(shù)據(jù)庫(kù)持久層支持提供常用持久層框架jar:hibernate第三方j(luò)ar

        org.sean.hrfm.db.ibatis.support數(shù)據(jù)庫(kù)持久層支持提供常用持久層框架jar:ibatis第三方j(luò)ar

        org.sean.hrfm.ejb.support分布式支持提供系統(tǒng)分布式處理能力:ejb3.0第三方j(luò)ar

        org.sean.hrfm.db.transaction數(shù)據(jù)庫(kù)業(yè)務(wù)層提供系統(tǒng)需要的業(yè)務(wù)邏輯。org.sean.hrfm.db. hibernate

        .support

        org.sean.hrfm.db.ibatis.support

        org.sean.hrfm.mssql.support

        org.sean.hrfm.mysql.support org.sean.hrfm.ejb.support

        org.sean.hrfm.commons.support阿帕奇公共組件包提供Apache公共組件支持

        org.sean.platform系統(tǒng)核心模塊提供系統(tǒng)級(jí)信息管理,包括部件協(xié)調(diào),登入登出系統(tǒng),系統(tǒng)日志等等。全部第三方j(luò)ar組件。

        org.sean.hrfm.email.support電子郵件支持模塊對(duì)系統(tǒng)提供電子郵件的支持第三方j(luò)ar

        org.sean.hrfm.fetion.support飛信功能支持模塊對(duì)系統(tǒng)提供飛信功能支持第三方j(luò)ar

        org.sean.hrfm.office.supportOffice功能支持模塊為系統(tǒng)提供MS Office相關(guān)功能支持。第三方j(luò)ar

        org.sean.hrfm.jsper.support報(bào)表功能支持模塊為系統(tǒng)提供報(bào)表功能,提供系統(tǒng)對(duì)Jsper Report的支持。第三方j(luò)ar

        2.2 可擴(kuò)展性平臺(tái)通用接口設(shè)計(jì)

        目前本系統(tǒng)僅僅對(duì)業(yè)務(wù)邏輯組件中可視化部分有一定的接口要求,其接口類型存放于org.sean.platform.system包下,該接口僅僅要求被實(shí)現(xiàn)的View類能夠支持通用的用戶操作比如:保存、刷新、查詢、關(guān)閉。其接口定義如下:

        public interface GeneralViewFunction {

        public boolean save();

        public boolean query();

        public boolean close();

        public boolean refresh();

        }

        只要編寫(xiě)應(yīng)用邏輯組件的程序員實(shí)現(xiàn)了上述接口,那么,系統(tǒng)就可以調(diào)用其相應(yīng)的方法,從而操縱View的行為。

        3 可擴(kuò)展性RCP快速開(kāi)發(fā)應(yīng)用實(shí)例—門(mén)診預(yù)約管理系統(tǒng)

        本例展示的是如何在可擴(kuò)展性RCP平臺(tái)上快速開(kāi)發(fā)應(yīng)用。本系統(tǒng)作為某網(wǎng)絡(luò)預(yù)約系統(tǒng)的后臺(tái),僅僅是為了作為例子說(shuō)明其開(kāi)發(fā)過(guò)程,因此僅僅展示了該門(mén)診預(yù)約管理系統(tǒng)的兩個(gè)功能的具體開(kāi)發(fā)過(guò)程。

        3.1 創(chuàng)建應(yīng)用插件工程

        首先,使用Eclipse插件開(kāi)發(fā)平臺(tái)創(chuàng)建插件工程org.sean.hrfm.mzyyxt,如圖3.1-1所示。同時(shí)配置其jar依賴:配置文件org.sean.platform.jar文件至該工程的類路徑,所有數(shù)據(jù)庫(kù)連接等都由org.sean.platfrom平臺(tái)進(jìn)行管理,所以,僅僅引入這一個(gè)包即可。org.sean.platform.jar包并不是所有的類或者接口都對(duì)外可見(jiàn),只有必須的接口和類定義是可以對(duì)外訪問(wèn)的。

        3.2 定義用戶接口可視類

        如圖3.2-1所示,通過(guò)Eclipse plug-in開(kāi)發(fā)工具包編輯插件配置文件plugin.xml。定義Eclipse視圖類:預(yù)約信息查詢和可預(yù)約數(shù)量編輯器,兩項(xiàng)功能的視圖id分別定義為org.sean.hrfm.mzyyxt.views.ReserveInformation和org.sean.hrfm.mzyyxt.views.ExpertReserveEditor。通過(guò)windowBuilder可以對(duì)該視圖類進(jìn)行可視化編輯,業(yè)務(wù)邏輯代碼可以直接在該類定義中編輯或者另外定義其他的業(yè)務(wù)邏輯組件。

        3.3 定義用戶權(quán)限與菜單

        用戶菜單與用戶權(quán)限通過(guò)menus.xml文件進(jìn)行配置或者通過(guò)服務(wù)器創(chuàng)建輸出流直接輸出至客戶端,究竟采用哪種方式可以通過(guò)配置可擴(kuò)展性平臺(tái)的配置文件application.properties進(jìn)行選擇。這里我們采用本地文件的形式進(jìn)行配置,其配置內(nèi)容如下:

        該配置文件有可擴(kuò)展性RCP平臺(tái)自己加載,同時(shí)根據(jù)具體的參數(shù)配置平臺(tái)所應(yīng)該加載的菜單文件,如圖3.3-2所示。

        如果可視用戶接口實(shí)現(xiàn)了2.2中所定義的GeneralViewFunction接口,當(dāng)用戶點(diǎn)擊工具欄的相應(yīng)按鈕時(shí)就會(huì)激活相應(yīng)的處理過(guò)程。

        3.4 發(fā)布應(yīng)用程序

        通過(guò)Eclipse plugin Exporter將本例開(kāi)發(fā)的應(yīng)用導(dǎo)出為Eclipse插件文件,將該插件文件放入可擴(kuò)展性RCP平臺(tái)程序的plugins目錄下,然后點(diǎn)擊使用程序plugin-updater.exe進(jìn)行更新,或者直接運(yùn)行RCP程序,該程序?qū)⒆詣?dòng)更新相應(yīng)的配置文件。運(yùn)行platform.exe文件,輸入用戶名和密碼即可打開(kāi)3.3-2所示的應(yīng)用程序界面。

        4 總結(jié)

        通過(guò)介紹可擴(kuò)展性RCP平臺(tái)與門(mén)診預(yù)約管理系統(tǒng)的開(kāi)發(fā)實(shí)例,我們可以看到,通過(guò)簡(jiǎn)單的4個(gè)步驟就可以快速實(shí)現(xiàn)應(yīng)用的開(kāi)發(fā),這樣開(kāi)發(fā)人員就可以將精力集中在業(yè)務(wù)邏輯的開(kāi)發(fā)上,而不用編譯整個(gè)系統(tǒng)。整個(gè)系統(tǒng)的插件相互聯(lián)系而又相互獨(dú)立,這對(duì)于多個(gè)開(kāi)發(fā)人員相互協(xié)作開(kāi)發(fā)也有相當(dāng)?shù)膬?yōu)勢(shì),所有的開(kāi)發(fā)人員均面對(duì)可擴(kuò)展性RCP平臺(tái),大家處于平等的位置。當(dāng)組件或者平臺(tái)本身有新的版本應(yīng)用時(shí),只要保證接口的穩(wěn)定性,整個(gè)平臺(tái)就可以平穩(wěn)運(yùn)行。

        然而,該RCP正處于起步階段,僅僅實(shí)現(xiàn)了最基本的功能,其擴(kuò)展余地還有很大,這就需要更多的人付出更多的智慧和努力。

        參考文獻(xiàn):

        [1]袁赟.Eclipse RCP框架分析和應(yīng)用研究[D].同濟(jì)大學(xué),2008.

        [2]劉威.基于Eclipse插件技術(shù)的異構(gòu)數(shù)據(jù)庫(kù)集成研究[D].重慶大學(xué),2008.

        [3]任絢兮,周長(zhǎng)勝.基于Eclipse SDK平臺(tái)下插件的研究[J].北京信息科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2009,(03).

        [4] Jason Weathersby,Tom Bondur, Iana Chatalbasheva. Integrating and Extending BIRT 3rd [M] Addison-Wesley

        [5] Jeff McAffer , Jean-Michel Lemieux , Chris Aniszczyk. Eclipse Rich Client Platform 2nd [M] Addison-Wesley

        [作者簡(jiǎn)介]黃德瑞(1983.10-),男,天津人,本科,天津大學(xué),網(wǎng)絡(luò)管理員,研究方向:信息管理。王秋海(1984.10-),男,天津人,碩士研究生,天津醫(yī)科大學(xué)眼科醫(yī)院,助理工程師,研究方向:數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘。

        国模欢欢炮交啪啪150| 国产三级av大全在线爽| 蜜桃精品人妻一区二区三区| 欧美人妻少妇精品久久黑人| 7878成人国产在线观看| 中文字幕人妻丝袜成熟乱| 高清中文字幕一区二区三区| 草色噜噜噜av在线观看香蕉| 无码a∨高潮抽搐流白浆| 白丝美女被狂躁免费视频网站| 亚洲av色在线观看网站| 亚洲精品一区二区三区52p| 东北老女人高潮大喊舒服死了| 亚洲精品自产拍在线观看| 国产欧美亚洲精品第二区首页| 丝袜美腿亚洲综合在线播放| 久久精品国产亚洲av无码偷窥| 欧美 变态 另类 人妖| 色www亚洲| 国产黄片一区二区三区| 精品卡一卡二卡3卡高清乱码| 亚洲av电影天堂男人的天堂| 日韩久久久黄色一级av| 人妻丰满熟妇av无码区hd| 日本熟妇高潮爽视频在线观看| 亚洲激情一区二区三区不卡| 成人精品视频一区二区| 免费一级特黄欧美大片久久网 | 国产精品一区二区韩国av| 久久人人爽爽爽人久久久 | 精品一二三四区中文字幕| 日本道精品一区二区三区| 亚洲av无码专区在线亚| 日韩精品午夜视频在线| a级国产乱理伦片| 中国极品少妇videossexhd| 最近亚洲精品中文字幕| 亚洲国产精品国自产拍久久蜜av| 欧美乱妇高清无乱码在线观看| 亚洲午夜精品a区| 麻豆成人久久精品二区三区91|