一種軟件生成方法、裝置及系統(tǒng)的制作方法
【專利摘要】本申請公開了一種軟件生成方法、裝置及系統(tǒng),其中方法包括:響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境;查詢構(gòu)件庫,獲取若干個目標構(gòu)件,所述目標構(gòu)件為生成所述目標軟件必須的構(gòu)件;調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析;利用所述解析后的目標構(gòu)件生成所述目標軟件。整個過程中,開發(fā)運行框架、中間件及生成軟件的構(gòu)件均可以直接獲取,無需重復進行代碼的開發(fā),從而大大減少了軟件開發(fā)的復雜度。
【專利說明】一種軟件生成方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請涉及軟件開發(fā)【技術(shù)領(lǐng)域】,更具體地說,涉及一種軟件生成方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]軟件產(chǎn)品的生產(chǎn)一直是基于代碼開發(fā)的模式,軟件代碼是一門復雜的、抽象的、介于自然和機器之間的語言,熟練掌握十分困難。軟件產(chǎn)品的生產(chǎn)主要依賴開發(fā)者對代碼的開發(fā)和測試人員對代碼的測試,使得軟件產(chǎn)品的開發(fā)實際上是知識密集型和人力密集型的產(chǎn)業(yè),成本高居不下。并且,由于代碼的復雜性,增加了軟件開發(fā)的難度。
【發(fā)明內(nèi)容】
[0003]有鑒于此,本申請?zhí)峁┝艘环N軟件生成方法、裝置及系統(tǒng),用于解決現(xiàn)有軟件開發(fā)過程過度依賴代碼的開發(fā),造成的軟件開發(fā)難度大的問題。
[0004]為了實現(xiàn)上述目的,現(xiàn)提出的方案如下:
[0005]一種軟件生成方法,包括:
[0006]響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境;
[0007]查詢構(gòu)件庫,獲取若干個目標構(gòu)件,所述目標構(gòu)件為生成所述目標軟件必須的構(gòu)件;
[0008]調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析;
[0009]利用所述解析后的目標構(gòu)件生成所述目標軟件。
[0010]優(yōu)選地,在所述構(gòu)件庫中不存在所述目標構(gòu)件時,還包括:
[0011]調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,并將生成的所述目標構(gòu)件存儲在所述構(gòu)件庫中。
[0012]優(yōu)選地,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,所述調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,包括:
[0013]確定所述目標構(gòu)件的類型;
[0014]依據(jù)所述目標構(gòu)件的類型,調(diào)用所述業(yè)務(wù)構(gòu)造服務(wù)單元中對應(yīng)的構(gòu)造器來生成所述目標構(gòu)件。
[0015]優(yōu)選地,還包括:
[0016]調(diào)用預存的監(jiān)控引擎,對軟件生成過程中的每一個操作進行監(jiān)控。
[0017]優(yōu)選地,所述構(gòu)造服務(wù)群中預先配置的開發(fā)運行框架包括Spring、Hibernate開源框架;所述構(gòu)造服務(wù)群中預先配置的中間件包括應(yīng)用服務(wù)器中間件、數(shù)據(jù)庫中間件、消息中間件和數(shù)據(jù)中間件。
[0018]一種軟件生成裝置,包括:
[0019]用戶響應(yīng)單元,用于響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境;
[0020]目標構(gòu)件獲取單元,用于查詢構(gòu)件庫,獲取若干個目標構(gòu)件,所述目標構(gòu)件為生成所述目標軟件必須的構(gòu)件;
[0021]解析單元,用于調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析;
[0022]生成單元,用于利用所述解析后的目標構(gòu)件生成所述目標軟件。
[0023]優(yōu)選地,還包括:
[0024]構(gòu)造服務(wù)群調(diào)用單元,用于在所述構(gòu)件庫中不存在所述目標構(gòu)件時,調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,并將生成的所述目標構(gòu)件存儲在所述構(gòu)件庫中。
[0025]優(yōu)選地,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,所述構(gòu)造服務(wù)群調(diào)用單元包括:
[0026]類型確定單元,用于確定所述目標構(gòu)件的類型;
[0027]構(gòu)造器調(diào)用單元,用于依據(jù)所述目標構(gòu)件的類型,調(diào)用所述業(yè)務(wù)構(gòu)造服務(wù)單元中對應(yīng)的構(gòu)造器來生成所述目標構(gòu)件。
[0028]優(yōu)選地,還包括:
[0029]監(jiān)控引擎調(diào)用單元,用于調(diào)用預存的監(jiān)控引擎,對軟件生成過程中的每一個操作進行監(jiān)控。
[0030]一種軟件生成系統(tǒng),包括上述所述的軟件生成裝置、構(gòu)造服務(wù)群和構(gòu)件庫;
[0031]所述構(gòu)造服務(wù)群包括業(yè)務(wù)構(gòu)造服務(wù)單元、開發(fā)運行框架單元和中間件單元,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,分別用于構(gòu)造不同的構(gòu)件;所述開發(fā)運行框架單元包括Spring、Hibernate開源框架;所述中間件單元包括應(yīng)用服務(wù)器中間件、數(shù)據(jù)庫中間件、消息中間件和數(shù)據(jù)中間件;
[0032]所述構(gòu)件庫用于存儲所述構(gòu)造服務(wù)群所構(gòu)造的構(gòu)件,其中構(gòu)件按照不同的業(yè)務(wù)領(lǐng)域,分類存儲在所述構(gòu)件庫中。
[0033]從上述的技術(shù)方案可以看出,本申請實施例提供的軟件生成方法,通過預先設(shè)置包括若干個開發(fā)運行框架和中間件的構(gòu)造服務(wù)群,以及存儲有若干個構(gòu)件的構(gòu)件庫,在生成軟件時,選取構(gòu)造服務(wù)群中的某些開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境,再從構(gòu)件庫中選取生成目標軟件所必須的目標構(gòu)件,通過調(diào)用對應(yīng)的引擎對目標構(gòu)件進行解析,最終生成用戶所要的軟件。整個過程中,開發(fā)運行框架、中間件及生成軟件的構(gòu)件均可以直接獲取,無需重復進行代碼的開發(fā),從而大大減少了軟件開發(fā)的復雜度。
【專利附圖】
【附圖說明】
[0034]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0035]圖1為本申請實施例公開的一種軟件生成方法流程圖;
[0036]圖2為本申請實施例公開的軟件生成裝置的結(jié)構(gòu)示意圖;
[0037]圖3為本申請實施例公開的另一種軟件生成裝置的結(jié)構(gòu)示意圖;
[0038]圖4為本申請實施例公開的構(gòu)造服務(wù)群的結(jié)構(gòu)示意圖;
[0039]圖5為本申請實施例公開的又一種軟件生成裝置的結(jié)構(gòu)示意圖;
[0040]圖6為本申請實施例公開的軟件生成系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041 ] 下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0042]針對現(xiàn)有的軟件開發(fā)過程需要大量的代碼開發(fā),提高了軟件開發(fā)的難度的問題,本申請?zhí)峁┝艘环N解決思路,本申請預先建立了構(gòu)造服務(wù)群、構(gòu)件庫及軟件生成容器,構(gòu)造服務(wù)群中預先設(shè)置了不同的構(gòu)造器,用于構(gòu)造不同的構(gòu)件,并將構(gòu)件存儲在構(gòu)件庫中,構(gòu)造服務(wù)群中還預先設(shè)置了多種開發(fā)運行框架及中間件,用于供用戶進行選擇。利用軟件生成容器來獲取構(gòu)造服務(wù)群中的某些開發(fā)運行框架和中間件,作為軟件生成容器運行的基礎(chǔ)環(huán)境,再從構(gòu)件庫中獲取部分構(gòu)件,調(diào)用對應(yīng)的引擎對構(gòu)件進行解析,生成最終的軟件產(chǎn)品。
[0043]參見圖1,圖1為本申請實施例公開的一種軟件生成方法流程圖。
[0044]如圖1所示,從軟件生成容器的角度來說明該方法,包括:
[0045]步驟100、響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件;
[0046]具體地,構(gòu)造服務(wù)群中預先設(shè)置了多種開發(fā)運行框架,如Spring、Hibernate等開源框架,以及用戶指定的一些特定的開發(fā)運行框架。同時,構(gòu)造服務(wù)群中也預先設(shè)置了多種中間件,如應(yīng)用服務(wù)器中間件、數(shù)據(jù)庫中間件、消息中間件和數(shù)據(jù)中間件。應(yīng)用服務(wù)器中間件可以包括Weblogic、Websphere、Tomtac> Jboss等。數(shù)據(jù)庫中間件包括Oracle、DB2、開源MySQL和國產(chǎn)達夢數(shù)據(jù)庫等。消息中間件可以包括MQ等國內(nèi)外常見的消息中間件產(chǎn)品。數(shù)據(jù)中間件可以包括業(yè)界常見的ETL數(shù)據(jù)中間件。
[0047]通過配置這些開發(fā)運行框架和中間件,可以供后續(xù)軟件開發(fā)時選擇使用,作為構(gòu)件運行的基礎(chǔ)環(huán)境。
[0048]步驟110、查詢構(gòu)件庫,獲取若干個目標構(gòu)件;
[0049]具體地,這里目標構(gòu)件為生成所述目標軟件必須的構(gòu)件。構(gòu)件庫中可以預先存儲多種構(gòu)件,這些構(gòu)件是通過構(gòu)造服務(wù)群中預先配置的多種構(gòu)造器生成的,構(gòu)造服務(wù)群中預先配置的構(gòu)造器包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器、監(jiān)控構(gòu)造器等。分別來構(gòu)造不同的構(gòu)件,例如頁面構(gòu)造器用來構(gòu)造頁面構(gòu)件。需要說明的是,監(jiān)控構(gòu)造器所構(gòu)造的監(jiān)控服務(wù)作為軟件生成過程的監(jiān)控引擎,對軟件生成過程進行監(jiān)控。
[0050]步驟120、調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析;
[0051]具體地,構(gòu)件庫中的構(gòu)件是由構(gòu)造服務(wù)群中不同的構(gòu)造器構(gòu)造的,對應(yīng)于不同的構(gòu)造器所構(gòu)造的構(gòu)件需要由對應(yīng)的引擎來進行解析,因此在軟件生成容器中預先存儲了與各種類型的構(gòu)造器構(gòu)造的構(gòu)件相對應(yīng)的引擎,例如集成引擎、頁面解析引擎、權(quán)限引擎、流程引擎、監(jiān)控引擎等。其中,監(jiān)控引擎用于對軟件生成過程中的每一個操作進行監(jiān)控。
[0052]步驟130、利用所述解析后的目標構(gòu)件生成所述目標軟件。
[0053]本申請實施例提供的軟件生成方法,通過預先設(shè)置包括若干個開發(fā)運行框架和中間件的構(gòu)造服務(wù)群,以及存儲有若干個構(gòu)件的構(gòu)件庫,在生成軟件時,選取構(gòu)造服務(wù)群中的某些開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境,再從構(gòu)件庫中選取生成目標軟件所必須的目標構(gòu)件,通過調(diào)用對應(yīng)的引擎對目標構(gòu)件進行解析,最終生成用戶所要的軟件。整個過程中,開發(fā)運行框架、中間件及生成軟件的構(gòu)件均可以直接獲取,無需重復進行代碼的開發(fā),從而大大減少了軟件開發(fā)的復雜度。
[0054]需要說明的是,當構(gòu)件庫中不存在目標構(gòu)件時,本申請的方法還可以調(diào)用構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,并將生成的所述目標構(gòu)件存儲在所述構(gòu)件庫中。
[0055]具體地,業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,則上述調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件的過程包括:確定所述目標構(gòu)件的類型;依據(jù)所述目標構(gòu)件的類型,調(diào)用所述業(yè)務(wù)構(gòu)造服務(wù)單元中對應(yīng)的構(gòu)造器來生成所述目標構(gòu)件。舉例如:若所需的目標構(gòu)件為頁面構(gòu)件,則需要調(diào)用頁面構(gòu)造器來生成目標構(gòu)件,若目標構(gòu)件為流程構(gòu)件,則需要調(diào)用流程構(gòu)造器來生成目標構(gòu)件。生成的目標構(gòu)件存儲到構(gòu)件庫中,供后續(xù)的使用。
[0056]進一步的,若軟件生成容器中預先存儲有監(jiān)控引擎,則可以調(diào)用該監(jiān)控引擎來對軟件的生成過程進行全程監(jiān)控。
[0057]需要說明的是,構(gòu)件在構(gòu)件庫中的存儲方式可以是按照構(gòu)件所屬的業(yè)務(wù)領(lǐng)域來區(qū)分,不同業(yè)務(wù)領(lǐng)域的構(gòu)件分離存儲。這樣,在需要生成某一類型的業(yè)務(wù)軟件產(chǎn)品時,直接去構(gòu)件庫中該業(yè)務(wù)對應(yīng)的構(gòu)件群中搜索,更加便于查找對應(yīng)的構(gòu)件。
[0058]本申請通過構(gòu)造服務(wù)群中預先定義的實現(xiàn)軟件產(chǎn)品完備功能的各類構(gòu)造器,擺脫了代碼開發(fā)的問題。并且,預先定義了各類開發(fā)運行框架和中間件,開發(fā)軟件時,根據(jù)用戶的要求選擇指定的開發(fā)運行框架和中間件,作為運行構(gòu)件的基礎(chǔ)環(huán)境,進一步減少了代碼的開發(fā)量。
[0059]下面對本申請實施例提供的軟件生成裝置進行描述,下文描述的軟件生成裝置與上文描述的軟件生成方法可相互對應(yīng)參照。
[0060]本申請下述公開的軟件生成裝置實質(zhì)上即是上文中提及的軟件生成容器,二者在本質(zhì)上是一致的。
[0061]參見圖2,圖2為本申請實施例公開的軟件生成裝置的結(jié)構(gòu)示意圖。
[0062]如圖2所示,該軟件生成裝置20包括:
[0063]用戶響應(yīng)單元200,用于響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境;
[0064]目標構(gòu)件獲取單元210,用于查詢構(gòu)件庫,獲取若干個目標構(gòu)件,所述目標構(gòu)件為生成所述目標軟件必須的構(gòu)件;
[0065]解析單元220,用于調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析;
[0066]生成單元230,用于利用所述解析后的目標構(gòu)件生成所述目標軟件。
[0067]可選的,參見圖3,圖3為本申請實施例公開的另一種軟件生成裝置的結(jié)構(gòu)示意圖。結(jié)合圖2和圖3可知,軟件生成裝置還包括:
[0068]構(gòu)造服務(wù)群調(diào)用單元240,用于在所述構(gòu)件庫中不存在所述目標構(gòu)件時,調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,并將生成的所述目標構(gòu)件存儲在所述構(gòu)件庫中。
[0069]其中,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器。參見圖4,圖4為本申請實施例公開的構(gòu)造服務(wù)群的結(jié)構(gòu)示意圖。如圖4所示,所述構(gòu)造服務(wù)群調(diào)用單元240可以包括:類型確定單元400,用于確定所述目標構(gòu)件的類型;構(gòu)造器調(diào)用單元410,用于依據(jù)所述目標構(gòu)件的類型,調(diào)用所述業(yè)務(wù)構(gòu)造服務(wù)單元中對應(yīng)的構(gòu)造器來生成所述目標構(gòu)件。
[0070]可選的,參見圖5,圖5為本申請實施例公開的又一種軟件生成裝置的結(jié)構(gòu)示意圖。結(jié)合圖2和圖5可知,軟件生成裝置還包括:
[0071]監(jiān)控引擎調(diào)用單元250,用于調(diào)用預存的監(jiān)控引擎,對軟件生成過程中的每一個操作進行監(jiān)控。
[0072]本申請通過預先設(shè)置包括若干個開發(fā)運行框架和中間件的構(gòu)造服務(wù)群,以及存儲有若干個構(gòu)件的構(gòu)件庫,在軟件生成裝置生成軟件時,選取構(gòu)造服務(wù)群中的某些開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境,再從構(gòu)件庫中選取生成目標軟件所必須的目標構(gòu)件,通過調(diào)用對應(yīng)的引擎對目標構(gòu)件進行解析,最終生成用戶所要的軟件。整個過程中,開發(fā)運行框架、中間件及生成軟件的構(gòu)件均可以直接獲取,無需重復進行代碼的開發(fā),從而大大減少了軟件開發(fā)的復雜度。
[0073]在上述基礎(chǔ)上,本申請還公開了一種軟件生成系統(tǒng)。參見圖6,圖6為本申請實施例公開的軟件生成系統(tǒng)的結(jié)構(gòu)示意圖。
[0074]如圖6所示,軟件生成系統(tǒng)包括:
[0075]包括上述所述的軟件生成裝置20、構(gòu)造服務(wù)群60和構(gòu)件庫61 ;
[0076]所述構(gòu)造服務(wù)群60包括業(yè)務(wù)構(gòu)造服務(wù)單元600、開發(fā)運行框架單元610和中間件單元620,所述業(yè)務(wù)構(gòu)造服務(wù)單元600包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,分別用于構(gòu)造不同的構(gòu)件;所述開發(fā)運行框架單元610包括Spring、Hibernate開源框架;所述中間件單元620包括應(yīng)用服務(wù)器中間件、數(shù)據(jù)庫中間件、消息中間件和數(shù)據(jù)中間件;
[0077]所述構(gòu)件庫61用于存儲所述構(gòu)造服務(wù)群60所構(gòu)造的構(gòu)件,其中構(gòu)件按照不同的業(yè)務(wù)領(lǐng)域,分類存儲在所述構(gòu)件庫61中。
[0078]軟件生成裝置20從構(gòu)造服務(wù)群60中選取部分開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境,從構(gòu)件庫61中獲取生成目標軟件所必須的目標構(gòu)件,利用預存的與各個目標構(gòu)件對應(yīng)的引擎,對目標構(gòu)件進行解析,生成目標軟件。其中,如果發(fā)現(xiàn)構(gòu)件庫61中不存在目標構(gòu)件時,可以調(diào)用構(gòu)造服務(wù)群60中的業(yè)務(wù)構(gòu)造服務(wù)單元600,選擇對應(yīng)的構(gòu)造器來構(gòu)造構(gòu)件,并將構(gòu)件存儲在構(gòu)件庫61中。
[0079]需要說明的是,構(gòu)件庫61中的構(gòu)件可以反饋到構(gòu)造服務(wù)群60中的業(yè)務(wù)構(gòu)造服務(wù)單元600中進行業(yè)務(wù)的修改,或者基于技術(shù)層構(gòu)造的改變而重新構(gòu)造。
[0080]本申請實施例提供的軟件生成系統(tǒng),包括軟件生成裝置20、構(gòu)造服務(wù)群60和構(gòu)件庫61三個子平臺,三者構(gòu)成一個有機的整體,實現(xiàn)了軟件產(chǎn)品的生成過程。
[0081]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0082]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。
[0083]對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種軟件生成方法,其特征在于,包括: 響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境; 查詢構(gòu)件庫,獲取若干個目標構(gòu)件,所述目標構(gòu)件為生成所述目標軟件必須的構(gòu)件; 調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析; 利用所述解析后的目標構(gòu)件生成所述目標軟件。
2.根據(jù)權(quán)利要求1所述的軟件生成方法,其特征在于,在所述構(gòu)件庫中不存在所述目標構(gòu)件時,還包括: 調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,并將生成的所述目標構(gòu)件存儲在所述構(gòu)件庫中。
3.根據(jù)權(quán)利要求2所述的軟件生成方法,其特征在于,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,所述調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,包括: 確定所述目標構(gòu)件的類型; 依據(jù)所述目標構(gòu)件的類型,調(diào)用所述業(yè)務(wù)構(gòu)造服務(wù)單元中對應(yīng)的構(gòu)造器來生成所述目標構(gòu)件。
4.根據(jù)權(quán)利要求1所述的軟件生成方法,其特征在于,還包括: 調(diào)用預存的監(jiān)控引擎,對軟件生成過程中的每一個操作進行監(jiān)控。
5.根據(jù)權(quán)利要求1所述的軟件生成方法,其特征在于,所述構(gòu)造服務(wù)群中預先配置的開發(fā)運行框架包括Spring、Hibernate開源框架;所述構(gòu)造服務(wù)群中預先配置的中間件包括應(yīng)用服務(wù)器中間件、數(shù)據(jù)庫中間件、消息中間件和數(shù)據(jù)中間件。
6.一種軟件生成裝置,其特征在于,包括: 用戶響應(yīng)單元,用于響應(yīng)用戶發(fā)起的目標軟件建立請求,從構(gòu)造服務(wù)群中選取預先配置的開發(fā)運行框架和中間件,作為構(gòu)件運行的基礎(chǔ)環(huán)境; 目標構(gòu)件獲取單元,用于查詢構(gòu)件庫,獲取若干個目標構(gòu)件,所述目標構(gòu)件為生成所述目標軟件必須的構(gòu)件; 解析單元,用于調(diào)用預存的與各個所述目標構(gòu)件對應(yīng)的引擎,對所述目標構(gòu)件進行解析; 生成單元,用于利用所述解析后的目標構(gòu)件生成所述目標軟件。
7.根據(jù)權(quán)利要求6所述的軟件生成裝置,其特征在于,還包括: 構(gòu)造服務(wù)群調(diào)用單元,用于在所述構(gòu)件庫中不存在所述目標構(gòu)件時,調(diào)用所述構(gòu)造服務(wù)群中的業(yè)務(wù)構(gòu)造服務(wù)單元,生成所述目標構(gòu)件,并將生成的所述目標構(gòu)件存儲在所述構(gòu)件庫中。
8.根據(jù)權(quán)利要求7所述的軟件生成裝置,其特征在于,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,所述構(gòu)造服務(wù)群調(diào)用單元包括: 類型確定單元,用于確定所述目標構(gòu)件的類型; 構(gòu)造器調(diào)用單元,用于依據(jù)所述目標構(gòu)件的類型,調(diào)用所述業(yè)務(wù)構(gòu)造服務(wù)單元中對應(yīng)的構(gòu)造器來生成所述目標構(gòu)件。
9.根據(jù)權(quán)利要求6所述的軟件生成裝置,其特征在于,還包括: 監(jiān)控引擎調(diào)用單元,用于調(diào)用預存的監(jiān)控引擎,對軟件生成過程中的每一個操作進行監(jiān)控。
10.一種軟件生成系統(tǒng),其特征在于,包括權(quán)利要求6-9任意一項所述的軟件生成裝置、構(gòu)造服務(wù)群和構(gòu)件庫; 所述構(gòu)造服務(wù)群包括業(yè)務(wù)構(gòu)造服務(wù)單元、開發(fā)運行框架單元和中間件單元,所述業(yè)務(wù)構(gòu)造服務(wù)單元包括基礎(chǔ)框架構(gòu)造器、頁面構(gòu)造器、數(shù)模構(gòu)造器、流程構(gòu)造器和監(jiān)控構(gòu)造器,分別用于構(gòu)造不同的構(gòu)件;所述開發(fā)運行框架單元包括Springdibernate開源框架;所述中間件單元包括應(yīng)用服務(wù)器中間件、數(shù)據(jù)庫中間件、消息中間件和數(shù)據(jù)中間件; 所述構(gòu)件庫用于存儲所述構(gòu)造服務(wù)群所構(gòu)造的構(gòu)件,其中構(gòu)件按照不同的業(yè)務(wù)領(lǐng)域,分類存儲在所述構(gòu)件庫中。
【文檔編號】G06F9/44GK104239056SQ201410471745
【公開日】2014年12月24日 申請日期:2014年9月16日 優(yōu)先權(quán)日:2014年9月16日
【發(fā)明者】沐連順, 張鵬, 吳國良, 熊力 申請人:國家電網(wǎng)公司, 北京中電普華信息技術(shù)有限公司