專利名稱:一種適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及構(gòu)件技術(shù)、服務(wù)計(jì)算技術(shù)、軟件及服務(wù)模式、應(yīng)用模式及應(yīng)用技術(shù)等, 是一種利用分層次組件技術(shù)、并針對(duì)不同業(yè)務(wù)抽象層次的應(yīng)用需求采用不同的軟件快速構(gòu) 造途徑快速搭建應(yīng)用服務(wù)系統(tǒng)的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造方法和系統(tǒng)。
背景技術(shù):
組件(Component)的概念最早出現(xiàn)在1968年NATO軟件工程會(huì)議上。但是,軟件 復(fù)用思想出現(xiàn)的更早,如子程序,軟件開發(fā)人員在開發(fā)程序時(shí)可以使用通用子程序庫(kù),節(jié)省 人力資源。從60年代末到80年代初,結(jié)構(gòu)化的軟件開發(fā)思想占主導(dǎo)地位,對(duì)應(yīng)的復(fù)用層次 是函數(shù)復(fù)用。函數(shù)通過參數(shù)來適應(yīng)需求的變化。80年代起,面向?qū)ο蟮能浖_發(fā)思想發(fā)展 起來。通過類的封裝,實(shí)現(xiàn)了數(shù)據(jù)抽象和信息隱蔽。通過類的包含和繼承,提高了代碼的復(fù) 用性。九十年代初C0RBA1.0標(biāo)準(zhǔn)的發(fā)布,揭開了構(gòu)件計(jì)算的序幕,經(jīng)過十多年的發(fā)展,在實(shí) 踐中形成了構(gòu)件技術(shù)的三大流派,即0MG(對(duì)象管理組織)提出的C0RBA, SUN提出的EJB, 和Microsoft提出的C0M/DC0M。隨著WebService技術(shù)的成熟,服務(wù)計(jì)算技術(shù)成為當(dāng)前開發(fā) 技術(shù)的主流核心技術(shù),它的目標(biāo)是建立可互操作的分布式應(yīng)用程序的新平臺(tái)。
組件化開發(fā)方法體現(xiàn)了軟件復(fù)用的開發(fā)思想,軟件復(fù)用在提高軟件生產(chǎn)率,提高 軟件質(zhì)量,減少開發(fā)代價(jià),減少維護(hù)代價(jià),支持快速原型,減少培訓(xùn)開銷等方面有顯著的效 果。通常軟件復(fù)用的分為三個(gè)基本步驟,分別是抽象(Abstraction)、選取(Selection)、集 成(Integration)。其中抽象的過程是對(duì)可復(fù)用組件識(shí)別、對(duì)組件分類以及將相關(guān)組件關(guān) 聯(lián)歸類的過程。選取則是解決如何在眾多候選的可復(fù)用組件中找到最合適的組件。集成的 目的是利用選取的組件構(gòu)件一個(gè)新的組件或者新系統(tǒng)的過程。從功能上看,抽象是構(gòu)造可 復(fù)用構(gòu)件的過程,涉及的是軟件表示的問題,解決哪部分復(fù)用(WhattoReuse)。選取是提取 復(fù)用部分的過程,涉及的是軟件使用效率和準(zhǔn)確性等問題,解決開發(fā)中資源構(gòu)件供求匹配 問題。集成是使用可復(fù)用構(gòu)件的過程,涉及的是構(gòu)件組裝(裝配、集成)問題,解決如何復(fù)用 (Howtc)Reuse)。從階段上看,抽象、選取在軟構(gòu)件庫(kù)設(shè)計(jì)階段進(jìn)行考慮,集成設(shè)計(jì)需要的環(huán) 境支持涉及到軟構(gòu)件組裝階段。 目前,隨著面向服務(wù)架構(gòu)和軟件服務(wù)化的發(fā)展,推動(dòng)軟件系統(tǒng)的應(yīng)用模式、商業(yè)模 式、開發(fā)模式都發(fā)生了巨大變化,1)在應(yīng)用模式方面,用戶在本地已經(jīng)不再需要安裝任何 軟件,而是應(yīng)用宿主在服務(wù)提供商處的服務(wù);2)在商業(yè)模式方面,軟件已經(jīng)成為一種服務(wù) (SoftwareasaService, SaaS),采用免費(fèi)或者按需付費(fèi)的租賃商業(yè)模式;3)在開發(fā)模式方 面,更多個(gè)性化需求通過用戶定制來實(shí)現(xiàn),軟件可以不間斷地進(jìn)行在線更新。
在面向服務(wù)架構(gòu)和應(yīng)用中,為保證Web服務(wù)的可復(fù)用性,單個(gè)服務(wù)的粒度不宜過 大,因此,當(dāng)需要構(gòu)造復(fù)雜的分布式應(yīng)用時(shí),須將現(xiàn)有的一些Web服務(wù)有效地整合在一起, 以滿足用戶的需求。這種通過按給定應(yīng)用邏輯將若干服務(wù)組合成為一個(gè)邏輯整體,并向最終用戶提供增值服務(wù)的方法、過程和技術(shù)稱為Web服務(wù)組合。從一些細(xì)粒度的服務(wù)出發(fā),基 于對(duì)業(yè)務(wù)邏輯的描述,通過服務(wù)組合來實(shí)現(xiàn)和構(gòu)造應(yīng)用系統(tǒng),可以構(gòu)造柔性非常好的系統(tǒng), 但這需要對(duì)業(yè)務(wù)邏輯有深入的理解,對(duì)系統(tǒng)結(jié)構(gòu)做精心的設(shè)計(jì),代價(jià)是系統(tǒng)重構(gòu)和開發(fā)工 作量加大,軟件的開發(fā)效率低;而如果基于一些粗粒度的服務(wù)的組裝,系統(tǒng)的柔性就會(huì)受到 一些限制。這兩者的矛盾在開發(fā)軟件即服務(wù)模式的應(yīng)用時(shí)經(jīng)常會(huì)遇到,一方面,大量的相同 業(yè)務(wù)應(yīng)用需求需要快速的、簡(jiǎn)便的軟件復(fù)用,并盡量減少軟件的維護(hù)成本,需要更接近業(yè)務(wù) 層的軟件復(fù)用;另一方面,面對(duì)不同的業(yè)務(wù),需要從業(yè)務(wù)建模開始構(gòu)造軟件的模型,需要更 接近于組件層的服用;此外,大規(guī)模多租戶的應(yīng)用場(chǎng)景,要求能夠通過配置的方式實(shí)現(xiàn)對(duì)不 同用戶的統(tǒng)一支持。
發(fā)明內(nèi)容
本發(fā)明的目的就是為了解決上述軟件生產(chǎn)過程中成本高、開發(fā)效率低,系統(tǒng)柔性 差等問題,提供一種適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造方法和系統(tǒng),它能夠根據(jù)不同 抽象層次的應(yīng)用,提供多層次構(gòu)造途徑,以解決軟件系統(tǒng)構(gòu)建速度慢,穩(wěn)定性、安全性不能 保證,復(fù)用程度差的問題。該方法已經(jīng)在制造業(yè)的供應(yīng)鏈管理服務(wù)軟件構(gòu)造中得到驗(yàn)證,可 將軟件開發(fā)效率提高2-3倍,成本節(jié)約4/5以上。
為實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案
一種適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造系統(tǒng),它包括
SaaS應(yīng)用運(yùn)行時(shí)支撐系統(tǒng),該系統(tǒng)為整個(gè)構(gòu)造系統(tǒng)的運(yùn)行時(shí)支撐環(huán)境,它支持服務(wù)實(shí) 例和服務(wù)規(guī)模擴(kuò)展,具有高擴(kuò)展性;基于配置構(gòu)造系統(tǒng),具有高可配置性;以及以單實(shí)例支 持多租戶應(yīng)用,具有多租戶高效率;
基于多層次抽象的服務(wù)組件系統(tǒng),該系統(tǒng)對(duì)用戶需求層層抽象,將構(gòu)建軟件及服務(wù)模 式應(yīng)用所需組件相應(yīng)劃分為領(lǐng)域無關(guān)組件、領(lǐng)域相關(guān)組件和用戶相關(guān)組件,并按相應(yīng)標(biāo)準(zhǔn) 和規(guī)范注冊(cè)、存儲(chǔ)在服務(wù)庫(kù)中;并根據(jù)領(lǐng)域相關(guān)的元數(shù)據(jù)描述,通過組件裝配工具,來實(shí)現(xiàn) 各層次組件之間的連接和裝配,實(shí)現(xiàn)軟件的快速構(gòu)造和生產(chǎn)。
所述領(lǐng)域無關(guān)組件包括
規(guī)則描述組件通過圖形用戶界面,使用領(lǐng)域描述語言DSL,描述特定領(lǐng)域需求中可以 抽象總結(jié)成規(guī)則的業(yè)務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)等內(nèi)容,使用DSL進(jìn)行規(guī)則描述和精確定 義,并持久化保存到系統(tǒng)中,供規(guī)則弓I擎使用。 業(yè)務(wù)建模組件基于模型驅(qū)動(dòng)架構(gòu)MDA思想,用于描述特定領(lǐng)域需求中業(yè)務(wù)邏輯、 業(yè)務(wù)流程等所涉及的對(duì)象和要素、以及它們的屬性、行為和彼此關(guān)系,以體系的方式來設(shè) 計(jì)、描述和定義軟件系統(tǒng)。 BPEL建模組件使用業(yè)務(wù)流程執(zhí)行語言BPEL,按照特定領(lǐng)域需求,將一組現(xiàn)有的 服務(wù)組件按一定的順序和條件組合執(zhí)行,實(shí)現(xiàn)業(yè)務(wù)流程的BPEL建模,并交由BPEL引擎驅(qū) 動(dòng),實(shí)現(xiàn)業(yè)務(wù)流程的自動(dòng)化處理。 工作流建模組件用于對(duì)將工作流程組織在一起的邏輯和規(guī)則進(jìn)行建模,并對(duì)其 實(shí)施計(jì)算。通過對(duì)特定領(lǐng)域需求中的業(yè)務(wù)邏輯進(jìn)行分析、建模、描述并記錄,輸出一個(gè)能被 工作流引擎動(dòng)態(tài)解釋的過程定義。 工作流引擎用于解析和驅(qū)動(dòng)工作流建模組件所分析、建模、描述并記錄的特定領(lǐng)域需求中的具體工作流程,根據(jù)角色、分工和條件的不同決定信息傳遞路由,完成該流程的 執(zhí)行,并進(jìn)行異常處理、執(zhí)行日志記錄等。 短信服務(wù)組件基于WebService接口 ,提供專用的SMS短消息服務(wù),通過接收目標(biāo) 方手機(jī)號(hào)碼、具體短信內(nèi)容作為參數(shù),實(shí)時(shí)發(fā)送手機(jī)短信。 DB訪問組件基于Hibernate框架封裝了所有主流數(shù)據(jù)庫(kù)的訪問代碼,可根據(jù)不 同的需求和條件配置實(shí)現(xiàn)對(duì)Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù)的連接和查 詢、修改、保存、刪除操作。 數(shù)據(jù)同步組件基于P2P機(jī)制,采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,能夠?qū)崿F(xiàn) 異構(gòu)環(huán)境下的文件同步、文件夾同步以及Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù) 之間的數(shù)據(jù)同步,其同步方式有手工同步方式和定時(shí)自動(dòng)同步方式。 數(shù)據(jù)查詢組件基于Hibernate框架,根據(jù)不同需要,支持對(duì)Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢操作,同時(shí)支持分布式環(huán)境下連接多個(gè)數(shù)據(jù)庫(kù) 的數(shù)據(jù)訪問需求。 消息管理組件實(shí)現(xiàn)通用的消息、新聞、通知等的發(fā)布、查詢、修改、刪除等操作,作
為系統(tǒng)的通用模塊提供使用,提供發(fā)布內(nèi)容、類別、權(quán)限等的自定義功能。 菜單配置組件基于平臺(tái)無關(guān)的XML文件存儲(chǔ)系統(tǒng)的菜單定義和配置信息,以動(dòng)
態(tài)加載的方式載入系統(tǒng)。配置組件提供父子菜單關(guān)系定義、菜單名稱定義、菜單關(guān)聯(lián)的超級(jí)
鏈接定義、菜單訪問的權(quán)限定義。 修改審批組件基于圖形用戶界面,針對(duì)特定領(lǐng)域需求中工作流執(zhí)行過程中的流 程定義、修改、流程審批提供圖形界面支持,以鼠標(biāo)拖拽方式直觀修改流程,進(jìn)行流程審批 等操作。
用戶管理組件對(duì)系統(tǒng)的用戶進(jìn)行管理的通用組件,包括用戶的查詢、增加、修改、
刪除操作,用戶的詳細(xì)信息維護(hù)操作,用戶所能進(jìn)行的系統(tǒng)操作的權(quán)限控制等。 數(shù)據(jù)上傳組件可實(shí)現(xiàn)對(duì)EXCEL文件數(shù)據(jù)的分析、解析,并上傳至相應(yīng)數(shù)據(jù)庫(kù)表
中。組件基于開源的EXCEL文件工具包,采用XML元數(shù)據(jù)記錄上傳文件中的列名、數(shù)據(jù)類型、
數(shù)據(jù)長(zhǎng)度、是否為空等字段信息,并通過XML解析引擎實(shí)現(xiàn)對(duì)文件中數(shù)據(jù)的格式驗(yàn)證,最后
對(duì)數(shù)據(jù)進(jìn)行封裝,上傳至數(shù)據(jù)庫(kù)中。 XML文件處理組件用于對(duì)系統(tǒng)中各種XML文件進(jìn)行處理。組件采用開源XML解
析工具包,為數(shù)據(jù)上傳、數(shù)據(jù)查詢、數(shù)據(jù)列示等組件提供XML配置文件解析服務(wù),提供相關(guān)
配置信息;并可對(duì)數(shù)據(jù)同步等組件提供XML文件供存儲(chǔ)、修改、更新等服務(wù)。 通用打印組件基于windowsXP等主流操作系統(tǒng)提供的打印服務(wù),提供的通用打
印組件,可以在系統(tǒng)中直接調(diào)用,用于打印交互界面顯示中特定的區(qū)域和內(nèi)容。 數(shù)據(jù)列示組件用于生成查詢界面的相關(guān)顯示信息。組件采用XML文件元數(shù)據(jù)的
形式記錄頁(yè)面查詢顯示所需各種信息,包括對(duì)應(yīng)數(shù)據(jù)庫(kù)表、顯示字段、查詢字段、顯示列寬
等,通過調(diào)用XML文件處理組件、數(shù)據(jù)查詢組件等組件后查詢出所需數(shù)據(jù)信息。 自由報(bào)表組件提供基于Web方式的報(bào)表自定義組件,可以通過鼠標(biāo)拖拽、SQL腳
本的方式定義報(bào)表類別、報(bào)表樣式、報(bào)表數(shù)據(jù)源以及將數(shù)據(jù)源中的表和字段與報(bào)表展示內(nèi)
容進(jìn)行掛接顯示。 流程模板定義組件基于用戶圖形界面,根據(jù)特定領(lǐng)域需求定義流程模板,并保存在系統(tǒng)中。在針對(duì)具體業(yè)務(wù)流程進(jìn)行流程定制時(shí)使用,通過選擇預(yù)定義的與實(shí)際需求完全 相同或相近的流程模板的方式,快速設(shè)計(jì)業(yè)務(wù)流程,提高效率。 所述領(lǐng)域相關(guān)組件包括供應(yīng)商業(yè)務(wù)管理系統(tǒng)領(lǐng)域服務(wù)件和訂單管理系統(tǒng)領(lǐng)域服 務(wù)件,以及按照此方法構(gòu)造的其他領(lǐng)域服務(wù)件;
供應(yīng)商業(yè)務(wù)管理系統(tǒng)領(lǐng)域服務(wù)件包括供應(yīng)商關(guān)系組件、供應(yīng)商尋源組件、采購(gòu)計(jì)劃組 件、庫(kù)存管理組件、質(zhì)檢組件、財(cái)務(wù)組件、4M1E變更組件。 供應(yīng)商關(guān)系組件用于進(jìn)行供應(yīng)商關(guān)系管理,建立供應(yīng)商信息檔案,維護(hù)供應(yīng)商企 業(yè)名稱、法人、聯(lián)系人、銀行賬戶、機(jī)構(gòu)代碼、實(shí)體地址等信息,并維護(hù)供應(yīng)商所供應(yīng)的產(chǎn)品
合格率等信息。 供應(yīng)商尋源組件基于Internet,利用電子化手段,建立供應(yīng)商準(zhǔn)入機(jī)制,實(shí)現(xiàn)供 應(yīng)商的網(wǎng)上供應(yīng)申報(bào)、產(chǎn)品試制計(jì)劃、申報(bào)審批、網(wǎng)上競(jìng)標(biāo)等功能,以一整套規(guī)范有效的供 應(yīng)商開發(fā)體系,幫助企業(yè)建立戰(zhàn)略性的供應(yīng)體系。 采購(gòu)計(jì)劃組件基于Internet,實(shí)現(xiàn)采購(gòu)訂單的網(wǎng)絡(luò)發(fā)布,使供應(yīng)商實(shí)時(shí)、準(zhǔn)確接 收到采購(gòu)計(jì)劃和采購(gòu)訂單,并根據(jù)采購(gòu)計(jì)劃針對(duì)能否完成訂單、生產(chǎn)能力大小等信息進(jìn)行 在線反饋,并根據(jù)采購(gòu)計(jì)劃組織生產(chǎn)。 庫(kù)存管理組件基于Internet,實(shí)現(xiàn)零部件庫(kù)存信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布,使供應(yīng)商 能準(zhǔn)確獲取自身所供零部件在倉(cāng)庫(kù)中的剩余數(shù)量,已經(jīng)使用的零部件數(shù)據(jù)量等,可進(jìn)行準(zhǔn) 確的庫(kù)存盤點(diǎn)統(tǒng)計(jì)功能。 質(zhì)檢組件基于Internet,實(shí)現(xiàn)供應(yīng)商所供零部件的質(zhì)量檢驗(yàn)信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā) 布,包括產(chǎn)品批次、質(zhì)量檢驗(yàn)內(nèi)容、質(zhì)量檢驗(yàn)結(jié)果、產(chǎn)品合格率、質(zhì)量索賠等信息,用于指導(dǎo) 供應(yīng)商針對(duì)質(zhì)量檢驗(yàn)信息指導(dǎo)產(chǎn)品質(zhì)量改進(jìn)。 財(cái)務(wù)組件基于Internet,實(shí)現(xiàn)供應(yīng)商相關(guān)財(cái)務(wù)信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布,包括三包 費(fèi)信息、質(zhì)量索賠信息、應(yīng)付賬款信息、PPM值信息、強(qiáng)保費(fèi)信息、零部件價(jià)格信息等。
4M1E變更組件4M是指Manpower (人力),Machine (機(jī)器),Material (材料), Method (方法,技術(shù))。IE是指Environments (環(huán)境)。該組件負(fù)責(zé)對(duì)上述五大因素的變更 進(jìn)行管理,記錄變更原因,記錄變更檔案、進(jìn)行變更結(jié)果分析等。 訂單管理系統(tǒng)領(lǐng)域服務(wù)件包括流程定義組件、任務(wù)監(jiān)控組件、任務(wù)分配組件。 流程定義組件用于描述和定義訂單相關(guān)的業(yè)務(wù)流程,包括訂單的制定、訂單的審
核、訂單的web發(fā)布、訂單的執(zhí)行反饋、訂單的履約率分析、訂單的最終完成情況等。 任務(wù)監(jiān)控組件用于對(duì)訂單執(zhí)行管理中的各項(xiàng)任務(wù)進(jìn)行監(jiān)控,包括監(jiān)控任務(wù)的命
名和任務(wù)節(jié)點(diǎn)的描述、監(jiān)控具體任務(wù)內(nèi)容的定義、監(jiān)控任務(wù)執(zhí)行進(jìn)度、監(jiān)控異常的任務(wù)狀
態(tài)、驅(qū)動(dòng)任務(wù)安裝定義順序的執(zhí)行等。 任務(wù)分配組件用于對(duì)各項(xiàng)任務(wù)進(jìn)行分配,基于現(xiàn)有任務(wù)列表和人員列表,以及維 護(hù)的人員和任務(wù)的對(duì)應(yīng)匹配關(guān)系,根據(jù)優(yōu)化算法,動(dòng)態(tài)將定義好的任務(wù)分配給特定的執(zhí)行 人員,以確保各項(xiàng)任務(wù)有人執(zhí)行并且執(zhí)行時(shí)間全局最短。 所述用戶相關(guān)組件包括用戶界面配置、用戶規(guī)則配置、用戶報(bào)表配置、數(shù)據(jù)同步配 置以及包括用戶、部門和權(quán)限的三級(jí)柔性可視化配置及綁定組件。 用戶界面配置允許用戶通過圖形用戶界面,采用XML文件作為載體,支持用戶根 據(jù)自己的個(gè)性化需求對(duì)系統(tǒng)界面元素進(jìn)行自定義和配置,包括企業(yè)Logo文件、界面配色風(fēng)格、界面整體布局等等。 用戶規(guī)則配置允許用戶通過圖形用戶界面,根據(jù)特定領(lǐng)域需求,自定義和描述特 定領(lǐng)域需求中可以抽象總結(jié)成規(guī)則的業(yè)務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)等內(nèi)容,使用DSL進(jìn)行 規(guī)則描述和精確定義,并持久化保存到系統(tǒng)中,供規(guī)則引擎使用。 用戶報(bào)表配置允許用戶通過圖形用戶界面,根據(jù)特定領(lǐng)域需求,自定義和設(shè)計(jì)報(bào) 表樣式,配置報(bào)表類型、數(shù)據(jù)源、顯示格式等報(bào)表相關(guān)信息。 數(shù)據(jù)同步配置允許用戶通過圖形用戶界面,采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù) 載體,根據(jù)特定領(lǐng)域需求,自定義和配置異構(gòu)環(huán)境下的文件同步、文件夾同步以及Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,自定義手工同步方式和定時(shí)自動(dòng) 同步方式。 用戶、部門和權(quán)限的三級(jí)柔性可視化配置及綁定組件允許用戶通過圖形用戶界 面,自定義部門、部門用戶和用戶權(quán)限相綁定和關(guān)聯(lián)的三級(jí)權(quán)限控制機(jī)制,并能動(dòng)態(tài)靈活的 支持柔性化的配置和調(diào)整。 所述組件裝配工具包括用戶個(gè)性化配置工具、業(yè)務(wù)描述工具、短消息/即時(shí)消息 工具、數(shù)據(jù)同步工具,元數(shù)據(jù)描述工具。 用戶個(gè)性化配置工具用戶個(gè)性化配置工具提供基于圖形用戶界面的操作方式, 根據(jù)特定領(lǐng)域需求,使用戶滿足個(gè)性化的配置要求,如自定義業(yè)務(wù)規(guī)則、自定義業(yè)務(wù)報(bào)表、 自定義業(yè)務(wù)流程等。 業(yè)務(wù)描述工具業(yè)務(wù)描述工具使用領(lǐng)域描述語言DSL,描述特定領(lǐng)域需求中的業(yè) 務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)等內(nèi)容,使用DSL進(jìn)行規(guī)則描述和精確定義,并持久化保存到 系統(tǒng)中。 短消息/即時(shí)消息工具短消息/即時(shí)消息工具具有即時(shí)、批量發(fā)送手機(jī)短信功 能,具有基于Internet使用的即時(shí)消息工具功能。 數(shù)據(jù)同步工具數(shù)據(jù)同步工具采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,能夠?qū)崿F(xiàn) 異構(gòu)環(huán)境下的文件同步、文件夾同步以及主流數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,其同步方式有手工 同步方式和定時(shí)自動(dòng)同步方式。 元數(shù)據(jù)描述工具元數(shù)據(jù)是用于描述數(shù)據(jù)的數(shù)據(jù),元數(shù)據(jù)描述工具用元數(shù)據(jù)定義 整個(gè)系統(tǒng)的業(yè)務(wù)邏輯、業(yè)務(wù)流程、組件構(gòu)成、界面配置、任務(wù)監(jiān)控等,并采用平臺(tái)無關(guān)的XML 文件進(jìn)行元數(shù)據(jù)定義和存儲(chǔ)。 —種適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件的構(gòu)造方法,它從業(yè)務(wù)需求出發(fā),基于服
務(wù)庫(kù),沿著支持領(lǐng)域需求到支持個(gè)性化功能需求的路線完成重構(gòu)過程;服務(wù)件、組件層通過
對(duì)領(lǐng)域需求的層層抽象,將構(gòu)建軟件及服務(wù)模式應(yīng)用所需組件劃分為領(lǐng)域無關(guān)、領(lǐng)域相關(guān)
和用戶相關(guān)的三個(gè)層次,便于對(duì)分解后的業(yè)務(wù)需求進(jìn)行快速的重構(gòu);同時(shí)提供了元數(shù)據(jù)描
述、業(yè)務(wù)描述、數(shù)據(jù)同步、短消息、即時(shí)消息、個(gè)性化配置工具,最終構(gòu)造的軟件及服務(wù)模式
應(yīng)用基于公共的組件生成,通過服務(wù)實(shí)例和服務(wù)規(guī)模的擴(kuò)展以支持高擴(kuò)展性,以快速重構(gòu)
方法和基于配置的方法支持高可配置性,基于元數(shù)據(jù)在軟件及服務(wù)模式應(yīng)用層提供對(duì)數(shù)據(jù)
的統(tǒng)一訪問,確保不同租戶數(shù)據(jù)的一致性和準(zhǔn)確性,支持多用戶高效率,實(shí)現(xiàn)最終的高成熟
度軟件及服務(wù)模式應(yīng)用。 它的具體步驟為St印l :應(yīng)用的業(yè)務(wù)抽象層次分析
首先對(duì)所要構(gòu)造的服務(wù)化應(yīng)用的業(yè)務(wù)抽象層次進(jìn)行分析
1) 如果該應(yīng)用的抽象層次為全新應(yīng)用,即無法復(fù)用本軟件系統(tǒng)中的領(lǐng)域相關(guān)組件,則 需要從領(lǐng)域無關(guān)組件開始重構(gòu),轉(zhuǎn)St印2;
2) 如果該應(yīng)用為本軟件系統(tǒng)中的領(lǐng)域相關(guān)應(yīng)用的相同業(yè)務(wù),且為領(lǐng)域內(nèi)具有共同語義 的業(yè)務(wù)功能描述,則可以從領(lǐng)域相關(guān)組件開始重構(gòu),轉(zhuǎn)st印4;
3) 如果該應(yīng)用為本軟件系統(tǒng)中某個(gè)應(yīng)用的服務(wù)化實(shí)例,即具有與現(xiàn)有應(yīng)用相同的功能 結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)模式,只有對(duì)功能顯示的個(gè)性化需求的區(qū)別,則可以采用配置的方式重構(gòu) 該應(yīng)用,轉(zhuǎn)st印5;
St印2 :需求的定義與描述 定義系統(tǒng)所需的如下信息
系統(tǒng)面向的最終用戶、角色、部門、訪問權(quán)限,包括部門組織結(jié)構(gòu)和不同角色的用戶權(quán)
限,可操作的系統(tǒng)菜單;系統(tǒng)功能模塊,各模塊中具體子功能;系統(tǒng)底層的數(shù)據(jù)庫(kù)詳細(xì)設(shè) 計(jì),針對(duì)數(shù)據(jù)同步工具的配置,需要定義源數(shù)據(jù)庫(kù)的詳細(xì)信息,表結(jié)構(gòu),同步所需字段的類 型、長(zhǎng)度及其它相應(yīng)信息;
St印3 :業(yè)務(wù)數(shù)據(jù)庫(kù)的建立
使用公共數(shù)據(jù)庫(kù),完成企業(yè)實(shí)體信息、用戶和角色信息、消息通知管理、權(quán)限信息的存 儲(chǔ);然后,根據(jù)實(shí)際需求構(gòu)建具體業(yè)務(wù)數(shù)據(jù)庫(kù),根據(jù)前期數(shù)據(jù)庫(kù)設(shè)計(jì),在數(shù)據(jù)庫(kù)中建立相應(yīng) 具體業(yè)務(wù)相對(duì)應(yīng)的表結(jié)構(gòu);利用Myeclipse工具中的MyeclipseHibernate持久層工具集, 連接所建立的業(yè)務(wù)數(shù)據(jù)庫(kù),生成相應(yīng)的數(shù)據(jù)庫(kù)配置文件,各具體業(yè)務(wù)表的Hibernate映射 文件、類文件,這些配置文件存放在規(guī)定的具體目錄中;另外,對(duì)于數(shù)據(jù)庫(kù)連接池,手工加入 到數(shù)據(jù)庫(kù)的Hibernate配置文件中;
St印4 :數(shù)據(jù)同步工具的配置
根據(jù)數(shù)據(jù)同步需求,確定源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)相應(yīng)表、字段的配置信息,編寫源數(shù)據(jù) 庫(kù)端和目標(biāo)數(shù)據(jù)庫(kù)端的配置文件,啟動(dòng)并測(cè)試完成數(shù)據(jù)同步;數(shù)據(jù)同步工具單獨(dú)部署到一 個(gè)服務(wù)器中,以SaaS模式投入使用,即以一臺(tái)數(shù)據(jù)同步工具服務(wù)器,同時(shí)為多個(gè)應(yīng)用提供 數(shù)據(jù)同步服務(wù);
St印5 :用戶角色和系統(tǒng)菜單的配置
根據(jù)前期對(duì)業(yè)務(wù)需求的詳細(xì)分析,首先確定功能模塊及其具體子功能,然后反映到系 統(tǒng)界面層,就是相應(yīng)的操作菜單, 一個(gè)功能模塊作為一個(gè)系統(tǒng)菜單的節(jié)點(diǎn),各具體子功能作 為功能模塊菜單的子菜單。然后,確定某企業(yè)內(nèi)應(yīng)有的用戶角色,以及相應(yīng)的操作權(quán)限,定 義不同角色所能進(jìn)行的菜單操作。最后,編寫角色及其可操作菜單的XML配置文件,則系統(tǒng) 的角色權(quán)限模塊自動(dòng)以"所見即所得"的模式解析到用戶操作界面;
St印6 :功能模塊的構(gòu)建
通過上一步的工作,已經(jīng)定義好了各種角色所能訪問的分功能模塊的菜單框架;完整 的菜單、用戶、角色權(quán)限、消息管理等領(lǐng)域無關(guān)服務(wù)件可以直接拿來復(fù)用,其它具體業(yè)務(wù)相 關(guān)的功能模塊,逐個(gè)進(jìn)行配置和構(gòu)建。
本發(fā)明具有以下有益效果
l)對(duì)組件進(jìn)行層次化抽象和分類增強(qiáng)了系統(tǒng)可復(fù)用度平臺(tái)為不同企業(yè)用戶的不同需求定制開發(fā)了相應(yīng)的組件,不同層次的組件在構(gòu)建應(yīng)用系統(tǒng)的過程中的不同階段可以直接 進(jìn)行復(fù)用,這大大提高了系統(tǒng)的開發(fā)效率,節(jié)約了開發(fā)的成本。對(duì)不同領(lǐng)域組件的細(xì)分也使 得在構(gòu)建面向不同領(lǐng)域、不同業(yè)務(wù)需求系統(tǒng)的過程,對(duì)開發(fā)人員領(lǐng)域知識(shí)掌握程度的要求 大大降低。 2)支持快速定制與開發(fā),提升了從需求調(diào)研到系統(tǒng)實(shí)施的時(shí)間間隔通過基于規(guī) 則的快速重組路線,應(yīng)用服務(wù)化軟件構(gòu)造系統(tǒng)提供的領(lǐng)域無關(guān)中間件,通過少量編碼可以 根據(jù)企業(yè)對(duì)系統(tǒng)的實(shí)際需求開發(fā)相應(yīng)的業(yè)務(wù)相關(guān)組件。按照調(diào)研模塊的設(shè)計(jì)通過XML菜單 配置,將領(lǐng)域相關(guān)組件配置到系統(tǒng)內(nèi)。最后,根據(jù)企業(yè)組織部門對(duì)系統(tǒng)權(quán)限的要求,設(shè)置各 個(gè)功能模塊對(duì)用戶的可見性。新系統(tǒng)的開發(fā)
3)多租戶及元數(shù)據(jù)可配置支持的SaaS應(yīng)用模式在用戶相關(guān)的需求抽取與可配置功 能支持下,平臺(tái)能夠提供對(duì)服務(wù)應(yīng)用系統(tǒng)的"多租戶"支持。
圖1為基于多抽象層次服務(wù)組件的快速軟件構(gòu)造模型圖; 圖2為多抽象層次服務(wù)組件分類和裝配圖。
具體實(shí)施例方式
下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明做進(jìn)一步說明。
圖1中、圖2中,基于多抽象層次服務(wù)組件的快速軟件構(gòu)造系統(tǒng),它包括
SaaS應(yīng)用運(yùn)行時(shí)支撐系統(tǒng),該系統(tǒng)為整個(gè)構(gòu)造系統(tǒng)的運(yùn)行時(shí)支撐環(huán)境,它支持服務(wù)實(shí)
例和服務(wù)規(guī)模擴(kuò)展,具有高擴(kuò)展性;基于配置構(gòu)造系統(tǒng),具有高可配置性;以及以單實(shí)例支
持多租戶應(yīng)用,具有多租戶高效率;
基于多層次抽象的服務(wù)組件系統(tǒng),該系統(tǒng)對(duì)用戶需求層層抽象,將構(gòu)建軟件及服務(wù)模
式應(yīng)用所需組件相應(yīng)劃分為領(lǐng)域無關(guān)組件、領(lǐng)域相關(guān)組件和用戶相關(guān)組件,并按相應(yīng)標(biāo)準(zhǔn)
和規(guī)范注冊(cè)、存儲(chǔ)在服務(wù)庫(kù)中;并根據(jù)領(lǐng)域相關(guān)的元數(shù)據(jù)描述,通過組件裝配工具,來實(shí)現(xiàn)
各層次組件之間的連接和裝配,實(shí)現(xiàn)軟件的快速構(gòu)造和生產(chǎn)。 領(lǐng)域無關(guān)組件包括
規(guī)則描述組件通過圖形用戶界面,使用領(lǐng)域描述語言DSL,描述特定領(lǐng)域需求中可以
抽象總結(jié)成規(guī)則的業(yè)務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)等內(nèi)容,使用DSL進(jìn)行規(guī)則描述和精確定
義,并持久化保存到系統(tǒng)中,供規(guī)則引擎使用。 業(yè)務(wù)建模組件基于模型驅(qū)動(dòng)架構(gòu)MDA思想,用于描述特定領(lǐng)域需求中業(yè)務(wù)邏輯、 業(yè)務(wù)流程等所涉及的對(duì)象和要素、以及它們的屬性、行為和彼此關(guān)系,以體系的方式來設(shè) 計(jì)、描述和定義軟件系統(tǒng)。 BPEL建模組件使用業(yè)務(wù)流程執(zhí)行語言BPEL,按照特定領(lǐng)域需求,將一組現(xiàn)有的 服務(wù)組件按一定的順序和條件組合執(zhí)行,實(shí)現(xiàn)業(yè)務(wù)流程的BPEL建模,并交由BPEL引擎驅(qū) 動(dòng),實(shí)現(xiàn)業(yè)務(wù)流程的自動(dòng)化處理。 工作流建模組件用于對(duì)將工作流程組織在一起的邏輯和規(guī)則進(jìn)行建模,并對(duì)其 實(shí)施計(jì)算。通過對(duì)特定領(lǐng)域需求中的業(yè)務(wù)邏輯進(jìn)行分析、建模、描述并記錄,輸出一個(gè)能被 工作流引擎動(dòng)態(tài)解釋的過程定義。
工作流引擎用于解析和驅(qū)動(dòng)工作流建模組件所分析、建模、描述并記錄的特定領(lǐng) 域需求中的具體工作流程,根據(jù)角色、分工和條件的不同決定信息傳遞路由,完成該流程的 執(zhí)行,并進(jìn)行異常處理、執(zhí)行日志記錄等。 短信服務(wù)組件基于WebService接口 ,提供專用的SMS短消息服務(wù),通過接收目標(biāo) 方手機(jī)號(hào)碼、具體短信內(nèi)容作為參數(shù),實(shí)時(shí)發(fā)送手機(jī)短信。 DB訪問組件基于Hibernate框架封裝了所有主流數(shù)據(jù)庫(kù)的訪問代碼,可根據(jù)不 同的需求和條件配置實(shí)現(xiàn)對(duì)Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù)的連接和查 詢、修改、保存、刪除操作。 數(shù)據(jù)同步組件基于P2P機(jī)制,采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,能夠?qū)崿F(xiàn) 異構(gòu)環(huán)境下的文件同步、文件夾同步以及Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù) 之間的數(shù)據(jù)同步,其同步方式有手工同步方式和定時(shí)自動(dòng)同步方式。 數(shù)據(jù)查詢組件基于Hibernate框架,根據(jù)不同需要,支持對(duì)Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢操作,同時(shí)支持分布式環(huán)境下連接多個(gè)數(shù)據(jù)庫(kù) 的數(shù)據(jù)訪問需求。 消息管理組件實(shí)現(xiàn)通用的消息、新聞、通知等的發(fā)布、查詢、修改、刪除等操作,作
為系統(tǒng)的通用模塊提供使用,提供發(fā)布內(nèi)容、類別、權(quán)限等的自定義功能。 菜單配置組件基于平臺(tái)無關(guān)的XML文件存儲(chǔ)系統(tǒng)的菜單定義和配置信息,以動(dòng)
態(tài)加載的方式載入系統(tǒng)。配置組件提供父子菜單關(guān)系定義、菜單名稱定義、菜單關(guān)聯(lián)的超級(jí)
鏈接定義、菜單訪問的權(quán)限定義。 修改審批組件基于圖形用戶界面,針對(duì)特定領(lǐng)域需求中工作流執(zhí)行過程中的流 程定義、修改、流程審批提供圖形界面支持,以鼠標(biāo)拖拽方式直觀修改流程,進(jìn)行流程審批 等操作。
用戶管理組件對(duì)系統(tǒng)的用戶進(jìn)行管理的通用組件,包括用戶的查詢、增加、修改、
刪除操作,用戶的詳細(xì)信息維護(hù)操作,用戶所能進(jìn)行的系統(tǒng)操作的權(quán)限控制等。 數(shù)據(jù)上傳組件可實(shí)現(xiàn)對(duì)EXCEL文件數(shù)據(jù)的分析、解析,并上傳至相應(yīng)數(shù)據(jù)庫(kù)表
中。組件基于開源的EXCEL文件工具包,采用XML元數(shù)據(jù)記錄上傳文件中的列名、數(shù)據(jù)類型、
數(shù)據(jù)長(zhǎng)度、是否為空等字段信息,并通過XML解析引擎實(shí)現(xiàn)對(duì)文件中數(shù)據(jù)的格式驗(yàn)證,最后
對(duì)數(shù)據(jù)進(jìn)行封裝,上傳至數(shù)據(jù)庫(kù)中。 XML文件處理組件用于對(duì)系統(tǒng)中各種XML文件進(jìn)行處理。組件采用開源XML解
析工具包,為數(shù)據(jù)上傳、數(shù)據(jù)查詢、數(shù)據(jù)列示等組件提供XML配置文件解析服務(wù),提供相關(guān)
配置信息;并可對(duì)數(shù)據(jù)同步等組件提供XML文件供存儲(chǔ)、修改、更新等服務(wù)。 通用打印組件基于windowsXP等主流操作系統(tǒng)提供的打印服務(wù),提供的通用打
印組件,可以在系統(tǒng)中直接調(diào)用,用于打印交互界面顯示中特定的區(qū)域和內(nèi)容。 數(shù)據(jù)列示組件用于生成查詢界面的相關(guān)顯示信息。組件采用XML文件元數(shù)據(jù)的
形式記錄頁(yè)面查詢顯示所需各種信息,包括對(duì)應(yīng)數(shù)據(jù)庫(kù)表、顯示字段、查詢字段、顯示列寬
等,通過調(diào)用XML文件處理組件、數(shù)據(jù)查詢組件等組件后查詢出所需數(shù)據(jù)信息。 自由報(bào)表組件提供基于Web方式的報(bào)表自定義組件,可以通過鼠標(biāo)拖拽、SQL腳
本的方式定義報(bào)表類別、報(bào)表樣式、報(bào)表數(shù)據(jù)源以及將數(shù)據(jù)源中的表和字段與報(bào)表展示內(nèi)
容進(jìn)行掛接顯示。
流程模板定義組件基于用戶圖形界面,根據(jù)特定領(lǐng)域需求定義流程模板,并保存 在系統(tǒng)中。在針對(duì)具體業(yè)務(wù)流程進(jìn)行流程定制時(shí)使用,通過選擇預(yù)定義的與實(shí)際需求完全 相同或相近的流程模板的方式,快速設(shè)計(jì)業(yè)務(wù)流程,提高效率。 領(lǐng)域相關(guān)組件包括供應(yīng)商業(yè)務(wù)管理系統(tǒng)領(lǐng)域服務(wù)件和訂單管理系統(tǒng)領(lǐng)域服務(wù)件, 以及按照此方法構(gòu)造的其他領(lǐng)域服務(wù)件;
供應(yīng)商業(yè)務(wù)管理系統(tǒng)領(lǐng)域服務(wù)件包括供應(yīng)商關(guān)系組件、供應(yīng)商尋源組件、采購(gòu)計(jì)劃組 件、庫(kù)存管理組件、質(zhì)檢組件、財(cái)務(wù)組件、4M1E變更組件。 供應(yīng)商關(guān)系組件用于進(jìn)行供應(yīng)商關(guān)系管理,建立供應(yīng)商信息檔案,維護(hù)供應(yīng)商企 業(yè)名稱、法人、聯(lián)系人、銀行賬戶、機(jī)構(gòu)代碼、實(shí)體地址等信息,并維護(hù)供應(yīng)商所供應(yīng)的產(chǎn)品
合格率等信息。 供應(yīng)商尋源組件基于Internet,利用電子化手段,建立供應(yīng)商準(zhǔn)入機(jī)制,實(shí)現(xiàn)供 應(yīng)商的網(wǎng)上供應(yīng)申報(bào)、產(chǎn)品試制計(jì)劃、申報(bào)審批、網(wǎng)上競(jìng)標(biāo)等功能,以一整套規(guī)范有效的供 應(yīng)商開發(fā)體系,幫助企業(yè)建立戰(zhàn)略性的供應(yīng)體系。 采購(gòu)計(jì)劃組件基于Internet,實(shí)現(xiàn)采購(gòu)訂單的網(wǎng)絡(luò)發(fā)布,使供應(yīng)商實(shí)時(shí)、準(zhǔn)確接 收到采購(gòu)計(jì)劃和采購(gòu)訂單,并根據(jù)采購(gòu)計(jì)劃針對(duì)能否完成訂單、生產(chǎn)能力大小等信息進(jìn)行 在線反饋,并根據(jù)采購(gòu)計(jì)劃組織生產(chǎn)。 庫(kù)存管理組件基于Internet,實(shí)現(xiàn)零部件庫(kù)存信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布,使供應(yīng)商 能準(zhǔn)確獲取自身所供零部件在倉(cāng)庫(kù)中的剩余數(shù)量,已經(jīng)使用的零部件數(shù)據(jù)量等,可進(jìn)行準(zhǔn) 確的庫(kù)存盤點(diǎn)統(tǒng)計(jì)功能。 質(zhì)檢組件基于Internet,實(shí)現(xiàn)供應(yīng)商所供零部件的質(zhì)量檢驗(yàn)信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā) 布,包括產(chǎn)品批次、質(zhì)量檢驗(yàn)內(nèi)容、質(zhì)量檢驗(yàn)結(jié)果、產(chǎn)品合格率、質(zhì)量索賠等信息,用于指導(dǎo) 供應(yīng)商針對(duì)質(zhì)量檢驗(yàn)信息指導(dǎo)產(chǎn)品質(zhì)量改進(jìn)。 財(cái)務(wù)組件基于Internet,實(shí)現(xiàn)供應(yīng)商相關(guān)財(cái)務(wù)信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布,包括三包 費(fèi)信息、質(zhì)量索賠信息、應(yīng)付賬款信息、PPM值信息、強(qiáng)保費(fèi)信息、零部件價(jià)格信息等。
4M1E變更組件4M是指Manpower (人力),Machine (機(jī)器),Material (材料), Method (方法,技術(shù))。IE是指Environments (環(huán)境)。該組件負(fù)責(zé)對(duì)上述五大因素的變更 進(jìn)行管理,記錄變更原因,記錄變更檔案、進(jìn)行變更結(jié)果分析等。 訂單管理系統(tǒng)領(lǐng)域服務(wù)件包括流程定義組件、任務(wù)監(jiān)控組件、任務(wù)分配組件。 流程定義組件用于描述和定義訂單相關(guān)的業(yè)務(wù)流程,包括訂單的制定、訂單的審
核、訂單的web發(fā)布、訂單的執(zhí)行反饋、訂單的履約率分析、訂單的最終完成情況等。 任務(wù)監(jiān)控組件用于對(duì)訂單執(zhí)行管理中的各項(xiàng)任務(wù)進(jìn)行監(jiān)控,包括監(jiān)控任務(wù)的命
名和任務(wù)節(jié)點(diǎn)的描述、監(jiān)控具體任務(wù)內(nèi)容的定義、監(jiān)控任務(wù)執(zhí)行進(jìn)度、監(jiān)控異常的任務(wù)狀
態(tài)、驅(qū)動(dòng)任務(wù)安裝定義順序的執(zhí)行等。 任務(wù)分配組件用于對(duì)各項(xiàng)任務(wù)進(jìn)行分配,基于現(xiàn)有任務(wù)列表和人員列表,以及維 護(hù)的人員和任務(wù)的對(duì)應(yīng)匹配關(guān)系,根據(jù)優(yōu)化算法,動(dòng)態(tài)將定義好的任務(wù)分配給特定的執(zhí)行 人員,以確保各項(xiàng)任務(wù)有人執(zhí)行并且執(zhí)行時(shí)間全局最短。 用戶相關(guān)組件包括用戶界面配置、用戶規(guī)則配置、用戶報(bào)表配置、數(shù)據(jù)同步配置以 及包括用戶、部門和權(quán)限的三級(jí)柔性可視化配置及綁定組件。
用戶界面配置允許用戶通過圖形用戶界面,采用XML文件作為載體,支持用戶根據(jù)自己的個(gè)性化需求對(duì)系統(tǒng)界面元素進(jìn)行自定義和配置,包括企業(yè)Logo文件、界面配色風(fēng) 格、界面整體布局等等。 用戶規(guī)則配置允許用戶通過圖形用戶界面,根據(jù)特定領(lǐng)域需求,自定義和描述特 定領(lǐng)域需求中可以抽象總結(jié)成規(guī)則的業(yè)務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)等內(nèi)容,使用DSL進(jìn)行 規(guī)則描述和精確定義,并持久化保存到系統(tǒng)中,供規(guī)則引擎使用。 用戶報(bào)表配置允許用戶通過圖形用戶界面,根據(jù)特定領(lǐng)域需求,自定義和設(shè)計(jì)報(bào) 表樣式,配置報(bào)表類型、數(shù)據(jù)源、顯示格式等報(bào)表相關(guān)信息。 數(shù)據(jù)同步配置允許用戶通過圖形用戶界面,采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù) 載體,根據(jù)特定領(lǐng)域需求,自定義和配置異構(gòu)環(huán)境下的文件同步、文件夾同步以及Oracle, MySQL, SQLServer, Sybase等主流數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,自定義手工同步方式和定時(shí)自動(dòng) 同步方式。 用戶、部門和權(quán)限的三級(jí)柔性可視化配置及綁定組件允許用戶通過圖形用戶界 面,自定義部門、部門用戶和用戶權(quán)限相綁定和關(guān)聯(lián)的三級(jí)權(quán)限控制機(jī)制,并能動(dòng)態(tài)靈活的 支持柔性化的配置和調(diào)整。 組件裝配工具包括用戶個(gè)性化配置工具、業(yè)務(wù)描述工具、短消息/即時(shí)消息工具、 數(shù)據(jù)同步工具,元數(shù)據(jù)描述工具。 用戶個(gè)性化配置工具用戶個(gè)性化配置工具提供基于圖形用戶界面的操作方式, 根據(jù)特定領(lǐng)域需求,使用戶滿足個(gè)性化的配置要求,如自定義業(yè)務(wù)規(guī)則、自定義業(yè)務(wù)報(bào)表、 自定義業(yè)務(wù)流程等。 業(yè)務(wù)描述工具業(yè)務(wù)描述工具使用領(lǐng)域描述語言DSL,描述特定領(lǐng)域需求中的業(yè) 務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)等內(nèi)容,使用DSL進(jìn)行規(guī)則描述和精確定義,并持久化保存到 系統(tǒng)中。 短消息/即時(shí)消息工具短消息/即時(shí)消息工具具有即時(shí)、批量發(fā)送手機(jī)短信功 能,具有基于Internet使用的即時(shí)消息工具功能。 數(shù)據(jù)同步工具數(shù)據(jù)同步工具采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,能夠?qū)崿F(xiàn) 異構(gòu)環(huán)境下的文件同步、文件夾同步以及主流數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,其同步方式有手工 同步方式和定時(shí)自動(dòng)同步方式。 元數(shù)據(jù)描述工具元數(shù)據(jù)是用于描述數(shù)據(jù)的數(shù)據(jù),元數(shù)據(jù)描述工具用元數(shù)據(jù)定義 整個(gè)系統(tǒng)的業(yè)務(wù)邏輯、業(yè)務(wù)流程、組件構(gòu)成、界面配置、任務(wù)監(jiān)控等,并采用平臺(tái)無關(guān)的XML 文件進(jìn)行元數(shù)據(jù)定義和存儲(chǔ)。 適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件的構(gòu)造方法,它從業(yè)務(wù)需求出發(fā),基于服務(wù)庫(kù), 沿著支持領(lǐng)域需求到支持個(gè)性化功能需求的路線完成重構(gòu)過程;服務(wù)件、組件層通過對(duì)領(lǐng) 域需求的層層抽象,將構(gòu)建軟件及服務(wù)模式應(yīng)用所需組件劃分為領(lǐng)域無關(guān)、領(lǐng)域相關(guān)和用 戶相關(guān)的三個(gè)層次,便于對(duì)分解后的業(yè)務(wù)需求進(jìn)行快速的重構(gòu);同時(shí)提供了元數(shù)據(jù)描述、業(yè) 務(wù)描述、數(shù)據(jù)同步、短消息、即時(shí)消息、個(gè)性化配置工具,最終構(gòu)造的軟件及服務(wù)模式應(yīng)用基 于公共的組件生成,通過服務(wù)實(shí)例和服務(wù)規(guī)模的擴(kuò)展以支持高擴(kuò)展性,以快速重構(gòu)方法和 基于配置的方法支持高可配置性,基于元數(shù)據(jù)在軟件及服務(wù)模式應(yīng)用層提供對(duì)數(shù)據(jù)的統(tǒng)一 訪問,確保不同租戶數(shù)據(jù)的一致性和準(zhǔn)確性,支持多用戶高效率,實(shí)現(xiàn)最終的高成熟度軟件 及服務(wù)模式應(yīng)用。
它的具體步驟為
St印l :應(yīng)用的業(yè)務(wù)抽象層次分析
首先對(duì)所要構(gòu)造的服務(wù)化應(yīng)用的業(yè)務(wù)抽象層次進(jìn)行分析
1) 如果該應(yīng)用的抽象層次為全新應(yīng)用,即無法復(fù)用本軟件系統(tǒng)中的領(lǐng)域相關(guān)組件,則 需要從領(lǐng)域無關(guān)組件開始重構(gòu),轉(zhuǎn)St印2;
2) 如果該應(yīng)用為本軟件系統(tǒng)中的領(lǐng)域相關(guān)應(yīng)用的相同業(yè)務(wù),且為領(lǐng)域內(nèi)具有共同語義 的業(yè)務(wù)功能描述,則可以從領(lǐng)域相關(guān)組件開始重構(gòu),轉(zhuǎn)st印4;
3) 如果該應(yīng)用為本軟件系統(tǒng)中某個(gè)應(yīng)用的服務(wù)化實(shí)例,即具有與現(xiàn)有應(yīng)用相同的功能 結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)模式,只有對(duì)功能顯示的個(gè)性化需求的區(qū)別,則可以采用配置的方式重構(gòu) 該應(yīng)用,轉(zhuǎn)st印5;
St印2 :需求的定義與描述 定義系統(tǒng)所需的如下信息
系統(tǒng)面向的最終用戶、角色、部門、訪問權(quán)限,包括部門組織結(jié)構(gòu)和不同角色的用戶權(quán)
限,可操作的系統(tǒng)菜單;系統(tǒng)功能模塊,各模塊中具體子功能;系統(tǒng)底層的數(shù)據(jù)庫(kù)詳細(xì)設(shè) 計(jì),針對(duì)數(shù)據(jù)同步工具的配置,需要定義源數(shù)據(jù)庫(kù)的詳細(xì)信息,表結(jié)構(gòu),同步所需字段的類 型、長(zhǎng)度及其它相應(yīng)信息;
St印3 :業(yè)務(wù)數(shù)據(jù)庫(kù)的建立
使用公共數(shù)據(jù)庫(kù),完成企業(yè)實(shí)體信息、用戶和角色信息、消息通知管理、權(quán)限信息的存 儲(chǔ);然后,根據(jù)實(shí)際需求構(gòu)建具體業(yè)務(wù)數(shù)據(jù)庫(kù),根據(jù)前期數(shù)據(jù)庫(kù)設(shè)計(jì),在數(shù)據(jù)庫(kù)中建立相應(yīng) 具體業(yè)務(wù)相對(duì)應(yīng)的表結(jié)構(gòu);利用Myeclipse工具中的MyeclipseHibernate持久層工具集, 連接所建立的業(yè)務(wù)數(shù)據(jù)庫(kù),生成相應(yīng)的數(shù)據(jù)庫(kù)配置文件,各具體業(yè)務(wù)表的Hibernate映射 文件、類文件,這些配置文件存放在規(guī)定的具體目錄中;另外,對(duì)于數(shù)據(jù)庫(kù)連接池,手工加入 到數(shù)據(jù)庫(kù)的Hibernate配置文件中;
St印4:數(shù)據(jù)同步工具的配置
根據(jù)數(shù)據(jù)同步需求,確定源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)相應(yīng)表、字段的配置信息,編寫源數(shù)據(jù) 庫(kù)端和目標(biāo)數(shù)據(jù)庫(kù)端的配置文件,啟動(dòng)并測(cè)試完成數(shù)據(jù)同步;數(shù)據(jù)同步工具單獨(dú)部署到一 個(gè)服務(wù)器中,以SaaS模式投入使用,即以一臺(tái)數(shù)據(jù)同步工具服務(wù)器,同時(shí)為多個(gè)應(yīng)用提供 數(shù)據(jù)同步服務(wù);
St印5 :用戶角色和系統(tǒng)菜單的配置
根據(jù)前期對(duì)業(yè)務(wù)需求的詳細(xì)分析,首先確定功能模塊及其具體子功能,然后反映到系 統(tǒng)界面層,就是相應(yīng)的操作菜單, 一個(gè)功能模塊作為一個(gè)系統(tǒng)菜單的節(jié)點(diǎn),各具體子功能作 為功能模塊菜單的子菜單。然后,確定某企業(yè)內(nèi)應(yīng)有的用戶角色,以及相應(yīng)的操作權(quán)限,定 義不同角色所能進(jìn)行的菜單操作。最后,編寫角色及其可操作菜單的XML配置文件,則系統(tǒng) 的角色權(quán)限模塊自動(dòng)以"所見即所得"的模式解析到用戶操作界面;
St印6 :功能模塊的構(gòu)建
通過上一步的工作,已經(jīng)定義好了各種角色所能訪問的分功能模塊的菜單框架;完整 的菜單、用戶、角色權(quán)限、消息管理等領(lǐng)域無關(guān)服務(wù)件可以直接拿來復(fù)用,其它具體業(yè)務(wù)相 關(guān)的功能模塊,逐個(gè)進(jìn)行配置和構(gòu)建。
權(quán)利要求
一種適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造系統(tǒng),其特征是,它包括SaaS應(yīng)用運(yùn)行時(shí)支撐系統(tǒng),該系統(tǒng)為整個(gè)構(gòu)造系統(tǒng)的運(yùn)行時(shí)支撐環(huán)境,它支持服務(wù)實(shí)例和服務(wù)規(guī)模擴(kuò)展,具有擴(kuò)展性;基于配置構(gòu)造系統(tǒng),具有配置性;以及以單實(shí)例支持多租戶應(yīng)用;基于多層次抽象的服務(wù)組件系統(tǒng),該系統(tǒng)對(duì)用戶需求層層抽象,將構(gòu)建軟件及服務(wù)模式應(yīng)用所需組件相應(yīng)劃分為領(lǐng)域無關(guān)組件、領(lǐng)域相關(guān)組件和用戶相關(guān)組件,并按相應(yīng)標(biāo)準(zhǔn)和規(guī)范注冊(cè)、存儲(chǔ)在服務(wù)庫(kù)中;并根據(jù)領(lǐng)域相關(guān)的元數(shù)據(jù)描述,通過組件裝配工具,來實(shí)現(xiàn)各層次組件之間的連接和裝配,實(shí)現(xiàn)軟件的快速構(gòu)造和生產(chǎn)。
2. 如權(quán)利要求1所述的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造系統(tǒng),其特征是,所述 領(lǐng)域無關(guān)組件包括規(guī)則描述組件描述特定領(lǐng)域需求中的業(yè)務(wù)邏輯、業(yè)務(wù)流程、界面設(shè)計(jì)內(nèi)容,使用DSL 進(jìn)行規(guī)則描述和精確定義,并持久化保存到系統(tǒng)中,供規(guī)則引擎使用;業(yè)務(wù)建模組件描述特定領(lǐng)域需求中業(yè)務(wù)邏輯、業(yè)務(wù)流程所涉及的對(duì)象和要素、以及它 們的屬性、行為和彼此關(guān)系,以體系的方式來設(shè)計(jì)、描述和定義軟件系統(tǒng);BPEL建模組件使用業(yè)務(wù)流程執(zhí)行語言BPEL,按照特定領(lǐng)域需求,將一組現(xiàn)有的服務(wù) 組件按規(guī)定的順序和條件組合執(zhí)行,實(shí)現(xiàn)業(yè)務(wù)流程的BPEL建模,并交由BPEL引擎驅(qū)動(dòng),實(shí) 現(xiàn)業(yè)務(wù)流程的自動(dòng)化處理;工作流建模組件用于對(duì)將工作流程組織在一起的邏輯和規(guī)則進(jìn)行建模,并對(duì)其實(shí)施 計(jì)算;通過對(duì)特定領(lǐng)域需求中的業(yè)務(wù)邏輯進(jìn)行分析、建模、描述并記錄,輸出一個(gè)能被工作 流引擎動(dòng)態(tài)解釋的過程定義;工作流引擎用于解析和驅(qū)動(dòng)工作流建模組件所分析、建模、描述并記錄的特定領(lǐng)域 需求中的具體工作流程,根據(jù)角色、分工和條件的不同決定信息傳遞路由,完成該流程的執(zhí) 行,并進(jìn)行異常處理、執(zhí)行日志記錄;短信服務(wù)組件基于WebService接口 ,提供專用的SMS短消息服務(wù),通過接收目標(biāo)方手 機(jī)號(hào)碼、具體短信內(nèi)容作為參數(shù),實(shí)時(shí)發(fā)送手機(jī)短信;DB訪問組件根據(jù)不同的需求和條件配置實(shí)現(xiàn)對(duì)主流數(shù)據(jù)庫(kù)的連接和查詢、修改、保 存、刪除操作;數(shù)據(jù)同步組件基于P2P機(jī)制,采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,實(shí)現(xiàn)異構(gòu)環(huán)境 下的文件同步、文件夾同步以及主流數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,其同步方式有手工同步方式 和/或定時(shí)自動(dòng)同步方式;數(shù)據(jù)查詢組件根據(jù)不同需要,支持對(duì)主流數(shù)據(jù)庫(kù)的數(shù)據(jù)查詢操作,同時(shí)支持分布式環(huán) 境下連接多個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)訪問需求;消息管理組件實(shí)現(xiàn)通用的消息、新聞、通知等的發(fā)布、查詢、修改、刪除操作,作為系統(tǒng) 的通用模塊提供使用,提供發(fā)布內(nèi)容、類別、權(quán)限的自定義功能;菜單配置組件基于平臺(tái)無關(guān)的XML文件存儲(chǔ)系統(tǒng)的菜單定義和配置信息,以動(dòng)態(tài)加 載的方式載入系統(tǒng);配置組件提供父子菜單關(guān)系定義、菜單名稱定義、菜單關(guān)聯(lián)的超級(jí)鏈接 定義、菜單訪問的權(quán)限定義;修改審批組件針對(duì)特定領(lǐng)域需求中工作流執(zhí)行過程中的流程定義、修改、流程審批提 供圖形界面支持,以鼠標(biāo)拖拽方式直觀修改流程,進(jìn)行流程審批操作;用戶管理組件對(duì)系統(tǒng)的用戶進(jìn)行管理的通用組件,包括用戶的查詢、增加、修改、刪除 操作,用戶的詳細(xì)信息維護(hù)操作,用戶所能進(jìn)行的系統(tǒng)操作的權(quán)限控制;數(shù)據(jù)上傳組件實(shí)現(xiàn)對(duì)EXCEL文件數(shù)據(jù)的分析、解析,并上傳至相應(yīng)數(shù)據(jù)庫(kù)表中; XML文件處理組件用于對(duì)系統(tǒng)中各種XML文件進(jìn)行處理; 通用打印組件用于打印交互界面顯示中特定的區(qū)域和內(nèi)容; 數(shù)據(jù)列示組件用于生成查詢界面的相關(guān)顯示信息;自由報(bào)表組件提供基于Web方式的報(bào)表自定義組件,通過鼠標(biāo)拖拽、SQL腳本的方式 定義報(bào)表類別、報(bào)表樣式、報(bào)表數(shù)據(jù)源以及將數(shù)據(jù)源中的表和字段與報(bào)表展示內(nèi)容進(jìn)行掛 接顯示;流程模板定義組件根據(jù)特定領(lǐng)域需求定義流程模板,并保存在系統(tǒng)中。
3. 如權(quán)利要求1所述的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造系統(tǒng),其特征是,所述 領(lǐng)域相關(guān)組件包括供應(yīng)商業(yè)務(wù)管理系統(tǒng)領(lǐng)域服務(wù)件和訂單管理系統(tǒng)領(lǐng)域服務(wù)件,以及按照 此方法構(gòu)造的其他領(lǐng)域服務(wù)件;供應(yīng)商業(yè)務(wù)管理系統(tǒng)領(lǐng)域服務(wù)件包括供應(yīng)商關(guān)系組件、供應(yīng)商尋源組件、采購(gòu)計(jì)劃組 件、庫(kù)存管理組件、質(zhì)檢組件、財(cái)務(wù)組件、4M1E變更組件;供應(yīng)商關(guān)系組件用于進(jìn)行供應(yīng)商關(guān)系管理,建立供應(yīng)商信息檔案;供應(yīng)商尋源組件建立供應(yīng)商準(zhǔn)入機(jī)制,實(shí)現(xiàn)供應(yīng)商的網(wǎng)上供應(yīng)申報(bào)、產(chǎn)品試制計(jì)劃、 申報(bào)審批、網(wǎng)上競(jìng)標(biāo);采購(gòu)計(jì)劃組件實(shí)現(xiàn)采購(gòu)訂單的網(wǎng)絡(luò)發(fā)布;庫(kù)存管理組件實(shí)現(xiàn)零部件庫(kù)存信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布,進(jìn)行準(zhǔn)確的庫(kù)存盤點(diǎn)統(tǒng)計(jì); 質(zhì)檢組件實(shí)現(xiàn)供應(yīng)商所供零部件的質(zhì)量檢驗(yàn)信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布,指導(dǎo)供應(yīng)商針對(duì) 質(zhì)量檢驗(yàn)信息指導(dǎo)產(chǎn)品質(zhì)量改進(jìn);財(cái)務(wù)組件實(shí)現(xiàn)供應(yīng)商相關(guān)財(cái)務(wù)信息的實(shí)時(shí)網(wǎng)絡(luò)發(fā)布;4M1E變更組件4M是指Manpower人力,Machine機(jī)器,Material材料,Method方法,技 術(shù);1E是指Environments環(huán)境;該組件負(fù)責(zé)對(duì)上述五大因素的變更進(jìn)行管理,記錄變更原 因,記錄變更檔案、進(jìn)行變更結(jié)果分析;訂單管理系統(tǒng)領(lǐng)域服務(wù)件包括流程定義組件、任務(wù)監(jiān)控組件、任務(wù)分配組件;流程定義組件用于描述和定義訂單相關(guān)的業(yè)務(wù)流程,包括訂單的制定、訂單的審核、 訂單的web發(fā)布、訂單的執(zhí)行反饋、訂單的履約率分析、訂單的最終完成情況;任務(wù)監(jiān)控組件用于對(duì)訂單執(zhí)行管理中的各項(xiàng)任務(wù)進(jìn)行監(jiān)控,包括監(jiān)控任務(wù)的命名和 任務(wù)節(jié)點(diǎn)的描述、監(jiān)控具體任務(wù)內(nèi)容的定義、監(jiān)控任務(wù)執(zhí)行進(jìn)度、監(jiān)控異常的任務(wù)狀態(tài)、驅(qū) 動(dòng)任務(wù)安裝定義順序的執(zhí)行;任務(wù)分配組件用于對(duì)各項(xiàng)任務(wù)進(jìn)行分配,基于現(xiàn)有任務(wù)列表和人員列表,以及維護(hù)的 人員和任務(wù)的對(duì)應(yīng)匹配關(guān)系,動(dòng)態(tài)的將定義好的任務(wù)分配給特定的執(zhí)行人員,以確保各項(xiàng) 任務(wù)有人執(zhí)行并且執(zhí)行時(shí)間全局最短。
4. 如權(quán)利要求1所述的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造系統(tǒng),其特征是,所述 用戶相關(guān)組件包括用戶界面配置、用戶規(guī)則配置、用戶報(bào)表配置、數(shù)據(jù)同步配置以及包括用 戶、部門和權(quán)限的三級(jí)柔性可視化配置及綁定組件;用戶界面配置用戶通過圖形用戶界面,采用XML文件作為載體,支持用戶根據(jù)自己的個(gè)性化需求對(duì)系統(tǒng)界面元素進(jìn)行自定義和配置;用戶規(guī)則配置根據(jù)特定領(lǐng)域需求,自定義和描述特定領(lǐng)域需求中的業(yè)務(wù)邏輯、業(yè)務(wù)流 程、界面設(shè)計(jì)內(nèi)容,使用DSL進(jìn)行規(guī)則描述和精確定義,并持久化保存到系統(tǒng)中,供規(guī)則引 擎使用;用戶報(bào)表配置用戶通過圖形用戶界面,根據(jù)特定領(lǐng)域需求,自定義和設(shè)計(jì)報(bào)表樣式, 配置報(bào)表類型、數(shù)據(jù)源、顯示格式、報(bào)表相關(guān)信息;數(shù)據(jù)同步配置用戶通過圖形用戶界面,采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,根據(jù) 特定領(lǐng)域需求,自定義和配置異構(gòu)環(huán)境下的文件同步、文件夾同步以及主流數(shù)據(jù)庫(kù)之間的 數(shù)據(jù)同步,自定義手工同步方式和/或定時(shí)自動(dòng)同步方式;用戶、部門和權(quán)限的三級(jí)柔性可視化配置及綁定組件用戶通過圖形用戶界面,自定義 部門、部門用戶和用戶權(quán)限相綁定和關(guān)聯(lián)的三級(jí)權(quán)限控制機(jī)制,并能動(dòng)態(tài)靈活的支持柔性 化的配置和調(diào)整。
5. 如權(quán)利要求1所述的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造系統(tǒng),其特征是,所述 組件裝配工具包括用戶個(gè)性化配置工具、業(yè)務(wù)描述工具、短消息/即時(shí)消息工具、數(shù)據(jù)同步 工具,元數(shù)據(jù)描述工具;用戶個(gè)性化配置工具用戶個(gè)性化配置工具提供基于圖形用戶界面的操作方式,根據(jù) 特定領(lǐng)域需求,使用戶滿足個(gè)性化的配置要求;業(yè)務(wù)描述工具業(yè)務(wù)描述工具使用領(lǐng)域描述語言DSL,描述特定領(lǐng)域需求中的業(yè)務(wù)邏 輯、業(yè)務(wù)流程、界面設(shè)計(jì)內(nèi)容,使用DSL進(jìn)行規(guī)則描述和精確定義,并持久化保存到系統(tǒng)中;短消息/即時(shí)消息工具即時(shí)、批量發(fā)送手機(jī)短信;數(shù)據(jù)同步工具數(shù)據(jù)同步工具采用平臺(tái)無關(guān)的XML文件作為數(shù)據(jù)載體,實(shí)現(xiàn)異構(gòu)環(huán)境 下的文件同步、文件夾同步以及主流數(shù)據(jù)庫(kù)之間的數(shù)據(jù)同步,其同步方式有手工同步方式 和/或定時(shí)自動(dòng)同步方式;元數(shù)據(jù)描述工具用元數(shù)據(jù)定義整個(gè)系統(tǒng)的業(yè)務(wù)邏輯、業(yè)務(wù)流程、組件構(gòu)成、界面配置、 任務(wù)監(jiān)控,并采用平臺(tái)無關(guān)的XML文件進(jìn)行元數(shù)據(jù)定義和存儲(chǔ)。
6. —種權(quán)利要求1所述的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件的構(gòu)造方法,其特征是, 它從業(yè)務(wù)需求出發(fā),基于服務(wù)庫(kù),沿著支持領(lǐng)域需求到支持個(gè)性化功能需求的路線完成重 構(gòu)過程;服務(wù)件、組件層通過對(duì)領(lǐng)域需求的層層抽象,將構(gòu)建軟件及服務(wù)模式應(yīng)用所需組件 劃分為領(lǐng)域無關(guān)、領(lǐng)域相關(guān)和用戶相關(guān)的三個(gè)層次,便于對(duì)分解后的業(yè)務(wù)需求進(jìn)行快速的 重構(gòu);同時(shí)提供了元數(shù)據(jù)描述、業(yè)務(wù)描述、數(shù)據(jù)同步、短消息、即時(shí)消息、個(gè)性化配置工具,最 終構(gòu)造的軟件及服務(wù)模式應(yīng)用基于公共的組件生成,通過服務(wù)實(shí)例和服務(wù)規(guī)模的擴(kuò)展以支 持高擴(kuò)展性,以快速重構(gòu)方法和基于配置的方法支持高可配置性,基于元數(shù)據(jù)在軟件及服 務(wù)模式應(yīng)用層提供對(duì)數(shù)據(jù)的統(tǒng)一訪問,確保不同租戶數(shù)據(jù)的一致性和準(zhǔn)確性,支持多用戶 高效率,實(shí)現(xiàn)最終的高成熟度軟件及服務(wù)模式應(yīng)用。
7. 如權(quán)利要求6所述的適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件的構(gòu)造方法,它的具體步驟為St印l :應(yīng)用的業(yè)務(wù)抽象層次分析首先對(duì)所要構(gòu)造的服務(wù)化應(yīng)用的業(yè)務(wù)抽象層次進(jìn)行分析1)如果該應(yīng)用的抽象層次為全新應(yīng)用,即無法復(fù)用本軟件系統(tǒng)中的領(lǐng)域相關(guān)組件,則需要從領(lǐng)域無關(guān)組件開始重構(gòu),轉(zhuǎn)St印2 ;2) 如果該應(yīng)用為本軟件系統(tǒng)中的領(lǐng)域相關(guān)應(yīng)用的相同業(yè)務(wù),且為領(lǐng)域內(nèi)具有共同語義 的業(yè)務(wù)功能描述,則可以從領(lǐng)域相關(guān)組件開始重構(gòu),轉(zhuǎn)st印4;3) 如果該應(yīng)用為本軟件系統(tǒng)中某個(gè)應(yīng)用的服務(wù)化實(shí)例,即具有與現(xiàn)有應(yīng)用相同的功能 結(jié)構(gòu)和數(shù)據(jù)結(jié)構(gòu)模式,只有對(duì)功能顯示的個(gè)性化需求的區(qū)別,則可以采用配置的方式重構(gòu) 該應(yīng)用,轉(zhuǎn)st印5St印2 :需求的定義與描述 定義系統(tǒng)所需的如下信息系統(tǒng)面向的最終用戶、角色、部門、訪問權(quán)限,包括部門組織結(jié)構(gòu)和不同角色的用戶權(quán)限,可操作的系統(tǒng)菜單;系統(tǒng)功能模塊,各模塊中具體子功能;系統(tǒng)底層的數(shù)據(jù)庫(kù)詳細(xì)設(shè) 計(jì),針對(duì)數(shù)據(jù)同步工具的配置,需要定義源數(shù)據(jù)庫(kù)的詳細(xì)信息,表結(jié)構(gòu),同步所需字段的類 型、長(zhǎng)度及其它相應(yīng)信息;St印3 :業(yè)務(wù)數(shù)據(jù)庫(kù)的建立使用公共數(shù)據(jù)庫(kù),完成企業(yè)實(shí)體信息、用戶和角色信息、消息通知管理、權(quán)限信息的存 儲(chǔ);然后,根據(jù)實(shí)際需求構(gòu)建具體業(yè)務(wù)數(shù)據(jù)庫(kù),根據(jù)前期數(shù)據(jù)庫(kù)設(shè)計(jì),在數(shù)據(jù)庫(kù)中建立相應(yīng) 具體業(yè)務(wù)相對(duì)應(yīng)的表結(jié)構(gòu);利用Myeclipse工具中的MyeclipseHibernate持久層工具集, 連接所建立的業(yè)務(wù)數(shù)據(jù)庫(kù),生成相應(yīng)的數(shù)據(jù)庫(kù)配置文件,各具體業(yè)務(wù)表的Hibernate映射 文件、類文件,這些配置文件存放在規(guī)定的具體目錄中;另外,對(duì)于數(shù)據(jù)庫(kù)連接池,手工加入 到數(shù)據(jù)庫(kù)的Hibernate配置文件中;St印4:數(shù)據(jù)同步工具的配置根據(jù)數(shù)據(jù)同步需求,確定源數(shù)據(jù)庫(kù)和目標(biāo)數(shù)據(jù)庫(kù)相應(yīng)表、字段的配置信息,編寫源數(shù)據(jù) 庫(kù)端和目標(biāo)數(shù)據(jù)庫(kù)端的配置文件,啟動(dòng)并測(cè)試完成數(shù)據(jù)同步;數(shù)據(jù)同步工具單獨(dú)部署到一 個(gè)服務(wù)器中,以SaaS模式投入使用,即以一臺(tái)數(shù)據(jù)同步工具服務(wù)器,同時(shí)為多個(gè)應(yīng)用提供 數(shù)據(jù)同步服務(wù);St印5 :用戶角色和系統(tǒng)菜單的配置根據(jù)前期對(duì)業(yè)務(wù)需求的詳細(xì)分析,首先確定功能模塊及其具體子功能,然后反映到系 統(tǒng)界面層,就是相應(yīng)的操作菜單, 一個(gè)功能模塊作為一個(gè)系統(tǒng)菜單的節(jié)點(diǎn),各具體子功能作 為功能模塊菜單的子菜單;然后,確定某企業(yè)內(nèi)應(yīng)有的用戶角色,以及相應(yīng)的操作權(quán)限,定 義不同角色所能進(jìn)行的菜單操作;最后,編寫角色及其可操作菜單的XML配置文件,則系統(tǒng) 的角色權(quán)限模塊自動(dòng)以"所見即所得"的模式解析到用戶操作界面;St印6 :功能模塊的構(gòu)建通過上一步的工作,已經(jīng)定義好了各種角色所能訪問的分功能模塊的菜單框架;完整 的菜單、用戶、角色權(quán)限、消息管理等領(lǐng)域無關(guān)服務(wù)件可以直接拿來復(fù)用,其它具體業(yè)務(wù)相 關(guān)的功能模塊,逐個(gè)進(jìn)行配置和構(gòu)建。
全文摘要
本發(fā)明公開了一種適應(yīng)多業(yè)務(wù)抽象層次的服務(wù)化軟件構(gòu)造方法和系統(tǒng)。它基于面向服務(wù)架構(gòu),采用逐級(jí)抽象的方法來構(gòu)造服務(wù)組件資源,在此基礎(chǔ)上構(gòu)造軟件系統(tǒng);根據(jù)不同業(yè)務(wù)抽象層次的應(yīng)用需求,同時(shí)提供基于領(lǐng)域無關(guān)的原子組件的構(gòu)造途徑、基于領(lǐng)域相關(guān)復(fù)合組件的重構(gòu)途徑和基于用戶業(yè)務(wù)相關(guān)的配置途徑;使得軟件的構(gòu)造和管理可以針對(duì)不同的業(yè)務(wù)需求和抽象層次,采用適合的方法,以適應(yīng)大規(guī)模多租戶、軟件即服務(wù)模式應(yīng)用的快速重構(gòu),確保軟件生產(chǎn)的效率、經(jīng)濟(jì)性和可靠性。
文檔編號(hào)H04L12/24GK101794226SQ201010118718
公開日2010年8月4日 申請(qǐng)日期2010年3月8日 優(yōu)先權(quán)日2010年3月8日
發(fā)明者劉士軍, 孟祥旭, 張勇, 楊成偉 申請(qǐng)人:山東大學(xué)