亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

應(yīng)用程序生成方法及裝置的制作方法

文檔序號:6382523閱讀:227來源:國知局

專利名稱::應(yīng)用程序生成方法及裝置的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及計算機(jī)技術(shù),尤其涉及一種應(yīng)用程序生成方法及裝置。
背景技術(shù)
:電力企業(yè)在“以信息化帶動工業(yè)化,以工業(yè)化促進(jìn)信息化”的戰(zhàn)略構(gòu)想的指引下,企業(yè)信息化呈現(xiàn)出以下趨勢趨勢一,應(yīng)用模式由管控分離向信息一體化轉(zhuǎn)變,即實現(xiàn)生產(chǎn)實時信息與管理信息的集成。趨勢二,應(yīng)用架構(gòu)由分散應(yīng)用向整合應(yīng)用轉(zhuǎn)變,即從部門級單項應(yīng)用到企業(yè)級涵蓋生產(chǎn)、營銷及財務(wù)、人事、設(shè)備等環(huán)節(jié)的整體應(yīng)用。趨勢三,數(shù)據(jù)管理由分散管理向集中管理轉(zhuǎn)變,形成信息共享、增值的機(jī)制。趨勢四,系統(tǒng)模式由C/S架構(gòu)向B/S+C/S架構(gòu)轉(zhuǎn)變,適應(yīng)企業(yè)業(yè)務(wù)處理和經(jīng)營運作快捷化、實時化的要求。目前,為順應(yīng)電力行業(yè)信息化的新趨勢,電力企業(yè)建立了為客戶提供各種服務(wù)的電力管理一體化平臺。當(dāng)前,應(yīng)用程序開發(fā)人員開發(fā)電力管理一體化平臺的某一業(yè)務(wù)模塊時,首先需根據(jù)該業(yè)務(wù)模塊的業(yè)務(wù)流程構(gòu)建該業(yè)務(wù)模塊的應(yīng)用系統(tǒng)架構(gòu),然后再根據(jù)構(gòu)建的架構(gòu)進(jìn)行軟件開發(fā)。當(dāng)該業(yè)務(wù)模塊的業(yè)務(wù)流程發(fā)生變化時,開發(fā)人員需重復(fù)上述步驟完成適應(yīng)新業(yè)務(wù)流程的軟件開發(fā)?,F(xiàn)有業(yè)務(wù)模塊開發(fā)過程復(fù)雜,效率低,不能及時的根據(jù)業(yè)務(wù)變化更新服務(wù)TDO
發(fā)明內(nèi)容本發(fā)明提供一種應(yīng)用程序生成方法及裝置,以簡化軟件開發(fā)過程,提高效率。本發(fā)明的一個方面是提供一種應(yīng)用程序生成方法,包括獲取至少一個規(guī)則定義語言;依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。本發(fā)明的另一個方面是提供一種應(yīng)用程序生成裝置,包括獲取模塊,用于獲取至少一個規(guī)則定義語言;解析模塊,用于依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。本發(fā)明的技術(shù)效果是采用本發(fā)明提供的技術(shù)方案,開發(fā)人員僅需聚焦于業(yè)務(wù)流程分析,然后根據(jù)分析結(jié)果組建規(guī)則定義語言以構(gòu)成業(yè)務(wù)流程,最后通過應(yīng)用程序生成裝置解析生成程序代碼,整個應(yīng)用程序開發(fā)的過程,無需編寫程序代碼,簡化了業(yè)務(wù)模塊軟件開發(fā)過程,便于軟件開發(fā)人員對業(yè)務(wù)平臺進(jìn)行及時的動態(tài)更新,即便是軟件開發(fā)經(jīng)驗較少的開發(fā)人員,也能快速完成。圖I為本發(fā)明提供的應(yīng)用程序生成方法實施例一的流程示意圖;圖2為本發(fā)明提供的應(yīng)用程序生成方法實施例二的流程示意圖;圖3為本發(fā)明提供的應(yīng)用程序生成裝置實施例一的結(jié)構(gòu)示意圖;圖4為本發(fā)明提供的應(yīng)用程序生成裝置實施例二的結(jié)構(gòu)示意圖5為本發(fā)明提供的應(yīng)用程序生成裝置實施例中解析模塊的一具體實施例的結(jié)構(gòu)示意圖;圖6為本發(fā)明提供的業(yè)務(wù)描述和解析引擎的實施例結(jié)構(gòu)示意圖;圖7為本發(fā)明提供的業(yè)務(wù)描述和解析方法實施例的流程圖;圖8為本發(fā)明提供的業(yè)務(wù)描述和解析方法的實施例中解析過程的流程示意圖。具體實施例方式如圖I所示,本發(fā)明提供的應(yīng)用程序生成方法實施例一的流程示意圖。如圖所示,所述方法包括步驟101、獲取至少一個規(guī)則定義語言。具體地,所述規(guī)則定義語言作為通用構(gòu)件存儲在構(gòu)件庫中。實際應(yīng)用中,構(gòu)庫開發(fā)人員通過對當(dāng)前系統(tǒng)的應(yīng)用領(lǐng)域的分析,設(shè)計規(guī)則定義語言。該規(guī)則定義語言包含有動態(tài)邏輯表達(dá)、嵌套、級聯(lián)、模板等關(guān)系定義。更具體地,所述規(guī)則定義語言包括域數(shù)據(jù)、業(yè)務(wù)邏輯規(guī)則和構(gòu)件標(biāo)識。應(yīng)用程序開發(fā)人員在分析過業(yè)務(wù)流程后,通過人機(jī)交互界面在構(gòu)件庫中選出所需的規(guī)則定義語言。然后,應(yīng)用程序生成裝置獲取應(yīng)用程序開發(fā)人員選出的至少一個規(guī)則定義語言。步驟102、依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。具體地,應(yīng)用程序生成裝置依次對獲取到的各規(guī)則定義語言進(jìn)行解析,生成對應(yīng)的程序代碼。即首先,所述應(yīng)用程序生成裝置根據(jù)預(yù)設(shè)的反射機(jī)制模型,對規(guī)則定義語言的域數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得處理后的第一數(shù)據(jù)結(jié)果。然后,所述應(yīng)用程序生成裝置根據(jù)預(yù)設(shè)的語法解析模型,對所述規(guī)則定義語言的業(yè)務(wù)邏輯規(guī)則進(jìn)行解析,生成邏輯計算模型。隨后,所述應(yīng)用程序生成裝置將所述第一數(shù)據(jù)結(jié)果作為所述邏輯計算模型的參數(shù),根據(jù)所述邏輯計算模型,計算出第二數(shù)據(jù)結(jié)果。最后,所述應(yīng)用程序生成裝置根據(jù)所述第二數(shù)據(jù)結(jié)果及所述規(guī)則定義語言的構(gòu)件標(biāo)識,生成對應(yīng)的程序代碼。重復(fù)上述各步驟,直至所述應(yīng)用程序生成裝置對所有規(guī)則定義語言進(jìn)行了解析后均生成了對應(yīng)的程序代碼為止。采用本實施例所述的方法,開發(fā)人員僅需聚焦于業(yè)務(wù)流程分析,然后根據(jù)分析結(jié)果組建規(guī)則定義語言以構(gòu)成業(yè)務(wù)流程,最后通過應(yīng)用程序生成裝置解析生成程序代碼,整個應(yīng)用程序開發(fā)的過程,無需編寫程序代碼,簡化了業(yè)務(wù)模塊軟件開發(fā)過程,便于軟件開發(fā)人員對業(yè)務(wù)平臺進(jìn)行及時的動態(tài)更新,即便是軟件開發(fā)經(jīng)驗較少的開發(fā)人員,也能快速完成。進(jìn)一步地,上述實施例所述步驟102之后,還包括將生成的所有程序代碼發(fā)送至服務(wù)器,以使所述服務(wù)器執(zhí)行所述程序代碼。具體地,所述應(yīng)用程序生成裝置將生成的所有程序代碼發(fā)送至服務(wù)器,以使所述服務(wù)器執(zhí)行所述程序代碼,得出執(zhí)行結(jié)果。其中,所述服務(wù)器為任意可執(zhí)行程序的執(zhí)行設(shè)備。下面結(jié)合具體實例對本發(fā)明所述規(guī)則定義語言的結(jié)構(gòu)作進(jìn)一步說明。所述規(guī)則定義語言的域數(shù)據(jù)在實際繁雜的業(yè)務(wù)過程中存在各種不同的關(guān)聯(lián)關(guān)系,時常需要互相調(diào)用,這個時候就需要有個方式來實現(xiàn)業(yè)務(wù)數(shù)據(jù)的傳遞。用于表征數(shù)據(jù)間的關(guān)聯(lián)關(guān)系,如調(diào)用、引用和傳遞關(guān)系的即為上述實施例中所述的規(guī)則定義語言的域數(shù)據(jù)。如表I所示,所述域數(shù)據(jù)可以為表中所述的幾種。表I域數(shù)據(jù)類型和具體表達(dá)對照表域類型_表達(dá)式___數(shù)據(jù)字段__$F[名稱]__對數(shù)據(jù)行字段的引用查詢條件字段__$Q[名稱]對查詢字段的引用_tableveiw參數(shù)__$S[名稱]參數(shù)引用到的參數(shù)引用全局的系統(tǒng)參數(shù)變量$[名稱]__應(yīng)用系統(tǒng)的參數(shù)的引用業(yè)務(wù)表單級聯(lián)參數(shù)$C[名稱]為級聯(lián)構(gòu)件才會使用,主要是___從構(gòu)件中讀取其它構(gòu)件的值所述規(guī)則定義語言的業(yè)務(wù)邏輯規(guī)則用于描述該規(guī)則定義語言的邏輯提供統(tǒng)一的基本算法規(guī)則,如字符串操作,文件操作,排序,XML文檔操作,。具體地,如表2所示列出的幾種具體的業(yè)務(wù)邏輯規(guī)則。表達(dá)式。表2部分業(yè)務(wù)邏輯規(guī)則表達(dá)式類型__表達(dá)式__mj_exist#{exist{|}域數(shù)據(jù)丨|}返#{exist{[}$Q[a]{|}and回表達(dá)式}#a=$Q[a]}#without#{without{|}域數(shù)據(jù){丨}#{without{|}$[a]{|}cInd__返回表達(dá)式}#_a=$[a]}#_shell#{shell(Ij條件表達(dá)式#{shell(|)$S[paraml]!=null{|}返回表達(dá)式}#{|}andc=$SfparamI]}#嵌套內(nèi)含邏輯表達(dá)式#{exist{|)$Q[a]{丨}#{without(I}$Q[b]■{I)andb=$Q[bj)#anda=$Q[a]}#所述規(guī)則定義語言的構(gòu)件標(biāo)識構(gòu)件標(biāo)識結(jié)合數(shù)據(jù)定義了具體業(yè)務(wù)的展現(xiàn)方式。具體地,如業(yè)務(wù)表單的程序開發(fā),構(gòu)件庫開發(fā)人員將業(yè)務(wù)表單元素抽象成為構(gòu)件標(biāo)識。構(gòu)件標(biāo)識結(jié)合數(shù)據(jù)定義了業(yè)務(wù)表單元素的展現(xiàn)方式。用構(gòu)件標(biāo)識體現(xiàn)了數(shù)據(jù)與表單頁面之間的彡口口再進(jìn)一步地,如圖2所示,上述各實施例所述的方法除包括上述各步驟外,還包括步驟103、構(gòu)建所述規(guī)則定義語言。具體地,構(gòu)件庫開發(fā)人員通過應(yīng)用程序生成裝置提供的規(guī)則語言構(gòu)件界面,輸入構(gòu)件規(guī)則定義語言的參數(shù)。然后所述應(yīng)用程序生成裝置根據(jù)所述參數(shù),構(gòu)建所述規(guī)則定義;五古P口口O步驟104、存儲已構(gòu)建的所述規(guī)則定義語言。具體地,所述應(yīng)用程序生成裝置將已構(gòu)建的規(guī)則定義語言存儲至構(gòu)件庫內(nèi),以供軟件開發(fā)人員使用。通過本實施例,應(yīng)用程序生成裝置可根據(jù)構(gòu)件庫開發(fā)人員輸入的參數(shù)構(gòu)建規(guī)則定義語言并存儲,以不斷完善構(gòu)件庫,進(jìn)一步提高應(yīng)用程序生成裝置的實用性,更方便開發(fā)人員的使用。下面結(jié)合表單開發(fā)實例,對本發(fā)明實施例所述的應(yīng)用程序生成方法進(jìn)行詳細(xì)的說明。假設(shè)構(gòu)件庫中存儲有基于WEB頁面專有的規(guī)則定義語言。所述規(guī)則定義語言為構(gòu)件庫開發(fā)人員通過對表單的元素進(jìn)行分析,通過應(yīng)用程序生成裝置提供的交換界面輸入分析參數(shù),所述應(yīng)用程序生成裝置根據(jù)所述分析參數(shù)構(gòu)建規(guī)則定義語言,并存儲至所述構(gòu)建庫中。首先,應(yīng)用程序生成裝置獲取至少一個規(guī)則定義語言。其中,這至少一個規(guī)則定義語言為表單頁面開發(fā)人員通過對業(yè)務(wù)流程的分析,從所述構(gòu)件庫中選出來的。然后,所述應(yīng)用程序生成裝置創(chuàng)建一個新的實例,為該實例創(chuàng)建域數(shù)據(jù)存儲棧,該存儲空間的訪問權(quán)限僅為本實例。同時,所述應(yīng)用程序生成裝置為該實例創(chuàng)建表單域空間,將讀取到的所述至少一個規(guī)則定義語言存儲在所述表單域空間中。隨后,所述應(yīng)用程序生成裝置將默認(rèn)的模板加載到所述表單域空間,若存在有自定義模塊,則將該自定義模板加載到所述表單域空間。隨后,所述應(yīng)用程序生成裝置讀取表單域空間中的一個規(guī)則定義語言,采用預(yù)設(shè)的反射機(jī)制模型,對該規(guī)則定義語言的域數(shù)據(jù)進(jìn)行數(shù)據(jù)獲取、驗證和數(shù)據(jù)加工等數(shù)據(jù)處理,將處理后的得到的第一數(shù)據(jù)結(jié)果存儲到所述域數(shù)據(jù)存儲棧內(nèi)。所述應(yīng)用程序生成裝置采用預(yù)設(shè)的語法解析模型,對該規(guī)則定義語言的規(guī)則業(yè)務(wù)邏輯規(guī)則進(jìn)行語法解析,生成邏輯計算模型,將存儲在所述域數(shù)據(jù)存儲棧內(nèi)的第一數(shù)據(jù)結(jié)果帶入到所述邏輯計算模型中,計算出第二數(shù)據(jù)結(jié)果,并將該第二數(shù)據(jù)結(jié)果進(jìn)行緩存。所述應(yīng)用程序生成裝置根據(jù)預(yù)設(shè)的構(gòu)件解析模型,將緩存的第二數(shù)據(jù)結(jié)果和所述規(guī)則定義語言的構(gòu)件標(biāo)識解析成可用于表單頁面顯示的代碼。再后,所述應(yīng)用程序生成裝置將所述表單頁面顯示的代碼寫入到所述表單域空間內(nèi)所述模板的對應(yīng)位置處。所述應(yīng)用程序生成裝置讀取表單域空間中下一個規(guī)則定義語言,重復(fù)上述步驟,直至表單域空間中所有規(guī)則定義語言均最后解析為表單頁面顯示的代碼,并寫入到所述表單域空間內(nèi)所述模板的對應(yīng)位置處為止。最后,所述應(yīng)用程序生成裝置將所述表單域空間內(nèi)的模板,即完整的應(yīng)用程序代碼,發(fā)送至服務(wù)器,以使所述服務(wù)器執(zhí)行所述模板。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關(guān)的硬件來完成。前述的程序可以存儲于一計算機(jī)可讀取存儲介質(zhì)中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質(zhì)包括R0M、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。如圖3所示,本發(fā)明提供的應(yīng)用程序生成裝置實施例一的結(jié)構(gòu)示意圖。如圖所示,所述應(yīng)用程序生成裝置包括獲取模塊I和解析模塊2。其中,所述獲取模塊I用于獲取至少一個規(guī)則定義語言。所述解析模塊2用于依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。具體地,本實施例中所述應(yīng)用程序生成裝置可實現(xiàn)上述方法實施例中的步驟。本實施中所述獲取模塊和所述解析模塊的具體實現(xiàn)原理可參見上述方法實施例中所公開的相關(guān)內(nèi)容,此處不再贅述。采用實施例所述的應(yīng)用程序生成裝置,開發(fā)人員僅需聚焦于業(yè)務(wù)流程分析,然后根據(jù)分析結(jié)果組建規(guī)則定義語言以構(gòu)成業(yè)務(wù)流程,最后通過應(yīng)用程序生成裝置解析生成程序代碼,整個應(yīng)用程序開發(fā)的過程,無需編寫程序代碼,簡化了業(yè)務(wù)模塊軟件開發(fā)過程,便于軟件開發(fā)人員對業(yè)務(wù)平臺進(jìn)行及時的動態(tài)更新,即便是軟件開發(fā)經(jīng)驗較少的開發(fā)人員,也能快速完成。進(jìn)一步地,如圖4所示,上述實施例一所述的應(yīng)用程序生成裝置,還包括發(fā)送模塊3。所述發(fā)送模塊用于將生成的所有程序代碼發(fā)送至服務(wù)器,以使所述服務(wù)器執(zhí)行所述程序代碼。再進(jìn)一步地,如圖4所示,上述各實施例所述的應(yīng)用程序生成裝置,還包括構(gòu)建模塊4和存儲模塊5。其中所述構(gòu)建模塊用于構(gòu)建所述規(guī)則定義語言。所述存儲模塊用于存儲已構(gòu)建的所述規(guī)則定義語言。具體地,本發(fā)明各實施例中所述的規(guī)則定義語言包括域數(shù)據(jù)、業(yè)務(wù)邏輯規(guī)則和構(gòu)件標(biāo)識。如圖5所示,所述解析模塊2包括數(shù)據(jù)處理單元201、解析單元202、計算單元203和生成單元204。其中,所述數(shù)據(jù)處理單元201用于根據(jù)預(yù)設(shè)的反射機(jī)制模型,對規(guī)則定義語言的域數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得處理后的第一數(shù)據(jù)結(jié)果。所述解析單元202用于根據(jù)預(yù)設(shè)的語法解析模型,對所述規(guī)則定義語言的業(yè)務(wù)邏輯規(guī)則進(jìn)行解析,生成邏輯計算模型。所述計算單元203用于將所述第一數(shù)據(jù)結(jié)果作為所述邏輯計算模型的參數(shù),根據(jù)所述邏輯計算模型,計算出第二數(shù)據(jù)結(jié)果。所述生成單元204用于根據(jù)所述第二數(shù)據(jù)結(jié)果及所述規(guī)則定義語言的構(gòu)件標(biāo)識,生成程序代碼。如圖6所示,本發(fā)明提供的業(yè)務(wù)描述和解析引擎實施例結(jié)構(gòu)示意圖。本實施例包括規(guī)則定義語言生成引擎I和規(guī)則解析引擎2。其中,所述規(guī)則定義語言生成引擎I用于依據(jù)對表單元素的分析和抽象按照預(yù)設(shè)規(guī)則生成規(guī)則定義語言。所述規(guī)則解析引擎2用于對接收到的規(guī)則定義語言進(jìn)行規(guī)則解析。本發(fā)明設(shè)計了一種基于規(guī)則專有的頁面表單定義業(yè)務(wù)描述和解析引擎,提供以業(yè)務(wù)驅(qū)動的開發(fā)模式下,開發(fā)人員開發(fā)業(yè)務(wù)模塊時,不需要考慮應(yīng)用系統(tǒng)架構(gòu)、框架如何構(gòu)建。開發(fā)人員聚焦于業(yè)務(wù)應(yīng)用于業(yè)務(wù)流程分析,設(shè)計出對應(yīng)的數(shù)據(jù)模型,一般簡單的應(yīng)用即可完成。對于復(fù)雜業(yè)務(wù),可采用腳本方式提供功能擴(kuò)展。引入模型驅(qū)動(MDA)的設(shè)計思想,通過業(yè)務(wù)建模實現(xiàn)應(yīng)用的自動或半自動生成。其中,上述實施例中,所述規(guī)則定義語言包括域數(shù)據(jù)、業(yè)務(wù)邏輯規(guī)則或構(gòu)件標(biāo)識。進(jìn)一步地,上述實施例中,所述規(guī)則解析引擎包括規(guī)則解析處理模塊和數(shù)據(jù)處理模塊。其中,所述規(guī)則解析處理模塊用于解析規(guī)則定義語言并將解析后得出的數(shù)據(jù)輸出。所述數(shù)據(jù)處理模塊用于接收所述規(guī)則解析處理模塊輸出的數(shù)據(jù),對接收的數(shù)據(jù)進(jìn)行邏輯和/或計算處理并將處理結(jié)果進(jìn)行存儲。如圖7所示,本發(fā)明提供的業(yè)務(wù)描述和解析方法實施例的流程圖。本實施例包括步驟SI、依據(jù)對業(yè)務(wù)表單各元素的分析和抽象結(jié)果按照預(yù)設(shè)規(guī)則生成規(guī)則定義語言;步驟S2、對接收到的規(guī)則定義語言進(jìn)行規(guī)則解析。采用本實施例所述方法易實現(xiàn)且業(yè)務(wù)信息易維護(hù)。進(jìn)一步地,為完善生成的規(guī)則定義語言,本實施例基于上述實施例一,上述實施例一種所述的依據(jù)對表單元素的分析和抽象按照預(yù)設(shè)規(guī)則生成規(guī)則定義語言,具體實現(xiàn)如下分析業(yè)務(wù)表單元素,將分析出的關(guān)聯(lián)關(guān)系按照預(yù)設(shè)規(guī)則生成為規(guī)則定義語言的域數(shù)據(jù);分析業(yè)務(wù)表單元素,將分析出的業(yè)務(wù)內(nèi)容信息按照預(yù)設(shè)規(guī)則生成為規(guī)則定義語言的業(yè)務(wù)邏輯規(guī)則;抽象業(yè)務(wù)表單元素,將抽象出的信息按照預(yù)設(shè)規(guī)則生成為規(guī)則定義語言的構(gòu)建標(biāo)識。進(jìn)一步地,結(jié)合表單頁面開發(fā)實例,對上述各實施例中,所述的對接收到的規(guī)則定義語言進(jìn)行規(guī)則解析進(jìn)行詳細(xì)說明。如圖8所示的流程圖,具體實現(xiàn)如下首先,規(guī)則引擎創(chuàng)建一個新的實例,為該實例創(chuàng)建域數(shù)據(jù)存儲棧,該存儲空間的訪問權(quán)限僅為本實例,并創(chuàng)建表單域空間。然后,加載模板,如果存在自定義模板加載,將其至表單域空間,否則加載默認(rèn)模板至表單域空間。隨后,讀取表單域中的一個定義項,包括業(yè)務(wù)邏輯規(guī)則定義和規(guī)則中包含的全部域數(shù)據(jù)。對域數(shù)據(jù)采用反射機(jī)制進(jìn)行數(shù)據(jù)獲取、驗證和數(shù)據(jù)加工,將最終結(jié)果存入域數(shù)據(jù)存儲棧內(nèi)。對邏輯表達(dá)式進(jìn)行語法解析,在解析過程中,將加工好的域數(shù)據(jù)值,代入相應(yīng)邏輯運算和算術(shù)運算,將結(jié)果進(jìn)行緩存。隨后,定義項中如果存在構(gòu)件標(biāo)識,引擎將啟用構(gòu)件解析器,將上述步驟的緩存結(jié)果和構(gòu)件標(biāo)識動態(tài)解析成,可以用于表單頁面顯示的代碼。再后,將上述步驟的解析出的代碼寫入對應(yīng)的表單域空間,即將代碼寫入所述表單域空間中加載的自定義模板或默認(rèn)模板的指定位置。繼續(xù)讀取表單與中的下一定義向,直至遍歷所有表單域中的定義項。最后,引擎將表單域空間的數(shù)據(jù),返回給服務(wù)器程序,通過服務(wù)器將最終表單展現(xiàn)給客戶端。該步驟內(nèi)容圖8中未示出。上述各實施例中所述解析域數(shù)據(jù),具體實現(xiàn)如下對域數(shù)據(jù)采用反射機(jī)制進(jìn)行數(shù)據(jù)獲取、驗證和數(shù)據(jù)加工,將最終結(jié)果存入域數(shù)據(jù)存儲棧內(nèi);并在解析過程中,將加工好的域數(shù)據(jù)值,代入相應(yīng)邏輯運算和算術(shù)運算,并將結(jié)果進(jìn)行緩存。綜上所述,本發(fā)明提供了契約式的接口,對應(yīng)用系統(tǒng)可復(fù)用功能,將業(yè)務(wù)信息封裝為標(biāo)準(zhǔn)化功能構(gòu)件,能夠直接在規(guī)則描述語言中采用,或加以定制調(diào)整快速滿足不同的用戶需求,另一方面屏蔽了底層系統(tǒng)的差異,提供一個成熟穩(wěn)定的運行環(huán)境。規(guī)則定義語言通過對表單的元素進(jìn)行分析與抽象,設(shè)計了一種基于WEB頁面專有的規(guī)則定義語言。規(guī)則定義語言中包含動態(tài)邏輯表達(dá)、嵌套、級聯(lián)、模板等關(guān)系定義。針對規(guī)則定義語言,本發(fā)明設(shè)計了一套規(guī)則解析引擎,能自動完成對規(guī)則定義語言的處理,實現(xiàn)實際業(yè)務(wù)中所要求邏輯功能和數(shù)據(jù)安全校驗。對于規(guī)則定義語言,引擎中采用動態(tài)腳本框架來支持解析處理。在運行時尋找、讀取和執(zhí)行規(guī)則定義語言,利用動態(tài)功能在運行時,采用反射機(jī)制進(jìn)行數(shù)據(jù)驗證、數(shù)據(jù)加工,從而實現(xiàn)應(yīng)用程序的邏輯功能。最后應(yīng)說明的是以上各實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的范圍。權(quán)利要求1.一種應(yīng)用程序生成方法,其特征在于,包括獲取至少一個規(guī)則定義語言;依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。2.根據(jù)權(quán)利要求I所述的應(yīng)用程序生成方法,其特征在于,所述依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼之后,還包括將生成的所有程序代碼發(fā)送至服務(wù)器,以使所述服務(wù)器執(zhí)行所述程序代碼。3.根據(jù)權(quán)利要求I或2所述應(yīng)用程序生成方法,其特征在于,還包括構(gòu)建所述規(guī)則定義語言;存儲已構(gòu)建的所述規(guī)則定義語言。4.根據(jù)權(quán)利要求I所述應(yīng)用程序生成方法,其特征在于,所述規(guī)則定義語言包括域數(shù)據(jù)、業(yè)務(wù)邏輯規(guī)則和構(gòu)件標(biāo)識。5.根據(jù)權(quán)利要求4所述應(yīng)用程序生成方法,其特征在于,所述依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼,包括根據(jù)預(yù)設(shè)的反射機(jī)制模型,對規(guī)則定義語言的域數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得處理后的第一數(shù)據(jù)結(jié)果;根據(jù)預(yù)設(shè)的語法解析模型,對所述規(guī)則定義語言的業(yè)務(wù)邏輯規(guī)則進(jìn)行解析,生成邏輯計算模型;將所述第一數(shù)據(jù)結(jié)果作為所述邏輯計算模型的參數(shù),根據(jù)所述邏輯計算模型,計算出第二數(shù)據(jù)結(jié)果;根據(jù)所述第二數(shù)據(jù)結(jié)果及所述規(guī)則定義語言的構(gòu)件標(biāo)識,采用預(yù)設(shè)的構(gòu)件解析模型生成對應(yīng)的程序代碼;重復(fù)上述各步驟,直至所有規(guī)則定義語言均生成了對應(yīng)的程序代碼為止。6.一種應(yīng)用程序生成裝置,其特征在于,包括獲取模塊,用于獲取至少一個規(guī)則定義語言;解析模塊,用于依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。7.根據(jù)權(quán)利要求6所述的應(yīng)用程序生成裝置,其特征在于,還包括發(fā)送模塊,用于將生成的所有程序代碼發(fā)送至服務(wù)器,以使所述服務(wù)器執(zhí)行所述程序代碼。8.根據(jù)權(quán)利要求6或7所述的應(yīng)用程序生成裝置,其特征在于,還包括構(gòu)建模塊,用于構(gòu)建所述規(guī)則定義語言;存儲模塊,用于存儲已構(gòu)建的所述規(guī)則定義語言。9.根據(jù)權(quán)利要求5或6所述的應(yīng)用程序生成裝置,其特征在于,所述規(guī)則定義語言包括域數(shù)據(jù)、業(yè)務(wù)邏輯規(guī)則和構(gòu)件標(biāo)識;所述解析模塊包括數(shù)據(jù)處理單元,用于根據(jù)預(yù)設(shè)的反射機(jī)制模型,對規(guī)則定義語言的域數(shù)據(jù)進(jìn)行數(shù)據(jù)處理,獲得處理后的第一數(shù)據(jù)結(jié)果;解析單元,用于根據(jù)預(yù)設(shè)的語法解析模型,對所述規(guī)則定義語言的業(yè)務(wù)邏輯規(guī)則進(jìn)行解析,生成邏輯計算模型;計算單元,用于將所述第一數(shù)據(jù)結(jié)果作為所述邏輯計算模型的參數(shù),根據(jù)所述邏輯計算模型,計算出第二數(shù)據(jù)結(jié)果;生成單元,用于根據(jù)所述第二數(shù)據(jù)結(jié)果及所述規(guī)則定義語言的構(gòu)件標(biāo)識,生成程序代碼。全文摘要本發(fā)明提供一種應(yīng)用程序生成方法及裝置。其中,所述應(yīng)用程序生成方法包括獲取至少一個規(guī)則定義語言;依次解析各規(guī)則定義語言,生成對應(yīng)的程序代碼。本發(fā)明具有易維護(hù)、可視化、支持構(gòu)件級擴(kuò)展的特點,適用于電力行業(yè)。采用本發(fā)明提供的技術(shù)方案,開發(fā)人員僅需聚焦于業(yè)務(wù)流程分析,然后根據(jù)分析結(jié)果組建規(guī)則定義語言以構(gòu)成業(yè)務(wù)流程,最后通過應(yīng)用程序生成裝置解析生成程序代碼,整個應(yīng)用程序開發(fā)的過程,無需編寫程序代碼,簡化了業(yè)務(wù)模塊軟件開發(fā)過程,便于軟件開發(fā)人員對業(yè)務(wù)平臺進(jìn)行及時的動態(tài)更新,即便是軟件開發(fā)經(jīng)驗較少的開發(fā)人員,也能快速完成。文檔編號G06F9/44GK102929646SQ20121049528公開日2013年2月13日申請日期2012年11月28日優(yōu)先權(quán)日2011年12月9日發(fā)明者付萍萍,陳雪文,馬勇,晏歡,陳燕青申請人:江西省電力公司信息通信中心
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1