本發(fā)明屬于軟件定制開發(fā)技術(shù)領(lǐng)域,尤其涉及一種快速定制用戶界面和功能的方法。
背景技術(shù):
現(xiàn)有企業(yè)軟件在具體實(shí)施時(shí),往往會(huì)發(fā)現(xiàn)有些需求無法滿足。而且,隨著企業(yè)業(yè)務(wù)的變動(dòng),需求也是變動(dòng)的。如果需要解決企業(yè)的特定需求,或者變化的需求。不可避免的需要對(duì)軟件進(jìn)行定制開發(fā),甚至在現(xiàn)有的中間件平臺(tái)上重寫開發(fā)一個(gè)新的項(xiàng)目。
定制開發(fā)和重新開發(fā)的主要問題有1)開發(fā)成本高2)實(shí)施周期長3)定制開發(fā)需要使用復(fù)雜開發(fā)工具開發(fā)編譯,修改麻煩4)后續(xù)升級(jí)和維護(hù)困難。
上述方式就使得這些現(xiàn)有的方法無法快速解決客戶需求,從而面臨定制開發(fā)太復(fù)雜,實(shí)施太困難的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例的目的在于提供一種快速定制用戶界面和功能的方法,能夠方便快速將用戶界面和功能成功定制。
本發(fā)明實(shí)施例是這樣實(shí)現(xiàn)的:
一種快速定制用戶界面和功能的方法,包括:
在服務(wù)器主程序中設(shè)置新增定制用戶界面和功能的程序接口;
在服務(wù)器主程序中設(shè)置供動(dòng)態(tài)掛載函數(shù)和變量的文件系統(tǒng);
在服務(wù)器主程序中設(shè)置動(dòng)態(tài)編程語言的執(zhí)行引擎;
在服務(wù)器主程序中設(shè)置包含定制需求所要求的腳本語言代碼和界面包資源的動(dòng)態(tài)語言腳本文件;
服務(wù)器將所述動(dòng)態(tài)語言腳本文件分配給需要定制用戶界面和功能的用戶端,用戶端向服務(wù)器發(fā)出定制請(qǐng)求,用戶端和服務(wù)器數(shù)據(jù)交互,所述用戶端運(yùn)行所述文件系統(tǒng)通過所述程序接口動(dòng)態(tài)加載所述動(dòng)態(tài)語言腳本文件,由所述執(zhí)行引擎執(zhí)行所述動(dòng)態(tài)語言腳本文件,在用戶端上生成定制的用戶界面、邏輯及功能。
其中,所述動(dòng)態(tài)語言腳本文件為javascript文件、Python文件或VbScript文件。
其中,所述執(zhí)行引擎為Javascript引擎、Python引擎或VbScript引擎。
其中,所述用戶端為用戶組或用戶組織結(jié)構(gòu)或單一用戶。
其中,所述動(dòng)態(tài)語言腳本文件中的界面包資源包含圖片和/或視頻和/或flash資源文件。
本發(fā)明實(shí)施例通過在主程序中設(shè)置程序接口、文件系統(tǒng)、執(zhí)行引擎和腳本文件,這樣當(dāng)用戶端有定制需求時(shí),直接與服務(wù)器端數(shù)據(jù)交互,然后用戶端就會(huì)得到相應(yīng)的定制結(jié)果,從而簡化了在用戶端新開發(fā)定制功能的繁瑣流程,縮短了定制用戶界面和功能的周期;當(dāng)定制需求不同時(shí),只需要將腳本文件進(jìn)行修改即可實(shí)現(xiàn)快速定制,這樣就減少定制工作量,實(shí)施簡單,產(chǎn)品升級(jí)后腳本文件繼續(xù)有效,部署或更改腳本文件不需要停止/重啟服務(wù)器。
附圖說明
圖1是本發(fā)明快速定制用戶界面和功能的方法流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例通過在主程序中設(shè)置程序接口、文件系統(tǒng)、執(zhí)行引擎和腳本文件,這樣當(dāng)用戶端有定制需求時(shí),直接與服務(wù)器端數(shù)據(jù)交互,然后用戶端就會(huì)得到相應(yīng)的定制結(jié)果,從而簡化了在用戶端新開發(fā)定制功能的繁瑣流程,縮短了定制用戶界面和功能的周期;當(dāng)定制需求不同時(shí),只需要將腳本文件進(jìn)行修改即可實(shí)現(xiàn)快速定制,這樣就減少定制工作量,實(shí)施簡單,產(chǎn)品升級(jí)后腳本文件繼續(xù)有效,部署或更改腳本文件不需要停止/重啟服務(wù)器。
以下結(jié)合具體實(shí)施例對(duì)本發(fā)明的具體實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
如圖1所示,一種快速定制用戶界面和功能的方法,包括:
在服務(wù)器主程序中設(shè)置便于新增定制用戶界面和功能的程序接口;
在服務(wù)器主程序中設(shè)置供動(dòng)態(tài)掛載函數(shù)和變量的文件系統(tǒng);
在服務(wù)器主程序中設(shè)置動(dòng)態(tài)編程語言的執(zhí)行引擎;所述執(zhí)行引擎為Javascript引擎、Python引擎或VbScript引擎。
Javascript引擎,是一個(gè)專門處理JavaScript腳本的虛擬機(jī),JavaScript解析引擎就是能夠“讀懂”JavaScript代碼,并準(zhǔn)確地給出代碼運(yùn)行結(jié)果的一段程序。上述這些引擎使用的編程語言不同,但功能都是相同的。
在服務(wù)器主程序中設(shè)置包含定制需求所要求的腳本語言代碼和界面包資源的動(dòng)態(tài)語言腳本文件(Building block);所述動(dòng)態(tài)語言腳本文件為javascript文件、Python文件、VbScript文件。
所述動(dòng)態(tài)語言腳本文件中的界面包資源包含圖片和/或視頻和/或flash資源文件。這里的Building block可以是一個(gè)或多個(gè)需求的組合,一組定制的組合,用于解決一個(gè)或一組需求。
服務(wù)器將所述動(dòng)態(tài)語言腳本文件分配給需要定制用戶界面和功能的用戶端,用戶端向服務(wù)器發(fā)出定制請(qǐng)求,用戶端和服務(wù)器數(shù)據(jù)交互,所述用戶端運(yùn)行所述文件系統(tǒng)通過所述程序接口動(dòng)態(tài)加載所述動(dòng)態(tài)語言腳本文件,由所述執(zhí)行引擎執(zhí)行所述動(dòng)態(tài)語言腳本文件,在用戶端上生成定制的用戶界面、邏輯及功能。
所述用戶端為用戶組或用戶組織結(jié)構(gòu)或單一用戶。
管理員可以在線編輯或上傳或禁用Building block,管理員可以設(shè)置Building Block對(duì)哪些用戶有效,用戶登錄系統(tǒng)時(shí),會(huì)加載Building block,之后會(huì)生成定制的頁面和邏輯和功能。
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用于限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。