專利名稱:一種生成兩套網(wǎng)管系統(tǒng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子通信技術(shù)領(lǐng)域的網(wǎng)管技術(shù),尤其涉及一種由統(tǒng)一界面描述生成兩套網(wǎng)管系統(tǒng)的方法。
背景技術(shù):
電信系統(tǒng)的運(yùn)行維護(hù),需要在不同的地點(diǎn)、不同的平臺(tái)上都可以利用網(wǎng)管系統(tǒng)進(jìn)行管理和維護(hù)工作。由于軟硬件的差別,要求網(wǎng)管運(yùn)營(yíng)維護(hù)系統(tǒng)在桌面和web(瀏覽器)環(huán)境下都應(yīng)該能提供響應(yīng)的管理方式。以往的開(kāi)發(fā)過(guò)程,由于技術(shù)的局限性,要求開(kāi)發(fā)人員針對(duì)不同的應(yīng)用環(huán)境桌面環(huán)境和web環(huán)境,實(shí)現(xiàn)兩套不同技術(shù)開(kāi)發(fā)的應(yīng)用系統(tǒng)瀏覽器的B/S(browser/server,瀏覽器/服務(wù)器)網(wǎng)管系統(tǒng)和胖客戶端的C/S(client/server,客戶端/服務(wù)器)網(wǎng)管系統(tǒng)。
一般情況下,B/S、C/S應(yīng)用是由兩套獨(dú)立的技術(shù)實(shí)現(xiàn)的,這種獨(dú)立的形式,不僅使得用戶要同時(shí)購(gòu)買(mǎi)兩套應(yīng)用系統(tǒng),增加了成本;而且必須有兩個(gè)開(kāi)發(fā)團(tuán)隊(duì)分別開(kāi)發(fā)這兩套應(yīng)用系統(tǒng),導(dǎo)致產(chǎn)品的開(kāi)發(fā)成本較大,效率較低,產(chǎn)品開(kāi)發(fā)時(shí)間較長(zhǎng)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種由統(tǒng)一界面描述生成兩套網(wǎng)管系統(tǒng)的方法,不僅組件的豐富性和可擴(kuò)展性較好,而且后期的維護(hù)和升級(jí)都很方便。
本發(fā)明所采用的技術(shù)方案提供一種生成兩套網(wǎng)管系統(tǒng)的方法,具體包括以下步驟步驟100,制作頁(yè)面描述XML文件;
步驟200,XML解析引擎將頁(yè)面描述XML文件中的內(nèi)容解析為內(nèi)存中的對(duì)應(yīng)組件信息,并指明組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,然后將解析出來(lái)的結(jié)果傳遞給代碼重組引擎;步驟300,代碼重組引擎根據(jù)XML解析引擎得到的組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,生成應(yīng)用于桌面和瀏覽器端的兩套系統(tǒng)。
與現(xiàn)有技術(shù)相比,本發(fā)明所帶來(lái)的有益效果本發(fā)明通過(guò)描述語(yǔ)言對(duì)界面表現(xiàn)層進(jìn)行定制、并編寫(xiě)對(duì)應(yīng)的控制層代碼,開(kāi)發(fā)的一套API(應(yīng)用程序接口),通過(guò)配置文件和轉(zhuǎn)換綁定機(jī)制,動(dòng)態(tài)生成桌面應(yīng)用和web應(yīng)用兩種應(yīng)用系統(tǒng),大大降低了開(kāi)發(fā)工作量和維護(hù)難度。
由于本方法的頁(yè)面描述部分是采取XML的描述方式,將頁(yè)面的表示和動(dòng)作相互分離,當(dāng)需要簡(jiǎn)單的版本升級(jí)或系統(tǒng)需求變化時(shí),可以通過(guò)修改XML頁(yè)面描述文件重新生成新的系統(tǒng),實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)定義、動(dòng)態(tài)變化,避免重新對(duì)系統(tǒng)進(jìn)行編碼,有益于系統(tǒng)的升級(jí)、維護(hù)。由于轉(zhuǎn)換機(jī)制的靈活性,增強(qiáng)了組件的豐富性和可擴(kuò)展性。
圖1為本發(fā)明一種具體實(shí)施方式
的流程示意圖。
具體實(shí)施例方式
本發(fā)明一種生成兩套網(wǎng)管系統(tǒng)的方法,實(shí)現(xiàn)一種一套代碼可生成B/S和C/S兩套網(wǎng)管系統(tǒng)的方法,圖1為本發(fā)明一種具體實(shí)施方式
的流程示意圖,具體實(shí)現(xiàn)步驟如下1、制作頁(yè)面描述XML文件,頁(yè)面由XML描述文件進(jìn)行定義。XML文件中的內(nèi)容主要為頁(yè)面表現(xiàn),以及業(yè)務(wù)處理動(dòng)作與頁(yè)面表現(xiàn)之間的關(guān)聯(lián)關(guān)系。具體來(lái)講,頁(yè)面描述XML文件定義頁(yè)面的布局,包括的組件,如按鈕、樹(shù)、表、菜單等,以及組件對(duì)應(yīng)的處理邏輯方法名。
2、XML解析引擎解析XML頁(yè)面描述文件中的內(nèi)容。XML解析引擎將頁(yè)面表現(xiàn)的內(nèi)容解析為內(nèi)存中的對(duì)應(yīng)組件信息,并指明對(duì)象與業(yè)務(wù)處理動(dòng)作之間的關(guān)聯(lián)關(guān)系(也就是組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系)。然后將解析出來(lái)的結(jié)果傳遞給代碼重組引擎。
3、在不同的運(yùn)行環(huán)境下,代碼重組引擎根據(jù)XML解析引擎得到的組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,生成相應(yīng)環(huán)境下的應(yīng)用系統(tǒng)應(yīng)用于桌面(C/S)系統(tǒng)的系統(tǒng)和應(yīng)用于瀏覽器端(B/S)的系統(tǒng)。通過(guò)反射等方式生成界面組件對(duì)象,并將業(yè)務(wù)處理邏輯與頁(yè)面組件綁定。當(dāng)用戶操作組件時(shí),系統(tǒng)執(zhí)行與組件對(duì)應(yīng)的邏輯處理,實(shí)際上執(zhí)行該動(dòng)作便是運(yùn)行一段與處理邏輯方法名對(duì)應(yīng)的處理程序。
對(duì)于C/S應(yīng)用系統(tǒng),一般是將頁(yè)面描述內(nèi)容定義轉(zhuǎn)換為頁(yè)面組件,并且將與頁(yè)面組件對(duì)應(yīng)的邏輯處理添加到頁(yè)面組件的監(jiān)聽(tīng)器中。對(duì)于頁(yè)面組件可以直接調(diào)用SWT組件庫(kù)提供的SWT組件。對(duì)于復(fù)雜的頁(yè)面組件,可以制作一套封裝好的動(dòng)作API(應(yīng)用程序接口),這個(gè)動(dòng)作API是基于C/S的常用組件的封裝,制作好這個(gè)動(dòng)作API后,就可以直接調(diào)用里面的組件。
對(duì)于B/S應(yīng)用系統(tǒng),將頁(yè)面描述內(nèi)容轉(zhuǎn)換為HTML文件(通過(guò)附加的CSS、XSL文件來(lái)定義組件的顯示風(fēng)格),制作一套JS腳本語(yǔ)言的SDK(Software Development Kit)軟件開(kāi)發(fā)工具包,將與數(shù)據(jù)模型無(wú)關(guān)的邏輯處理動(dòng)作轉(zhuǎn)變?yōu)镴S腳本語(yǔ)言文件傳送到瀏覽器端進(jìn)行處理,與數(shù)據(jù)模型相關(guān)的邏輯處理動(dòng)作則在服務(wù)器端進(jìn)行處理。
本發(fā)明的最大特點(diǎn)在于1)頁(yè)面是用描述的方法定義的。2)可以通過(guò)解析轉(zhuǎn)換,生成兩套不同應(yīng)用環(huán)境下的應(yīng)用系統(tǒng)。實(shí)現(xiàn)過(guò)程基于MVC架構(gòu)思想,將頁(yè)面描述與組件控制分離。由轉(zhuǎn)換機(jī)制對(duì)同一套頁(yè)面表示和邏輯動(dòng)作進(jìn)行轉(zhuǎn)換,生成不同環(huán)境下的應(yīng)用。
MVC(View Controller Model)是一種軟件的設(shè)計(jì)方法模式。View(視圖),定義給客戶使用的界面;Controller(控制器),控制頁(yè)面流程,轉(zhuǎn)發(fā),提交,重定向等等;Model(模型),完成業(yè)務(wù)邏輯或者數(shù)據(jù)持久化等工作。MVC最主要的目的是要把表現(xiàn)層,邏輯層,模型3方面分開(kāi),降低系統(tǒng)的耦合度,提高系統(tǒng)的可維護(hù)性,健壯性。
當(dāng)客戶有業(yè)務(wù)處理需求時(shí),可以在瀏覽器端的頁(yè)面上進(jìn)行一些操作,客戶端通過(guò)監(jiān)聽(tīng)頁(yè)面的操作,接受由操作組件引發(fā)的事件,執(zhí)行與頁(yè)面組件定義的業(yè)務(wù)處理動(dòng)作,在客戶端不能完成該業(yè)務(wù)處理動(dòng)作時(shí),客戶端會(huì)向服務(wù)器端發(fā)送業(yè)務(wù)處理請(qǐng)求,服務(wù)器端接受請(qǐng)求,并將所有的請(qǐng)求導(dǎo)引到中央控制器。該中央控制器負(fù)責(zé)把請(qǐng)求導(dǎo)引到適當(dāng)?shù)奶幚砹鞒?。相?yīng)流程(比如讀取數(shù)據(jù)等操作)處理完畢后,再將處理結(jié)果傳送到客戶端,客戶端將處理結(jié)果輸出到相關(guān)頁(yè)面上?;诿枋稣Z(yǔ)言的頁(yè)面定制方式,使得界面的生成更加靈活;借助MVC有效地實(shí)現(xiàn)了視圖和業(yè)務(wù)邏輯的松耦合,使得創(chuàng)建和維持系統(tǒng)更為容易。
本發(fā)明技術(shù)方案帶來(lái)的有益效果本發(fā)明通過(guò)描述語(yǔ)言對(duì)界面表現(xiàn)層進(jìn)行定制、并編寫(xiě)對(duì)應(yīng)的控制層代碼,開(kāi)發(fā)的一套API(應(yīng)用程序接口),通過(guò)配置文件和轉(zhuǎn)換綁定機(jī)制,動(dòng)態(tài)生成桌面應(yīng)用和web應(yīng)用兩種應(yīng)用系統(tǒng),大大降低了開(kāi)發(fā)工作量和維護(hù)難度。
由于本方法的頁(yè)面描述部分是采取XML的描述方式,將頁(yè)面的表示和動(dòng)作相互分離,當(dāng)需要簡(jiǎn)單的版本升級(jí)或系統(tǒng)需求變化時(shí),可以通過(guò)修改XML頁(yè)面描述文件重新生成新的系統(tǒng),實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)定義、動(dòng)態(tài)變化,避免重新對(duì)系統(tǒng)進(jìn)行編碼,有益于系統(tǒng)的升級(jí)、維護(hù)。由于轉(zhuǎn)換機(jī)制的靈活性,增強(qiáng)了組件的豐富性和可擴(kuò)展性。
權(quán)利要求
1.一種生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,具體包括以下步驟步驟100,制作頁(yè)面描述XML文件;步驟200,XML解析引擎將頁(yè)面描述XML文件中的內(nèi)容解析為內(nèi)存中的對(duì)應(yīng)組件信息,并指明組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,然后將解析出來(lái)的結(jié)果傳遞給代碼重組引擎;步驟300,代碼重組引擎根據(jù)XML解析引擎得到的組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,生成應(yīng)用于桌面和瀏覽器端的兩套系統(tǒng)。
2.根據(jù)權(quán)利要求1所述的生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,在步驟300中,在生成C/S應(yīng)用系統(tǒng)時(shí),將頁(yè)面描述內(nèi)容定義轉(zhuǎn)換為頁(yè)面組件,并將與頁(yè)面組件對(duì)應(yīng)的邏輯處理添加到頁(yè)面組件的監(jiān)聽(tīng)器中。
3.根據(jù)權(quán)利要求2所述的生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,在步驟300中,在生成C/S應(yīng)用系統(tǒng)時(shí),所述頁(yè)面組件直接從SWT組件庫(kù)提供的SWT組件中調(diào)用。
4.根據(jù)權(quán)利要求2所述的生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,在步驟300中,在生成C/S應(yīng)用系統(tǒng)時(shí),制作一套封裝好的動(dòng)作應(yīng)用程序接口,所述頁(yè)面組件直接從該套動(dòng)作應(yīng)用程序接口里面的組件中調(diào)用。
5.根據(jù)權(quán)利要求1所述的生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,在步驟300中,在生成B/S應(yīng)用系統(tǒng)時(shí),將頁(yè)面描述內(nèi)容轉(zhuǎn)換為HTML文件。
6.根據(jù)權(quán)利要求5所述的生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,在步驟300中,在生成B/S應(yīng)用系統(tǒng)過(guò)程中,將頁(yè)面描述內(nèi)容轉(zhuǎn)換為HTML文件時(shí),通過(guò)附加的CSS、XSL文件定義組件的顯示風(fēng)格。
7.根據(jù)權(quán)利要求5所述的生成兩套網(wǎng)管系統(tǒng)的方法,其特征在于,在步驟300中,在生成B/S應(yīng)用系統(tǒng)時(shí),制作一套JS腳本語(yǔ)言的SDK軟件開(kāi)發(fā)工具包,將與數(shù)據(jù)模型無(wú)關(guān)的邏輯處理動(dòng)作轉(zhuǎn)變?yōu)镴S腳本語(yǔ)言文件傳送到瀏覽器端進(jìn)行處理,將與數(shù)據(jù)模型相關(guān)的邏輯處理動(dòng)作在服務(wù)器端進(jìn)行處理。
全文摘要
本發(fā)明公開(kāi)了一種生成兩套網(wǎng)管系統(tǒng)的方法,具體包括以下步驟制作頁(yè)面描述XML文件;XML解析引擎將頁(yè)面描述XML文件中的內(nèi)容解析為內(nèi)存中的對(duì)應(yīng)組件信息,并指明組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,然后將解析出來(lái)的結(jié)果傳遞給代碼重組引擎;代碼重組引擎根據(jù)XML解析引擎得到的組件和與其對(duì)應(yīng)的邏輯處理的關(guān)系,生成應(yīng)用于桌面和瀏覽器端的兩套系統(tǒng)。本發(fā)明通過(guò)描述語(yǔ)言對(duì)界面表現(xiàn)層進(jìn)行定制,通過(guò)配置文件和轉(zhuǎn)換綁定機(jī)制,動(dòng)態(tài)生成桌面應(yīng)用和web應(yīng)用兩種應(yīng)用系統(tǒng),大大降低了開(kāi)發(fā)工作量和維護(hù)難度。
文檔編號(hào)H04L12/00GK1983958SQ20061006046
公開(kāi)日2007年6月20日 申請(qǐng)日期2006年4月23日 優(yōu)先權(quán)日2006年4月23日
發(fā)明者孫桐 申請(qǐng)人:華為技術(shù)有限公司