專利名稱:基于soa、rcp的動態(tài)對象編輯的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電力系統(tǒng)自動化,尤其涉及一種基于SOA、RCP的動態(tài)對象編輯的方法。
背景技術(shù):
在面向?qū)ο蟪绦蛟O(shè)計中,對象是一個應(yīng)用程序的基礎(chǔ),所有應(yīng)用程序都離不開對 對象的操作,不同的業(yè)務(wù)可以抽象為對不同對象的操作。傳統(tǒng)的對對象的編輯方式如附圖1所示,不同的對象編輯時均需創(chuàng)建編輯窗口, 布局對象編輯屬性,根據(jù)對象不同的屬性創(chuàng)建相應(yīng)的編輯器等,編輯時將編輯的結(jié)果返回 至對象屬性中,編輯完成后根據(jù)編輯后對象,調(diào)用持久化功能將對象持久化到數(shù)據(jù)庫中。在 實際應(yīng)用程序開發(fā)過程中,通常采用MVC(M0del-View-C0ntr0l,一種設(shè)計模式,它強制性的 使應(yīng)用程序的輸入、處理和輸出分開,應(yīng)用程序被分成三個核心部件模型、視圖、控制器, 它們各自處理自己的任務(wù))分層設(shè)計思想,在很大程度上提高代碼的重用性、降低對象間 的耦合度,然而對對象的編輯雖然存在很大的相似性,但當前并沒有一個通用的對象編輯 方法,不同對象的編輯過程都需要定制編程。SOA (service-oriented architecture,基于面向服務(wù)的體系結(jié)構(gòu))可以將一個 應(yīng)用程序的業(yè)務(wù)邏輯或某些單獨的功能封裝為服務(wù)呈現(xiàn)給客戶端,使用時可以根據(jù)實際的 需求組合一個或多個服務(wù)來構(gòu)建應(yīng)用,同時,S0A可以采用不同的語言、不同的平臺實現(xiàn)。 RCP (Rich Client Platform,富客戶端應(yīng)用框架)是基于Eclipse項目(Eclipse是個開放 源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是個框架和一組服務(wù),用于通 過插件組件構(gòu)建開發(fā)環(huán)境。)推出的一個開發(fā)富客戶端應(yīng)用框架,目的在于為開發(fā)人員提 供一個功能更加強大的、快捷的、可擴展的應(yīng)用平臺。在需求變化異常頻繁的今天,用戶不 僅要求有豐富的圖形用戶界面,還希望具有智能更新、跨平臺性、可擴展性等特性。Eclipse RCP正好能滿足這些需求。在SOA中,人們通常使用瀏覽器作為展示層,然而在有些場景中, RCP依然是更好的選擇,它允許開發(fā)人員以插件的形式擴展和構(gòu)造自己的桌面應(yīng)用程序。 RCP在以下一些方面更具有優(yōu)勢1、擁有豐富的界面元素,支持在多種平臺上構(gòu)建具有特 定操作系統(tǒng)風(fēng)格的專業(yè)外觀;2、快速響應(yīng)客戶端應(yīng)用,提供流暢的用戶體驗;3、支持海量 數(shù)據(jù)處理,有效提高系統(tǒng)的性能;4、支持快捷鍵導(dǎo)航,方便用戶使用和操作;5、支持跨平臺 運行及HTTP方式下發(fā)及更新,從根本上解決了傳統(tǒng)胖客戶端程序部署和更新困難的問題。本發(fā)明的基于SOA、RCP的動態(tài)對象編輯方法具有SOA、RCP的一切優(yōu)點,對不同對 象的編輯提供了一個通用的解決方案。
發(fā)明內(nèi)容
為克服現(xiàn)有技術(shù)的缺陷,本發(fā)明要解決的技術(shù)問題是提供了一種對不同對象通用 的基于SOA、RCP的動態(tài)對象編輯的方法。本發(fā)明的技術(shù)方案是這種基于SOA、RCP的動態(tài)對象編輯的方法包括以下步驟(1)通過S0A服務(wù)獲取到對象;(2)根據(jù)傳入的對象獲取其對象屬性,生成對象編輯窗口, 同時根據(jù)屬性的配置信息里的屬性編輯器類型分配相應(yīng)的編輯器;(3)為適應(yīng)不同類型屬 性的特殊需要,在對象傳入時可以對對象的屬性重新指定編輯器,在編輯器編輯屬性值時 提供編輯前、編輯后事件,滿足各種類型屬性的編輯需求;(4)編輯器中對屬性字段編輯修 改;(5)編輯結(jié)果自動更新到對象中,對象保存時根據(jù)配置信息對編輯信息自動進行屬性 的各種驗證操作,其中對象的保存操作提供了保存前、保存后事件,完全滿足不同對象各種 編輯需求;(6)調(diào)用S0A服務(wù)將對象持久化到數(shù)據(jù)庫中。該方法能適用于不同的應(yīng)用,同時兼具跨平臺、可以有效的提高代碼的移植性、重 用性、大大節(jié)省系統(tǒng)的研發(fā)時間及成本,為不同應(yīng)用中對不同對象的編輯提供了一個通用 的解決方法。
圖1為傳統(tǒng)的對對象的編輯方法;圖2為本發(fā)明的對對象的編輯方法。
具體實施例方式動態(tài)對象編輯方法對不同對象的編輯提供了一個通用的解決方案,它主要基于 SOA、RCP技術(shù),嚴格按照高內(nèi)聚、低耦合的原則,將對對象的操作進行封裝。動態(tài)對象編輯 方法的核心思想體現(xiàn)在其動態(tài)性上,能根據(jù)不同對象的屬性動態(tài)生成相應(yīng)的編輯界面,根 據(jù)不同屬性的配置信息自動匹配相應(yīng)的屬性編輯器。在使用時只需傳入具體的對象,即可 完成對一個對象的修改編輯操作。下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。動態(tài)對象編輯方法面向不同的對象,即編輯的對象不確定、對象的屬性不確定。如 附圖2所示,這種基于S0A、RCP的動態(tài)對象編輯的方法包括以下步驟(1)通過S0A服務(wù)獲 取到對象;(2)根據(jù)傳入的對象獲取其對象屬性,生成對象編輯窗口,同時根據(jù)屬性的配置 信息里的屬性編輯器類型分配相應(yīng)的編輯器;(3)為適應(yīng)不同類型屬性的特殊需要,在對 象傳入時可以對對象的屬性重新指定編輯器,在編輯器編輯屬性值時提供編輯前、編輯后 事件,滿足各種類型屬性的編輯需求;(4)編輯器中對屬性字段編輯修改;(5)編輯結(jié)果自 動更新到對象中,對象保存時根據(jù)配置信息對編輯信息自動進行屬性的各種驗證操作等, 其中對象的保存操作提供了保存前、保存后事件,完全滿足不同對象各種編輯需求;(6)調(diào) 用S0A服務(wù)將對象持久化到數(shù)據(jù)庫中。所述步驟(2)具體為把常用的編輯器功能抽象出 一個基類,常用的編輯器繼承基類實現(xiàn)特定的類,基類中使用工廠模式實現(xiàn)一個根據(jù)編輯 器種類生成一個特定編輯器類實例的方法。使用時,根據(jù)對象配置信息中的編輯器類型,調(diào) 用這個方法生成特定編輯器實例。動態(tài)對象編輯方法能適用于不同的應(yīng)用,同時兼具跨平 臺、可以有效的提高代碼的移植性、重用性、大大節(jié)省系統(tǒng)的研發(fā)時間及成本,為不同應(yīng)用 中對不同對象的編輯提供了一個通用的解決方法。本發(fā)明的優(yōu)點如下1、通用性,能應(yīng)用于不同的系統(tǒng);2、跨平臺,使用soa方式獲取對象信息,可以和任何開發(fā)平臺配合使用,如.net,
4java, delphi 等等;3、易用性,編輯時只需傳入待編輯的對象,節(jié)省系統(tǒng)的研發(fā)時間及成本;4、穩(wěn)定性強,當對象發(fā)生變化時,只需要修改對象配置信息,編輯窗口不需要作任 何修改;5、靈活性強,提供了編輯前、編輯后、保存前、保存后等事件,在默認的編輯界面不 符合要求時,可以由開發(fā)人員定制處理。以上所述,僅是本發(fā)明的較佳實施例,并非對本發(fā)明作任何形式上的限制,凡是依 據(jù)本發(fā)明的技術(shù)實質(zhì)對以上實施例所作的任何簡單修改、等同變化與修飾,均仍屬本發(fā)明 技術(shù)方案的保護范圍。
權(quán)利要求
基于SOA、RCP的動態(tài)對象編輯的方法,其特征在于,包括以下步驟(1)通過SOA服務(wù)獲取到對象;(2)根據(jù)傳入的對象獲取其對象屬性,生成對象編輯窗口,同時根據(jù)屬性的配置信息里的屬性編輯器類型分配相應(yīng)的編輯器;(3)為適應(yīng)不同類型屬性的特殊需要,在對象傳入時可以對對象的屬性重新指定編輯器,在編輯器編輯屬性值時提供編輯前、編輯后事件,滿足各種類型屬性的編輯需求;(4)編輯器中對屬性字段編輯修改;(5)編輯結(jié)果自動更新到對象中,對象保存時根據(jù)配置信息對編輯信息自動進行屬性的各種驗證操作,其中對象的保存操作提供了保存前、保存后事件,完全滿足不同對象各種編輯需求;(6)調(diào)用SOA服務(wù)將對象持久化到數(shù)據(jù)庫中。
2.根據(jù)權(quán)利要求1所述的基于SOA、RCP的動態(tài)對象編輯的方法,其特征在于所述步 驟(2)使用了根據(jù)不用的配置信息生成相應(yīng)編輯器的方法,即把常用的編輯器功能抽象出 一個基類,常用的編輯器繼承基類實現(xiàn)特定的類,基類中使用工廠模式實現(xiàn)一個根據(jù)編輯 器種類生成一個特定編輯器類實例的方法,當使用時,根據(jù)對象配置信息中的編輯器類型, 調(diào)用這個方法生成特定編輯器實例。
全文摘要
公開了一種基于SOA、RCP的動態(tài)對象編輯的方法,包括以下步驟(1)通過SOA服務(wù)獲取到對象;(2)根據(jù)傳入的對象獲取其對象屬性,生成對象編輯窗口,并根據(jù)屬性的配置信息里的屬性編輯器類型分配相應(yīng)的編輯器;(3)為適應(yīng)不同類型屬性的特殊需要,在對象傳入時可以對對象的屬性重新指定編輯器,在編輯器編輯屬性時提供編輯前、編輯后事件,滿足各種類型屬性的編輯需求;(4)編輯器中對屬性字段編輯修改;(5)編輯結(jié)果自動更新到對象中,對象保存時根據(jù)配置信息對編輯信息自動進行屬性的各種驗證操作,對象的保存操作提供了保存前、保存后事件,完全滿足不同對象各種編輯需求;(6)調(diào)用SOA服務(wù)將對象持久化到數(shù)據(jù)庫中。
文檔編號G06F9/44GK101853167SQ20101019448
公開日2010年10月6日 申請日期2010年5月28日 優(yōu)先權(quán)日2010年5月28日
發(fā)明者王龍剛, 黃小文 申請人:北京中恒博瑞數(shù)字電力科技有限公司