• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Eclipse RCP的銀行柜面軟件架構(gòu)可擴(kuò)展性的研究

      2018-12-24 23:43:59
      軟件 2018年5期
      關(guān)鍵詞:柜面可擴(kuò)展性插件

      劉 艷

      (安徽信息工程學(xué)院,安徽 蕪湖 241000)

      0 引言

      軟件架構(gòu)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)的設(shè)計(jì)。良好的軟件架構(gòu)能幫助項(xiàng)目管理人員更好地管理時(shí)間和預(yù)算,預(yù)防項(xiàng)目后期很多的維護(hù)問題的出現(xiàn)。軟件架構(gòu)的可擴(kuò)展性是指軟件適應(yīng)環(huán)境變化的能力??蓴U(kuò)展性是指在面臨環(huán)境變化時(shí),軟件不需要改變核心的架構(gòu),只需要經(jīng)過少量的改動(dòng)就能滿足用戶的需求。如果架構(gòu)在設(shè)計(jì)早期沒有考慮過這些需求,那么就需要修復(fù)架構(gòu)的設(shè)計(jì)甚至?xí)频拐麄€(gè)架構(gòu)。最后,達(dá)到為了實(shí)現(xiàn)新需求而重新開發(fā)一套軟件的局面,給軟件項(xiàng)目的成本和風(fēng)險(xiǎn)控制帶來了不利的影響。在軟件架構(gòu)發(fā)展的過程中,出現(xiàn)了一些典型的軟件架構(gòu),比如,MVC,事件驅(qū)動(dòng)架構(gòu)以及微核架構(gòu)等。

      MVC全名是 Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫。它是一種軟件架構(gòu)的典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫業(yè)務(wù)邏輯。這種架構(gòu)的優(yōu)點(diǎn)是結(jié)構(gòu)簡單,不同技能的人員可以負(fù)責(zé)不同的方面,每一層可以獨(dú)立測試,其他層的接口通過模擬可以解決。缺點(diǎn)是,當(dāng)環(huán)境變化時(shí),比如代碼調(diào)整或者功能增加時(shí),必須變動(dòng)每一層,導(dǎo)致擴(kuò)展很困難。

      事件驅(qū)動(dòng)框架定義了一個(gè)設(shè)計(jì)和實(shí)現(xiàn)一個(gè)應(yīng)用系統(tǒng)的方法學(xué),在這個(gè)系統(tǒng)里事件可傳輸于松散耦合的組件和服務(wù)之間。它使用分布式的異步模式,事件處理器之間高度解耦,具有良好的軟件可擴(kuò)展性,性能較好,不容易產(chǎn)生堵塞。缺點(diǎn)在于由于涉及到異步編程,開發(fā)者學(xué)習(xí)起來比較困難,而且分布式和異步特性導(dǎo)致這個(gè)架構(gòu)難以測試。

      微核架構(gòu)又稱為插件架構(gòu),指的是軟件的內(nèi)核相對較小,主要功能和業(yè)務(wù)邏輯都通過插件實(shí)現(xiàn)。內(nèi)核通常只包含系統(tǒng)運(yùn)行的最小功能。插件則是互相獨(dú)立的,插件之間的通信,應(yīng)該減少到最低,避免出現(xiàn)互相依賴的問題。這種架構(gòu)具有良好的功能延伸性,通過開發(fā)插件,可以適應(yīng)功能增加的需求;插件之間是隔離的,插件可以獨(dú)立的加載和卸載,測試和部署比較方便;可定制性高,適應(yīng)不同的開發(fā)需求;具有良好的文檔支持,開發(fā)者可以在很短的時(shí)間內(nèi)掌握這項(xiàng)技能。

      針對傳統(tǒng)軟件架構(gòu)的缺點(diǎn),本文提出一種基于Eclipse RCP的軟件架構(gòu):首先,該軟件架構(gòu)是一種微核架構(gòu),所以具有良好的可擴(kuò)展性。第二,在測試步驟,既能獨(dú)立加載測試數(shù)據(jù)進(jìn)行測試,也能和其他模塊進(jìn)行集成測試。第三,在升級步驟,可以使用統(tǒng)一升級方式或者本地安裝包的方式升級,不會(huì)影響其他模塊的調(diào)用。第四,Eclipse整個(gè)開源社區(qū)為項(xiàng)目提供了豐富的技術(shù)和文檔支持,開發(fā)人員上手比較方便。本文第1節(jié)介紹了Eclipse RCP和它的體系結(jié)構(gòu)。第2節(jié)以實(shí)際的銀行項(xiàng)目的例子介紹了Eclipse RCP在銀行柜面軟件架構(gòu)上的應(yīng)用。最后,第3節(jié)對本文的目前工作做了總結(jié),指出下一步的研究方向。

      1 Eclipse RCP

      1.1 Eclipse RCP介紹

      Eclipse是一個(gè)基于Java的可擴(kuò)展的開發(fā)平臺(tái)。Eclipse的前身是Visual Age,由于其可擴(kuò)展性較差,同時(shí)又面臨其他競爭對手的產(chǎn)品壓力,IBM決定開發(fā)一個(gè)更加開放的,具有良好可擴(kuò)展性的,能更好為其開發(fā)工具提供支持的集成化平臺(tái)[1]。2000年,第一代 Eclipse誕生。Oracle,Google,Red Hat,Borland等巨頭先后踴躍成為該基金會(huì)的會(huì)員。Eclipse經(jīng)過多年的更新迭代,目前的穩(wěn)定版本號是4.7。

      Eclipse RCP是一項(xiàng)位于Eclipse平臺(tái)核心的功能。它采用微核架構(gòu),提供了標(biāo)準(zhǔn)化的組件模型,目的為開發(fā)人員提供一個(gè)功能強(qiáng)大的、快速的、可擴(kuò)展性的平臺(tái)。RCP是Rich Client Platform的縮寫,即富客戶端,目標(biāo)是結(jié)合胖客戶端和瘦客戶端的優(yōu)勢并克服其固有的缺點(diǎn)。隨著Eclipse版本的迭代,Eclipse RCP平臺(tái)應(yīng)用快速增加,具有以下優(yōu)點(diǎn):

      (1)可擴(kuò)展性

      Eclipse基于插件進(jìn)行擴(kuò)展的思想使得用戶可以方便地搭建各種規(guī)模、類型和用途的應(yīng)用程序。按照Eclipse官方的說法,Eclipse RCP一開始就被設(shè)計(jì)為可擴(kuò)展性的。

      (2)方便性

      Eclipse RCP對各個(gè)平臺(tái)下的產(chǎn)品包裝提供了強(qiáng)有力的支持,其開發(fā)的RCP甚至可以在嵌入式設(shè)備、掌上電腦上運(yùn)行。由于Java語言的可移植性的特點(diǎn),Eclipse RCP也可以說是可以跨平臺(tái)運(yùn)行。

      (3)統(tǒng)一升級

      用戶可以通過Eclipse客戶端,使用遠(yuǎn)程或者本地方式進(jìn)行安裝更新,徹底解除了早期富客戶端應(yīng)用部署升級的麻煩。

      (4)基于組件開發(fā)

      基于Eclipse的系統(tǒng)由插件組成,開發(fā)人員以插件形式添加功能,在這種開發(fā)模式下,程序員可以并行開發(fā)和獨(dú)立測試,提高了程序開發(fā)的效率。

      (5)良好的用戶體驗(yàn)

      Eclipse為各種操作系統(tǒng)提供了本地圖形接口包。當(dāng)RCP運(yùn)行時(shí),Eclipse首先調(diào)用本機(jī)窗口組件,只有沒有本機(jī)所需組件時(shí)才進(jìn)行模擬。RCP在不同的操作系統(tǒng)上都具有一致的外觀和行為。UI設(shè)計(jì)者使用界面設(shè)計(jì)工具可以設(shè)計(jì)出漂亮的用戶界面。

      1.2 Eclipse RCP體系結(jié)構(gòu)

      Eclipse RCP平臺(tái)是運(yùn)行時(shí)內(nèi)核和插件的組合,由Workbench工作臺(tái),Workspace工作區(qū),Help幫助系統(tǒng),Team團(tuán)隊(duì)支持系統(tǒng)和Platform運(yùn)行平臺(tái)組成。

      (1)Workbench工作臺(tái)

      為Eclipse提供用戶界面。它是使用SWT(Standard Widget Toolkit)和JFace來構(gòu)建的;SWT是Java的Swing/AWT GUI API的非標(biāo)準(zhǔn)替代者,JFace則是建立在SWT基礎(chǔ)上,提供用戶界面組件。

      (2)Workspace工作區(qū)

      工作區(qū)是負(fù)責(zé)管理用戶資源的插件。包括用戶創(chuàng)建的項(xiàng)目、項(xiàng)目中的文件,以及文件變更和其它資源。工作區(qū)還負(fù)責(zé)通知其他插件關(guān)于資源變更的信息,包括文件創(chuàng)建、刪除或者變更的情況。

      (3)Help幫助系統(tǒng)

      幫助系統(tǒng)具有與 Eclipse平臺(tái)本身相當(dāng)?shù)目蓴U(kuò)展能力。幫助提供一個(gè)附加的導(dǎo)航結(jié)構(gòu),允許工具以HTML文件的形式添加文檔。

      (4)Team團(tuán)隊(duì)支持系統(tǒng)

      團(tuán)隊(duì)支持組件負(fù)責(zé)提供版本控制和配置管理支持。它根據(jù)需要添加視圖,允許用戶與

      有使用的任何版本控制系統(tǒng)交互。

      (5)Platform Runtime運(yùn)行平臺(tái)

      是整個(gè)Eclipse的內(nèi)核,啟動(dòng)時(shí)檢查已安裝了哪些插件,并創(chuàng)建注冊表信息。為了降低啟動(dòng)時(shí)間,提高資源利用率,平臺(tái)使用“懶”加載的方式加載插件,即需要時(shí)才加載。

      2 Eclipse RCP在銀行柜面軟件架構(gòu)上的應(yīng)用

      2.1 項(xiàng)目背景

      由于歷史原因,銀行柜面系統(tǒng)存在如下問題:字符終端展現(xiàn)能力非常有限,難以滿足低柜業(yè)務(wù)如理財(cái)、貸款、外匯等業(yè)務(wù)處理要求;柜面系統(tǒng)缺乏強(qiáng)大的平臺(tái)支持,往往占相應(yīng)項(xiàng)目開發(fā)工作量的一半以上,業(yè)務(wù)功能的更新迭代需要大量的維護(hù)工作;現(xiàn)有柜面系統(tǒng)的用戶體驗(yàn)性較差,即使是圖形界面,無法做到真正的所見即所得,二次開發(fā)的擴(kuò)展性亟待提高。在此情況下,如何設(shè)計(jì)具有良好的可擴(kuò)展性的柜面軟件架構(gòu)是需要解決的問題。

      2.2 系統(tǒng)分析

      銀行柜面系統(tǒng)包含的功能模塊主要有:綜合開戶,綜合簽約,集中授權(quán),單點(diǎn)登錄,交易搜索,公告欄,常用交易,工具,便簽,郵件消息,配置,鎖屏,幫助管理,柜員管理,權(quán)限管理,日志管理等功能。同時(shí),需要兼容后期業(yè)務(wù)擴(kuò)充的需求,提供一個(gè)可擴(kuò)展性的軟件架構(gòu),能夠快速開發(fā)新的功能模塊。

      2.3 系統(tǒng)設(shè)計(jì)

      銀行柜面系統(tǒng)采用Eclipse RCP插件體系結(jié)構(gòu),優(yōu)點(diǎn)如下:1)容易擴(kuò)展:獨(dú)立編譯和打包,獨(dú)立部署和測試。2)容易升級:粒度以插件為單位,降低了由于升級帶來的系統(tǒng)宕機(jī)的風(fēng)險(xiǎn);還可以節(jié)省網(wǎng)絡(luò)帶寬。

      銀行柜面系統(tǒng)包括客戶端和服務(wù)端,客戶端負(fù)責(zé)接收用戶的請求,并判斷請求是否在客戶端處理范圍內(nèi),如果在,則客戶端直接處理請求并將結(jié)果返回用戶;如果不在,則轉(zhuǎn)發(fā)請求到服務(wù)端,由服務(wù)端處理完畢返回給客戶端??蛻舳撕头?wù)端采用相同的Eclipse RCP插件體系結(jié)構(gòu),包括外設(shè)模塊,交易處理模塊,統(tǒng)一配置模塊,資源模塊,通訊模塊,ESB通訊擴(kuò)展模塊等。

      2.4 系統(tǒng)實(shí)現(xiàn)

      基于 Eclipse RCP的銀行柜面系統(tǒng)采取插件體系架構(gòu),可擴(kuò)展性比較強(qiáng)。下面介紹怎樣在Eclipse RCP平臺(tái)上完成將數(shù)據(jù)庫中的組織記錄以樹狀結(jié)構(gòu)顯示出來。

      在開發(fā)階段,首先,找到數(shù)據(jù)庫的插件工程,新建一個(gè)類繼承自組件類。然后,得到輸入?yún)?shù)并轉(zhuǎn)化為符合期望的目標(biāo)類型。循環(huán)所有的組織記錄,找到組織間的層級關(guān)系,并設(shè)置組織類的關(guān)系。最后,將處理后的組織父類顯示在界面上。

      在測試階段,自發(fā)給這個(gè)組件添加輸入?yún)?shù),添加斷點(diǎn),查看運(yùn)行結(jié)果是否滿足要求。

      在部署階段,選擇導(dǎo)出數(shù)據(jù)庫的插件工程,然后將壓縮文件部署到銀行柜面測試系統(tǒng)中進(jìn)行測試。如果結(jié)果正確,則部署相應(yīng)的壓縮文件到生產(chǎn)系統(tǒng)中。

      該類主要的源代碼如下:

      // 得到輸入的記錄數(shù)組

      List list = (List)command.getParameter(RECORD_LIST);

      // 處理異常

      if(list == null) {

      throw new Exception(“傳入的數(shù)據(jù)庫記錄為 null!”);

      }

      // 構(gòu)建組織樹

      buildTree(list);

      // 界面上異步顯示

      Display.asyncExec (new Runnable() {

      public void run()

      {

      target.initTree(list);

      }

      });

      3 結(jié)論

      基于 Eclipse RCP的銀行柜面軟件已經(jīng)推廣到多家銀行,事實(shí)證明,該軟件運(yùn)行穩(wěn)定,功能新增快捷,具有良好的可擴(kuò)展性。但是,由于Eclipse RCP本身使用Java語言開發(fā)插件,軟件在運(yùn)行一段時(shí)間后,性能會(huì)急劇下降,導(dǎo)致每隔一段時(shí)間需要重啟服務(wù)器。因此,找到性能瓶頸,有策略的優(yōu)化程序是下一步要研究的問題。

      [1] 陳岡. Eclipse RCP應(yīng)用系統(tǒng)開發(fā)方法與實(shí)戰(zhàn), 電子工業(yè)出版社, 2007

      [2] 王如迅. 基于SWTBot技術(shù)的軟件自動(dòng)化測試的研究與實(shí)現(xiàn)[J]. 軟件, 2016, 37(2): 121-128.

      [3] 饒啟聰, 許丹, 蔣海洪. 健康大數(shù)據(jù)智能采集與挖掘系統(tǒng)平臺(tái)的軟件架構(gòu)實(shí)踐[J]. 軟件, 2017, 38(8): 200-203.

      [4] 宮愛愛, 丁香乾, 侯瑞春. 基于Eclipse智能代碼生成框架的研究[J]. 現(xiàn)代電子技術(shù), 2013, 36(18): 55-58.

      [5] 楊攀. 基于Eclipse RCP框架的地質(zhì)監(jiān)測數(shù)據(jù)可視化應(yīng)用研究[J]. 電腦與電信, 2015(3): 77-78+84.

      [6] 董曉敏. 基于Eclipse RCP平臺(tái)的學(xué)校經(jīng)費(fèi)測算系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 青島理工大學(xué), 2014.

      [7] 孫菁. 基于Eclipse RCP的模型測試管理工具設(shè)計(jì)與實(shí)現(xiàn)[D]. 西安電子科技大學(xué), 2015.

      [8] 殷新毅. 基于Eclipse RCP的中學(xué)學(xué)籍管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D]. 電子科技大學(xué), 2013.

      [9] 陳東山, 陳志偉. 基于Eclipse RCP技術(shù)的0. 5T磁共振成像儀控制和數(shù)據(jù)處理軟件系統(tǒng)開發(fā)[J]. 中國醫(yī)療設(shè)備, 2015,30(7): 30-32.

      [10] 于麗. 基于敏捷開發(fā)模式的軟件架構(gòu)設(shè)計(jì)[J]. 電腦知識與技術(shù), 2015, 11(6): 91-92+94.

      [11] 王愛景. 敏捷開發(fā)中軟件架構(gòu)的設(shè)計(jì)與實(shí)踐[D]. 河南大學(xué), 2015.

      [12] 馬麗娟. 基于軟件開發(fā)環(huán)節(jié)中軟件架構(gòu)的作用研究[J]. 電子測試, 2017(13): 69-70.

      [13] 白金. 軟件架構(gòu)模式在信息系統(tǒng)開發(fā)中的應(yīng)用分析[J]. 通訊世界, 2017(10): 249-250.

      [14] 王智超, 王敏, 熊燕. 軟件架構(gòu)設(shè)計(jì)之多視角分析[J]. 現(xiàn)代計(jì)算機(jī)(專業(yè)版), 2014(30): 35-37.

      [15] 姜立. 軟件架構(gòu)綜合評價(jià)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 東南大學(xué), 2015.

      [16] 孫志勇. 濱海?;瘓F(tuán)ERP軟件架構(gòu)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 電子科技大學(xué), 2014.

      猜你喜歡
      柜面可擴(kuò)展性插件
      商業(yè)銀行加強(qiáng)柜面操作風(fēng)險(xiǎn)管控的策略
      商業(yè)銀行柜面操作風(fēng)險(xiǎn)管理研究
      自編插件完善App Inventor與樂高機(jī)器人通信
      電子制作(2019年22期)2020-01-14 03:16:34
      恩智浦推出全新i.MX 8X 處理器,為工業(yè)應(yīng)用帶來更高的安全性、可靠性和可擴(kuò)展性
      汽車零部件(2017年3期)2017-07-12 17:03:58
      電力監(jiān)控軟件的可擴(kuò)展性設(shè)計(jì)
      淺談新形勢下基層農(nóng)行如何提升柜面分流率
      基于微軟技術(shù)的高可擴(kuò)展性中小企業(yè)系統(tǒng)解決方案研究
      構(gòu)建高可擴(kuò)展性的物流裝備管理系統(tǒng)
      淺析營業(yè)網(wǎng)點(diǎn)柜面勞動(dòng)組合的優(yōu)化——以樂山市農(nóng)行為例
      MapWindowGIS插件機(jī)制及應(yīng)用
      芒康县| 东莞市| 潍坊市| 靖州| 诸城市| 大田县| 香河县| 绥滨县| 哈密市| 台中县| 连南| 南昌市| 抚远县| 常宁市| 江安县| 富宁县| 广州市| 遂平县| 开封市| 连南| 镇江市| 隆昌县| 肥西县| 孟村| 乌拉特后旗| 尼勒克县| 蒙自县| 海宁市| 元朗区| 梅河口市| 寻甸| 丹巴县| 瑞昌市| 昆明市| 元阳县| 栾城县| 聊城市| 阳江市| 庐江县| 华容县| 阳信县|