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

一種基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法及裝置的制作方法

文檔序號(hào):6469899閱讀:196來源:國(guó)知局
專利名稱:一種基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法及裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及元數(shù)據(jù)的業(yè)務(wù)單據(jù)定制技術(shù),特別涉及一種基于元數(shù)據(jù)的定制 業(yè)務(wù)單據(jù)的方法及裝置。
背景技術(shù)
業(yè)務(wù)單據(jù)功能是業(yè)務(wù)軟件系統(tǒng)中非常常見、非常重要的核心功能組成,也 是業(yè)務(wù)邏輯非常復(fù)雜、相似點(diǎn)最多、變化幾率最大的功能部分?,F(xiàn)在業(yè)界常見 的定制技術(shù)有單純的業(yè)務(wù)單據(jù)定制技術(shù)和帶單據(jù)業(yè)務(wù)邏輯的業(yè)務(wù)單據(jù)開發(fā)技 術(shù)。
其中,在單純的頁面表單定制技術(shù)中,要求軟件設(shè)計(jì)者在定義業(yè)務(wù)單據(jù)數(shù) 據(jù)模型時(shí)必須先確定所有類型單據(jù)的通用字段,預(yù)留許多擴(kuò)展字段。業(yè)務(wù)單據(jù) 數(shù)據(jù)模型與其輔助的關(guān)聯(lián)數(shù)據(jù)模型通過一個(gè)龐大的數(shù)據(jù)關(guān)聯(lián)視圖建立聯(lián)系。這
種技術(shù)制約點(diǎn)在于,由于數(shù)據(jù)模型的龐大,會(huì)降低業(yè)務(wù)軟件系統(tǒng)的運(yùn)行效率; 同時(shí)由于開發(fā)完成的數(shù)據(jù)模型基本上不能進(jìn)行擴(kuò)展或者擴(kuò)展的成本高,且單據(jù) 的業(yè)務(wù)邏輯必須不能改變。
另外,帶單據(jù)業(yè)務(wù)邏輯的業(yè)務(wù)單據(jù)開發(fā)技術(shù),基本是以上技術(shù)的一種改進(jìn), 引入軟件開發(fā)模式中模式-視圖-控制器(Model-View-Controller, MVC )架構(gòu), 將業(yè)務(wù)單據(jù)表單部分與業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯部分進(jìn)行分離開發(fā),降低了軟件的
耦合度,提高了開發(fā)效率。但是,由于業(yè)務(wù)邏輯通常是固定一種單據(jù)對(duì)應(yīng)一個(gè) 固定業(yè)務(wù)邏輯,因此無法滿足業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯多變性的要求。

發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是,提供一種基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法 及裝置,能夠滿足業(yè)務(wù)單據(jù)多變性的特性,提高軟件開發(fā)效率,降低軟件維護(hù) 成本。
本發(fā)明的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,包括下列步驟
步驟A:通過頁面模板設(shè)計(jì)工具開發(fā)繪制單據(jù)表單靜態(tài)超文本標(biāo)記語言
HTML頁面模板界面,抽取所述頁面模板界面中的頁面控件元素,存入數(shù)據(jù)庫(kù),
并輸出單據(jù)的頁面元數(shù)據(jù);
步驟B:進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì),并抽取單據(jù),生成業(yè)務(wù)單據(jù)元數(shù)據(jù); 步驟C:進(jìn)行服務(wù)模型設(shè)計(jì),開發(fā)原子服務(wù)并將所述原子服務(wù)組裝生成服
務(wù)元數(shù)據(jù);
步驟D:根據(jù)不同的業(yè)務(wù)請(qǐng)求進(jìn)行業(yè)務(wù)單據(jù)定制,將頁面元數(shù)據(jù)、單據(jù)模 型元數(shù)據(jù)、服務(wù)元數(shù)據(jù)組裝成一個(gè)實(shí)現(xiàn)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型。
其中,在所述步驟C中,進(jìn)行服務(wù)模型設(shè)計(jì)時(shí),可以包括下列步驟將 業(yè)務(wù)單據(jù)的處理邏輯進(jìn)行細(xì)粒度的服務(wù)化編寫,服務(wù)之間的關(guān)系的定義在服務(wù)
模型設(shè)計(jì)時(shí)產(chǎn)生,并由單據(jù)引擎負(fù)責(zé)服務(wù)之間的協(xié)調(diào)與通訊,通過WEB在業(yè) 務(wù)系統(tǒng)運(yùn)行時(shí)進(jìn)行在線調(diào)整與規(guī)范。
另外,在所述步驟C中,所述原子服務(wù)可以包括簡(jiǎn)單屬性校驗(yàn)、復(fù)雜 校驗(yàn)、單據(jù)入庫(kù)、提交。
其中,在所述步驟D中,可以通過所述步驟A中的頁面模板設(shè)計(jì)工具進(jìn) 行繪制頁面模板界面,將所述步驟B中設(shè)計(jì)的業(yè)務(wù)單據(jù)元數(shù)據(jù)結(jié)構(gòu)和所述步 驟C中設(shè)計(jì)的單據(jù)模板結(jié)構(gòu)之間建立起關(guān)聯(lián)關(guān)系。
其中,所述建立起關(guān)聯(lián)關(guān)系,可以包括下列步驟建立所述業(yè)務(wù)單據(jù)元數(shù) 據(jù)的相關(guān)字段屬性與所述HTML頁面才莫板中頁面控件元素的關(guān)聯(lián)關(guān)系,建立 單據(jù)引擎中的服務(wù)標(biāo)簽與服務(wù)元數(shù)據(jù)的關(guān)聯(lián)關(guān)系。
另外,所述步驟A中的頁面模板設(shè)計(jì)工具可以為集成開發(fā)工具IDT,并 通過所述集成開發(fā)工具IDT實(shí)現(xiàn)所述步驟B中所述業(yè)務(wù)單據(jù)模型設(shè)計(jì)和所述 步驟C中所述服務(wù)模型設(shè)計(jì)。
進(jìn)一步地,在4丸行步驟D之后,可以包括下列步驟根據(jù)業(yè)務(wù)的變化, 通過在線定制工具改變業(yè)務(wù)單據(jù)的頁面表單名稱與屬性、改變業(yè)務(wù)單據(jù)的業(yè)務(wù) 邏輯。
進(jìn)一步地,在所述單據(jù)頁面進(jìn)行初始化時(shí),可以包括下列步驟 用戶發(fā)起頁面請(qǐng)求,通過HTTP請(qǐng)求傳入服務(wù)器端;單據(jù)引擎攔截HTTP 請(qǐng)求,分析所述請(qǐng)求的類型,傳遞給對(duì)應(yīng)的單據(jù)引擎處理器進(jìn)行處理;相應(yīng)的 單據(jù)引擎處理器根據(jù)所述業(yè)務(wù)單據(jù)關(guān)聯(lián)模型解析頁面元數(shù)據(jù)、業(yè)務(wù)單據(jù)模型元
數(shù)據(jù)、服務(wù)元數(shù)據(jù)之間關(guān)系,根據(jù)頁面模板動(dòng)態(tài)生成單據(jù)表單頁面;所述單據(jù) 引擎返回生成的單據(jù)表單頁面,展示數(shù)據(jù),完成單據(jù)表單的初始化。 另外,在單據(jù)引擎服務(wù)元數(shù)據(jù)進(jìn)行處理時(shí),可以包括下列步驟 用戶發(fā)起HTTP服務(wù)請(qǐng)求;單據(jù)引擎攔截HTTP服務(wù)請(qǐng)求,分析所述請(qǐng) 求的類型;單據(jù)引擎處理器根據(jù)所述業(yè)務(wù)單據(jù)關(guān)聯(lián)模型解析服務(wù)元數(shù)據(jù),根據(jù) 服務(wù)元數(shù)據(jù)中定義的原子服務(wù)之間的關(guān)系生成原子服務(wù)之間的關(guān)系邏輯圖;單 據(jù)引擎根據(jù)所述原子服務(wù)之間的關(guān)系邏輯圖,組裝運(yùn)行邏輯,按照所述運(yùn)行邏 輯依次執(zhí)行,單據(jù)引擎執(zhí)行完服務(wù)邏輯后,將處理結(jié)果返回給請(qǐng)求用戶;如果 在原子服務(wù)處理中遇到不符合邏輯的請(qǐng)求,則所述單據(jù)引擎處理器終止當(dāng)前服 務(wù)請(qǐng)求,返回前端用戶,并給用戶相關(guān)提示。
本發(fā)明的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的裝置,可以包括設(shè)計(jì)單元、執(zhí)行單 元和業(yè)務(wù)單據(jù)關(guān)聯(lián)單元,其中,所述設(shè)計(jì)單元,用于通過頁面模板設(shè)計(jì)工具開
發(fā)繪制單據(jù)表單靜態(tài)超文本標(biāo)記語言HTML頁面模板界面、進(jìn)行業(yè)務(wù)單據(jù)模 型設(shè)計(jì)以及進(jìn)行服務(wù)模型設(shè)計(jì);所述執(zhí)行單元,用于抽取所述設(shè)計(jì)單元設(shè)計(jì)的 頁面模板界面中的頁面控件元素,存入數(shù)據(jù)庫(kù),并輸出單據(jù)的頁面元數(shù)據(jù);用 于在所述設(shè)計(jì)單元進(jìn)行服務(wù)模型設(shè)計(jì)后,開發(fā)原子服務(wù)并將所述原子服務(wù)組裝 生成服務(wù)元數(shù)據(jù);以及用于在進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì)后,抽取單據(jù),并生成業(yè) 務(wù)單據(jù)元數(shù)據(jù);所述業(yè)務(wù)單據(jù)關(guān)聯(lián)單元,用于根據(jù)不同的業(yè)務(wù)請(qǐng)求進(jìn)行業(yè)務(wù)單 據(jù)定制,將所述執(zhí)行單元中生成的頁面元數(shù)據(jù)、單據(jù)模型元數(shù)據(jù)、服務(wù)元數(shù)據(jù) 組裝成一個(gè)實(shí)現(xiàn)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型。
其中,在所述設(shè)計(jì)單元中,頁面模板設(shè)計(jì)工具可以為集成開發(fā)工具IDT, 并通過集成開發(fā)工具IDT進(jìn)行所述業(yè)務(wù)單據(jù)模型設(shè)計(jì)以及進(jìn)行服務(wù)模型設(shè)計(jì)。
進(jìn)一步地,可以包括在線定制單元,用于根據(jù)業(yè)務(wù)的變化改變業(yè)務(wù)單據(jù)的 頁面表單名稱與屬性、改變業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯。
本發(fā)明的有益效果是依照本發(fā)明的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法及 裝置,利用元數(shù)據(jù)技術(shù),通過頁面模板設(shè)計(jì)、業(yè)務(wù)單據(jù)模型設(shè)計(jì)、服務(wù)模型設(shè) 計(jì),將單據(jù)表單與單據(jù)業(yè)務(wù)邏輯進(jìn)行分離,能夠解決業(yè)界單據(jù)開發(fā)中常見的單 據(jù)邏輯固定、代碼重用率低、維護(hù)成本高的問題;通過采用面向服務(wù)架構(gòu)SOA 技術(shù),將單據(jù)業(yè)務(wù)邏輯進(jìn)行細(xì)粒度的服務(wù)化編寫和組裝,解決業(yè)務(wù)單據(jù)的業(yè)務(wù)
邏輯耦合性強(qiáng),不能動(dòng)態(tài)改變的技術(shù)難點(diǎn);通過采用Web在線動(dòng)態(tài)定制技術(shù), 對(duì)數(shù)據(jù)模型元數(shù)據(jù),頁面模板元數(shù)據(jù),服務(wù)元數(shù)據(jù)進(jìn)行動(dòng)態(tài)組裝,從而定制一 個(gè)包含了動(dòng)態(tài)業(yè)務(wù)邏輯的單據(jù),對(duì)頁面元素、數(shù)據(jù)字段等的改變不會(huì)導(dǎo)致重新 修改代碼,不會(huì)終止業(yè)務(wù)軟件系統(tǒng)的運(yùn)行,滿足了業(yè)務(wù)單據(jù)多變性的特性,從 而提高軟件開發(fā)效率,降低了軟件維護(hù)成本,達(dá)到軟件系統(tǒng)使用者和軟件系統(tǒng) 開發(fā)者雙贏的完美結(jié)合。


圖1為本發(fā)明系統(tǒng)結(jié)構(gòu)組成示意圖; 圖2為本發(fā)明的單據(jù)元數(shù)據(jù)關(guān)聯(lián)模型示意圖; 圖3為本發(fā)明單據(jù)引擎中頁面表單處理流程示意圖; 圖4為本發(fā)明單據(jù)引擎中服務(wù)邏輯處理流程示意圖。
具體實(shí)施例方式
以下,參考附圖1~4詳細(xì)描述本發(fā)明的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法 及裝置。
如圖l所示,為本發(fā)明的單據(jù)定制的結(jié)構(gòu)組成示意圖。
步驟101:通過頁面模板設(shè)計(jì)工具,例如集成開發(fā)工具(Integration Develop Tools, IDT),開發(fā)繪制單據(jù)表單靜態(tài)超文本標(biāo)記語言(Hypertext Markup Language, HTML)頁面模板界面,抽取頁面控件元素,存入數(shù)據(jù)庫(kù),并輸出 單據(jù)的頁面元數(shù)據(jù)。其中,頁面元數(shù)據(jù)是單據(jù)的展示部分,也是最容易被要求 進(jìn)行改變的地方。另外,需要說明的是,本發(fā)明中的元數(shù)據(jù)是指在程序中不 是被加工的對(duì)象,而是通過其值的改變來改變程序的行為的數(shù)據(jù)。
其中,集成開發(fā)工具IDT就是一個(gè)以Eclipse為基礎(chǔ)的代碼編輯工具以及 一些為提高開發(fā)效率而增加的一些插件工具。其中,Eclipse是一個(gè)開放源代 碼的、基于Java的可擴(kuò)展開發(fā)平臺(tái)。就其本身而言,它只是一個(gè)框架和一組 服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。另外,Eclipse附帶了一個(gè)標(biāo)準(zhǔn)的插 件集,包括Java開發(fā)工具(Java Development Tools, JDT )。
步驟102:使用集成開發(fā)工具IDT對(duì)業(yè)務(wù)單據(jù)模型進(jìn)行設(shè)計(jì),設(shè)計(jì)單據(jù)模 型關(guān)系圖,并抽取單據(jù),生成業(yè)務(wù)單據(jù)元數(shù)據(jù)。
其中,在步驟102中,業(yè)務(wù)單據(jù)模型反應(yīng)了業(yè)務(wù)單據(jù)元數(shù)據(jù)的結(jié)構(gòu)形式及
相互之間的關(guān)系,是業(yè)務(wù)單據(jù)的基礎(chǔ)。本發(fā)明設(shè)計(jì)了一個(gè)核心的業(yè)務(wù)單據(jù)數(shù)據(jù) 表結(jié)構(gòu),為了表現(xiàn)單據(jù)其他輔助信息的關(guān)系,同時(shí)建立一些輔助的外圍信息表
結(jié)構(gòu),它們之間通過主鍵(PK)和外鍵(FK)進(jìn)行關(guān)聯(lián),然后生成業(yè)務(wù)單據(jù) 元數(shù)據(jù)。
其中,主鍵唯一標(biāo)識(shí)表中的所有行的一個(gè)列或一組列,其中,主鍵不允許 空值,且由于不能存在具有相同的主鍵值的兩個(gè)行,因此主鍵值總是唯一標(biāo)識(shí) 單個(gè)行;外鍵是用于建立和加強(qiáng)兩個(gè)表數(shù)據(jù)之間的鏈接的一列或多列,通過將 保存表中主鍵值的一列或多列添加到另一個(gè)表中,可創(chuàng)建兩個(gè)表之間的鏈接。 例如設(shè)計(jì)核心業(yè)務(wù)單據(jù)數(shù)據(jù)表結(jié)構(gòu)A表,人員信息數(shù)據(jù)表B,部門信息數(shù) 據(jù)表C。 A表中有B表和C表的主鍵進(jìn)行關(guān)聯(lián)。A表作為主表基本保持不變, B、 C表作為從表可以根據(jù)現(xiàn)實(shí)需要進(jìn)行改變。
步驟103:進(jìn)行服務(wù)模型設(shè)計(jì),使用集成開發(fā)工具IDT開發(fā)簡(jiǎn)單屬性校驗(yàn), 復(fù)雜校驗(yàn)原子服務(wù),單據(jù)入庫(kù)、提交等原子服務(wù),并將這些原子服務(wù)組裝生成 服務(wù)元數(shù)據(jù)。
其中,原子服務(wù)是指不可再分解為更細(xì)粒度的服務(wù)。另外, 一個(gè)服務(wù)可能 由多個(gè)原子服務(wù)組成,例如,刪除服務(wù)可能有一個(gè)"是否可以刪除"的原子校 驗(yàn)服務(wù)和一個(gè)真實(shí)的刪除數(shù)據(jù)庫(kù)中記錄的刪除原子服務(wù)組成。
另外,步驟103需要業(yè)務(wù)單據(jù)引擎實(shí)現(xiàn)。根據(jù)基于面向服務(wù)架構(gòu) (Service-Oriented Architecture, SOA)中"服務(wù),,的概念,本發(fā)明將業(yè)務(wù)單據(jù) 的處理邏輯進(jìn)行細(xì)粒度的服務(wù)化編寫。服務(wù)之間的關(guān)系(服務(wù)元數(shù)據(jù))的定義 在服務(wù)模型設(shè)計(jì)時(shí)產(chǎn)生,并由單據(jù)引擎負(fù)責(zé)服務(wù)之間的協(xié)調(diào)與通訊,同時(shí)也可 以通過WEB部分功能在業(yè)務(wù)系統(tǒng)運(yùn)行時(shí)進(jìn)行在線調(diào)整與規(guī)范。
其中,如上所述的細(xì)粒度的服務(wù)化編寫是指那些能夠提供少量商業(yè)流程可 用性的服務(wù),例如基本的數(shù)據(jù)訪問服務(wù),區(qū)別于粗粒度服務(wù)的提供完整商業(yè)功 能級(jí)。
例如,開發(fā)一個(gè)報(bào)銷業(yè)務(wù)單據(jù)的保存功能的服務(wù)元數(shù)據(jù),其中可能包括唯 一性校驗(yàn)服務(wù)L、報(bào)銷金額范圍校驗(yàn)服務(wù)M以及寫數(shù)據(jù)庫(kù)服務(wù)N。例如,單 據(jù)中包含一個(gè)單據(jù)的"單據(jù)編號(hào)"屬性,該屬性在所有單據(jù)中是不能重復(fù)的, 那么需要在保存這張單據(jù)時(shí),必須預(yù)先判斷該"單據(jù)編號(hào)"是否已經(jīng)使用,則
提供一個(gè)單據(jù)編號(hào)唯一性校驗(yàn)服務(wù),定義它們依次運(yùn)行。
步驟104:進(jìn)行業(yè)務(wù)單據(jù)定制,將頁面元數(shù)據(jù)、單據(jù)模型元數(shù)據(jù)、服務(wù)元 數(shù)據(jù)組裝成一個(gè)實(shí)現(xiàn)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型。
具體地,通過步驟IOI中的頁面模板設(shè)計(jì)工具進(jìn)行繪制頁面模板界面,將 步驟102中設(shè)計(jì)的業(yè)務(wù)單據(jù)元數(shù)據(jù)結(jié)構(gòu)和步驟103中設(shè)計(jì)的單據(jù)模板結(jié)構(gòu)之間 建立起關(guān)聯(lián)關(guān)系。例如建立業(yè)務(wù)單據(jù)元數(shù)據(jù)的相關(guān)字段屬性與頁面模板中的 HTML控件關(guān)聯(lián)關(guān)系,建立單據(jù)引擎中的服務(wù)標(biāo)簽與服務(wù)元數(shù)據(jù)的關(guān)聯(lián)關(guān)系。
根據(jù)步驟ioi中的頁面模板設(shè)計(jì)生成頁面元數(shù)據(jù)、步驟102中的業(yè)務(wù)單據(jù) 模型設(shè)計(jì)生成的業(yè)務(wù)單據(jù)元數(shù)據(jù)、以及步驟103中的服務(wù)^^莫型設(shè)計(jì)生成的服務(wù) 元數(shù)據(jù),建立各個(gè)元數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,生成業(yè)務(wù)單據(jù)元數(shù)據(jù)關(guān)聯(lián)模型,如 圖2所示。
另夕卜,為了滿足業(yè)務(wù)單據(jù)多變的特性,本發(fā)明可以靈活定制單據(jù),具體地, 包括下列步驟
步驟105:軟件系統(tǒng)部署后,根據(jù)業(yè)務(wù)的變化,通過在線定制工具靈活改 變業(yè)務(wù)單據(jù)的頁面表單名稱與屬性,改變業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯。
其中,在步驟105中,可以通過服務(wù)后臺(tái)功能的熱部署機(jī)制,業(yè)務(wù)表單靜 態(tài)頁面WEB在線動(dòng)態(tài)修改,實(shí)時(shí)展現(xiàn)機(jī)制滿足這些需求。例如軟件系統(tǒng)部 署后,可以在線修改單據(jù)表單屬性筒單校驗(yàn)規(guī)則(例如,屬性是否必填、為空、 以及長(zhǎng)短等校驗(yàn)),單據(jù)表單的文字說明的動(dòng)態(tài)改變等;如上例所述的開發(fā)一 個(gè)報(bào)銷業(yè)務(wù)單據(jù)的保存功能的服務(wù)元數(shù)據(jù)中,需要對(duì)保存功能增加一個(gè)報(bào)銷人 員部門判斷邏輯服務(wù)D,可以將該服務(wù)功能進(jìn)行熱部署,然后通過業(yè)務(wù)單據(jù)引 擎WEB部分功能將該服務(wù)D注入該服務(wù)元數(shù)據(jù)中,從而動(dòng)態(tài)改變、定制了報(bào) 銷單據(jù)服務(wù)元數(shù)據(jù)的業(yè)務(wù)邏輯。
其中,熱部署機(jī)制是指,在正在運(yùn)行時(shí)的應(yīng)用程序升級(jí)時(shí),不需要重新啟 動(dòng)應(yīng)用。對(duì)于Javaweb應(yīng)用程序來說,熱部署就是在運(yùn)行時(shí)更新Java類文件, 而不啟動(dòng)類似于tomcat、 websphere、 weblogic等容器。
如圖3所示,為單據(jù)頁面初始化流程示意圖,包括下列步驟 步驟201:用戶發(fā)起頁面請(qǐng)求,通過HTTP請(qǐng)求傳入服務(wù)器端; 步驟202:單據(jù)引擎攔截HTTP請(qǐng)求,分析該請(qǐng)求的類型,傳遞給對(duì)應(yīng)的
單據(jù)引擎處理器進(jìn)行處理;
步驟203:單據(jù)引擎處理器根據(jù)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型解析頁面元數(shù)據(jù),業(yè)務(wù) 單據(jù)模型元數(shù)據(jù),服務(wù)元數(shù)據(jù)之間關(guān)系,根據(jù)頁面模板動(dòng)態(tài)生成單據(jù)表單頁面;
步驟204:單據(jù)引擎返回生成的單據(jù)表單頁面,展示數(shù)據(jù),完成單據(jù)表單 的初始化。
如圖4所示,為單據(jù)引擎服務(wù)元數(shù)據(jù)處理流程示意圖,包括下列步驟 步驟301:用戶發(fā)起HTTP服務(wù)請(qǐng)求。
其中,在步驟301中,HTTP服務(wù)請(qǐng)求可以包括保存單據(jù)請(qǐng)求,刪除單據(jù)
請(qǐng)求,查看單據(jù)請(qǐng)求等;
步驟302:單據(jù)引擎攔截HTTP服務(wù)請(qǐng)求,分析該請(qǐng)求的類型; 步驟303:單據(jù)引擎處理器根據(jù)步驟104中的業(yè)務(wù)單據(jù)關(guān)聯(lián)模型解析服務(wù)
元數(shù)據(jù),根據(jù)服務(wù)元數(shù)據(jù)中定義的原子服務(wù)之間的關(guān)系生成原子服務(wù)之間的關(guān)
系邏輯其中,在步驟303中,該關(guān)系邏輯圖應(yīng)該理解為虛擬的,就是各服務(wù)之間 的關(guān)系,例如,所有的原子服務(wù)信息記錄在服務(wù)容器中,如果定義一個(gè)保存功 能,需要哪些服務(wù),就從這里面去查找,規(guī)定它們的執(zhí)行順序。
步驟304:單據(jù)引擎根據(jù)步驟303生成的原子服務(wù)之間的關(guān)系邏輯圖,組 裝運(yùn)行邏輯,按照運(yùn)行邏輯依次執(zhí)行,在原子服務(wù)處理中如果遇到不符合邏輯 的請(qǐng)求,處理器終止請(qǐng)求,返回前端用戶,并給用戶相關(guān)提示;
步驟305:單據(jù)引擎執(zhí)行完服務(wù)邏輯,并將處理結(jié)果返回給請(qǐng)求用戶。
本發(fā)明的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的裝置,包括設(shè)計(jì)單元、執(zhí)行單元和 業(yè)務(wù)單據(jù)關(guān)聯(lián)單元。
其中,設(shè)計(jì)單元,用于通過頁面模板設(shè)計(jì)工具開發(fā)繪制單據(jù)表單靜態(tài)超文 本標(biāo)記語言HTML頁面模板界面、進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì)以及進(jìn)行服務(wù)模型 設(shè)計(jì)。
執(zhí)行單元,用于抽取設(shè)計(jì)單元設(shè)計(jì)的頁面模板界面中的頁面控件元素,存 入數(shù)據(jù)庫(kù),并輸出單據(jù)的頁面元數(shù)據(jù);用于在設(shè)計(jì)單元進(jìn)行服務(wù)模型設(shè)計(jì)后, 開發(fā)原子服務(wù)并將原子服務(wù)組裝生成服務(wù)元數(shù)據(jù);以及用于在進(jìn)行業(yè)務(wù)單據(jù)模 型設(shè)計(jì)后,抽取單據(jù),并生成業(yè)務(wù)單據(jù)元數(shù)據(jù)。
業(yè)務(wù)單據(jù)關(guān)聯(lián)單元,用于根據(jù)不同的業(yè)務(wù)請(qǐng)求進(jìn)行業(yè)務(wù)單據(jù)定制,將執(zhí)行 單元中生成的頁面元數(shù)據(jù)、單據(jù)模型元數(shù)據(jù)、服務(wù)元數(shù)據(jù)組裝成一個(gè)實(shí)現(xiàn)業(yè)務(wù) 單據(jù)關(guān)聯(lián)模型。
另夕卜,還可以進(jìn)一步包括在線定制單元,用于根據(jù)業(yè)務(wù)的變化改變業(yè)務(wù)單 據(jù)的頁面表單名稱與屬性、改變業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯。
綜上所述,依照本發(fā)明的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法及裝置,利用 元數(shù)據(jù)技術(shù),通過頁面模板設(shè)計(jì)、業(yè)務(wù)單據(jù)模型設(shè)計(jì)、服務(wù)模型設(shè)計(jì),將單據(jù) 表單與單據(jù)業(yè)務(wù)邏輯進(jìn)行分離,能夠解決業(yè)界單據(jù)開發(fā)中常見的單據(jù)邏輯固
定、代碼重用率低、維護(hù)成本高的問題;并采用SOA^R術(shù),將單據(jù)業(yè)務(wù)邏輯 進(jìn)行細(xì)粒度的服務(wù)化編寫和組裝,解決業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯耦合性強(qiáng),不能動(dòng) 態(tài)改變的技術(shù)難點(diǎn);釆用Web在線動(dòng)態(tài)定制技術(shù),對(duì)數(shù)據(jù)模型元數(shù)據(jù),頁面 模板元數(shù)據(jù),服務(wù)元數(shù)據(jù)進(jìn)行動(dòng)態(tài)組裝,從而定制一個(gè)包含了動(dòng)態(tài)業(yè)務(wù)邏輯的 單據(jù),對(duì)頁面元素、數(shù)據(jù)字段等的改變不會(huì)導(dǎo)致重新修改代碼,不會(huì)終止業(yè)務(wù) 軟件系統(tǒng)的運(yùn)行,滿足了業(yè)務(wù)單據(jù)多變性的特性,從而提高軟件開發(fā)效率,降 低了軟件維護(hù)成本,達(dá)到軟件系統(tǒng)使用者和軟件系統(tǒng)開發(fā)者雙贏的完美結(jié)合。 以上是為了使本領(lǐng)域普通技術(shù)人員理解本發(fā)明,而對(duì)本發(fā)明所進(jìn)行的詳細(xì) 描述,但可以想到,在不脫離本發(fā)明的權(quán)利要求所涵蓋的范圍內(nèi)還可以做出其 它的變化和修改,這些變化和修改均在本發(fā)明的保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于,包括下列步驟步驟A通過頁面模板設(shè)計(jì)工具開發(fā)繪制單據(jù)表單靜態(tài)超文本標(biāo)記語言HTML頁面模板界面,抽取所述頁面模板界面中的頁面控件元素,存入數(shù)據(jù)庫(kù),并輸出單據(jù)的頁面元數(shù)據(jù);步驟B進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì),并抽取單據(jù),生成業(yè)務(wù)單據(jù)元數(shù)據(jù);步驟C進(jìn)行服務(wù)模型設(shè)計(jì),開發(fā)原子服務(wù)并將所述原子服務(wù)組裝生成服務(wù)元數(shù)據(jù);步驟D根據(jù)不同的業(yè)務(wù)請(qǐng)求進(jìn)行業(yè)務(wù)單據(jù)定制,將頁面元數(shù)據(jù)、單據(jù)模型元數(shù)據(jù)、服務(wù)元數(shù)據(jù)組裝成一個(gè)實(shí)現(xiàn)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型。
2. 如權(quán)利要求1所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 在所述步驟C中,進(jìn)行服務(wù)模型設(shè)計(jì)時(shí),包括下列步驟將業(yè)務(wù)單據(jù)的處理 邏輯進(jìn)行細(xì)粒度的服務(wù)化編寫,服務(wù)之間的關(guān)系的定義在服務(wù)模型設(shè)計(jì)時(shí)產(chǎn) 生,并由單據(jù)引擎負(fù)責(zé)服務(wù)之間的協(xié)調(diào)與通訊,通過WEB在業(yè)務(wù)系統(tǒng)運(yùn)行時(shí) 進(jìn)行在線調(diào)整與規(guī)范。
3. 如權(quán)利要求1所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 在所述步驟C中,所述原子服務(wù)包括簡(jiǎn)單屬性校驗(yàn)、復(fù)雜校驗(yàn)、單據(jù)入庫(kù)、 提交。
4. 如權(quán)利要求1所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 在所述步驟D中,通過所述步驟A中的頁面模板設(shè)計(jì)工具進(jìn)行繪制頁面模板 界面,將所述步驟B中設(shè)計(jì)的業(yè)務(wù)單據(jù)元數(shù)據(jù)結(jié)構(gòu)和所述步驟C中設(shè)計(jì)的單 據(jù)模板結(jié)構(gòu)之間建立起關(guān)聯(lián)關(guān)系。
5. 如權(quán)利要求4所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 所述建立起關(guān)聯(lián)關(guān)系,包括下列步驟建立所述業(yè)務(wù)單據(jù)元數(shù)據(jù)的相關(guān)字段屬 性與所述HTML頁面模板中頁面控件元素的關(guān)聯(lián)關(guān)系,建立單據(jù)引擎中的服 務(wù)標(biāo)簽與服務(wù)元數(shù)據(jù)的關(guān)聯(lián)關(guān)系。
6. 如權(quán)利要求1至5中任一項(xiàng)所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法, 其特征在于,所述步驟A中的頁面模板設(shè)計(jì)工具為集成開發(fā)工具IDT,并通過所述集成開發(fā)工具IDT實(shí)現(xiàn)所述步驟B中所述業(yè)務(wù)單據(jù)^t型設(shè)計(jì)和所述步 驟C中所述服務(wù)模型設(shè)計(jì)。
7. 如權(quán)利要求6所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 在執(zhí)行步驟D之后,進(jìn)一步包括下列步驟根據(jù)業(yè)務(wù)的變化,通過在線定制 工具改變業(yè)務(wù)單據(jù)的頁面表單名稱與屬性、改變業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯。
8. 如權(quán)利要求7所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 在所述單據(jù)頁面進(jìn)行初始化時(shí),包括下列步驟用戶發(fā)起頁面請(qǐng)求,通過HTTP請(qǐng)求傳入服務(wù)器端; 單據(jù)引擎攔截HTTP請(qǐng)求,分析所述請(qǐng)求的類型,傳遞給對(duì)應(yīng)的單據(jù)引擎 處理器進(jìn)行處理;相應(yīng)的單據(jù)引擎處理器根據(jù)所述業(yè)務(wù)單據(jù)關(guān)聯(lián)模型解析頁面元數(shù)據(jù)、業(yè)務(wù)單據(jù)模型元數(shù)據(jù)、服務(wù)元數(shù)據(jù)之間關(guān)系,根據(jù)頁面模板動(dòng)態(tài)生成單據(jù)表單頁面; 所述單據(jù)引擎返回生成的單據(jù)表單頁面,展示數(shù)據(jù),完成單據(jù)表單的初始化。
9. 如權(quán)利要求7所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法,其特征在于, 在單據(jù)引擎服務(wù)元數(shù)據(jù)進(jìn)行處理時(shí),包括下列步驟用戶發(fā)起HTTP服務(wù)請(qǐng)求;單據(jù)引擎攔截HTTP服務(wù)請(qǐng)求,分析所述請(qǐng)求的類型; 單據(jù)引擎處理器根據(jù)所述業(yè)務(wù)單據(jù)關(guān)聯(lián)模型解析服務(wù)元數(shù)據(jù),根據(jù)服務(wù)元 數(shù)據(jù)中定義的原子服務(wù)之間的關(guān)系生成原子服務(wù)之間的關(guān)系邏輯圖;單據(jù)引擎根據(jù)所述原子服務(wù)之間的關(guān)系邏輯圖,組裝運(yùn)行邏輯,按照所述 運(yùn)行邏輯依次執(zhí)行,單據(jù)引擎執(zhí)行完服務(wù)邏輯后,將處理結(jié)果返回給請(qǐng)求用戶; 如果在原子服務(wù)處理中遇到不符合邏輯的請(qǐng)求,則所述單據(jù)引擎處理器終止當(dāng)前服務(wù)請(qǐng)求,返回前端用戶,并給用戶相關(guān)提示。
10. —種基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的裝置,其特征在于,包括設(shè)計(jì)單元、 執(zhí)行單元和業(yè)務(wù)單據(jù)關(guān)聯(lián)單元,其中,所述設(shè)計(jì)單元,用于通過頁面模板設(shè)計(jì)工具開發(fā)繪制單據(jù)表單靜態(tài)超文本 標(biāo)記語言HTML頁面模板界面、進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì)以及進(jìn)行服務(wù)模型設(shè) 計(jì);所述執(zhí)行單元,用于抽取所述設(shè)計(jì)單元設(shè)計(jì)的頁面模板界面中的頁面控件元素,存入數(shù)據(jù)庫(kù),并輸出單據(jù)的頁面元數(shù)據(jù);用于在所述設(shè)計(jì)單元進(jìn)行服務(wù) 模型設(shè)計(jì)后,開發(fā)原子服務(wù)并將所述原子服務(wù)組裝生成服務(wù)元數(shù)據(jù);以及用于 在進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì)后,抽取單據(jù),并生成業(yè)務(wù)單據(jù)元數(shù)據(jù);所述業(yè)務(wù)單據(jù)關(guān)聯(lián)單元,用于根據(jù)不同的業(yè)務(wù)請(qǐng)求進(jìn)行業(yè)務(wù)單據(jù)定制,將 所述執(zhí)行單元中生成的頁面元數(shù)據(jù)、單據(jù)模型元數(shù)據(jù)、服務(wù)元數(shù)據(jù)組裝成一個(gè) 實(shí)現(xiàn)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型。
11. 如權(quán)利要求10所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的裝置,其特征在 于,在所述設(shè)計(jì)單元中,頁面模板設(shè)計(jì)工具為集成開發(fā)工具IDT,并通過集成 開發(fā)工具IDT進(jìn)行所述業(yè)務(wù)單據(jù)模型設(shè)計(jì)以及進(jìn)行服務(wù)模型設(shè)計(jì)。
12. 如權(quán)利要求10所述的基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的裝置,其特征在 于,進(jìn)一步包括在線定制單元,用于根據(jù)業(yè)務(wù)的變化改變業(yè)務(wù)單據(jù)的頁面表單 名稱與屬性、改變業(yè)務(wù)單據(jù)的業(yè)務(wù)邏輯。
全文摘要
本發(fā)明提供一種基于元數(shù)據(jù)的定制業(yè)務(wù)單據(jù)的方法及裝置,其中,該方法包括下列步驟步驟A通過頁面模板設(shè)計(jì)工具開發(fā)繪制單據(jù)表單靜態(tài)超文本標(biāo)記語言HTML頁面模板界面,抽取所述頁面模板界面中的頁面控件元素,存入數(shù)據(jù)庫(kù),并輸出單據(jù)的頁面元數(shù)據(jù);步驟B進(jìn)行業(yè)務(wù)單據(jù)模型設(shè)計(jì),并抽取單據(jù),生成業(yè)務(wù)單據(jù)元數(shù)據(jù);步驟C進(jìn)行服務(wù)模型設(shè)計(jì),開發(fā)原子服務(wù)并將所述原子服務(wù)組裝生成服務(wù)元數(shù)據(jù);步驟D根據(jù)不同的業(yè)務(wù)請(qǐng)求進(jìn)行業(yè)務(wù)單據(jù)定制,將頁面元數(shù)據(jù)、單據(jù)模型元數(shù)據(jù)、服務(wù)元數(shù)據(jù)組裝成一個(gè)實(shí)現(xiàn)業(yè)務(wù)單據(jù)關(guān)聯(lián)模型。本發(fā)明能夠滿足業(yè)務(wù)單據(jù)多變性的特性,提高軟件開發(fā)效率,降低軟件維護(hù)成本。
文檔編號(hào)G06F9/44GK101359290SQ20081021194
公開日2009年2月4日 申請(qǐng)日期2008年9月11日 優(yōu)先權(quán)日2008年9月11日
發(fā)明者袁仁智, 陳心哲 申請(qǐng)人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1