專利名稱:一種實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別是指一種實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)及方法。
背景技術(shù):
在多層結(jié)構(gòu)的環(huán)球網(wǎng)(Web)應(yīng)用中,Web開(kāi)發(fā)所使用的超文本傳輸協(xié)議 (Hypertext Transfer Protocol, Http )具有無(wú)狀態(tài)特性及頁(yè)面更新需要重新刷新 整個(gè)頁(yè)面的局限性,對(duì)頁(yè)面對(duì)象的存儲(chǔ)方式非常簡(jiǎn)單, 一般采用隱藏域等方式 對(duì)業(yè)務(wù)流程中的相關(guān)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ),或采用會(huì)話方式將業(yè)務(wù)流程中的相關(guān) 業(yè)務(wù)數(shù)據(jù)存儲(chǔ)于服務(wù)器端。Http的無(wú)狀態(tài)特性是指每個(gè)Http請(qǐng)求之間的處理都 是相對(duì)獨(dú)立的,即處理當(dāng)前Http請(qǐng)求時(shí),并不清楚之前處理各Http請(qǐng)求時(shí)都 進(jìn)行了什么操作。隱藏域方式存儲(chǔ)是指對(duì)于那些不需要在頁(yè)面上體現(xiàn)出來(lái)的業(yè) 務(wù)數(shù)據(jù)采用隱藏的方式存儲(chǔ)在頁(yè)面中。進(jìn)行頁(yè)面流轉(zhuǎn)時(shí),即由當(dāng)前頁(yè)面流轉(zhuǎn)至 下一頁(yè)面時(shí),當(dāng)前頁(yè)面將存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)傳遞至下一頁(yè)面,下一頁(yè)面以隱藏域 方式存儲(chǔ)相關(guān)業(yè)務(wù)數(shù)據(jù),以供后續(xù)處理中使用。
圖1為現(xiàn)有技術(shù)中頁(yè)面調(diào)用實(shí)現(xiàn)方式一示意圖,如圖1所示,控制器1收 到Http請(qǐng)求后,才艮據(jù)Http請(qǐng)求中攜帶的業(yè)務(wù)流程標(biāo)識(shí)確定處理類單元1,處理 類單元1根據(jù)業(yè)務(wù)流程標(biāo)識(shí)調(diào)用頁(yè)面單元l,用戶對(duì)頁(yè)面單元1進(jìn)行操作完畢, 需要轉(zhuǎn)入下一頁(yè)面時(shí),頁(yè)面單元1根據(jù)配置的目的頁(yè)面通知控制器2調(diào)用相應(yīng) 頁(yè)面單元;控制器2才艮據(jù)業(yè)務(wù)流程標(biāo)識(shí)確定處理類單元2,處理類單元2根據(jù) 業(yè)務(wù)流程標(biāo)識(shí)調(diào)用頁(yè)面單元2,從而實(shí)現(xiàn)由頁(yè)面1至頁(yè)面2的流轉(zhuǎn)。
釆用隱藏域方式存儲(chǔ)業(yè)務(wù)流程的相關(guān)業(yè)務(wù)數(shù)據(jù)時(shí),頁(yè)面單元1在通知控制 器2調(diào)用相應(yīng)頁(yè)面單元時(shí),還需將頁(yè)面單元1以隱藏方式存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)傳遞 至控制器2,然后由控制器2將這些業(yè)務(wù)數(shù)據(jù)提供給頁(yè)面單元2,頁(yè)面單元2
仍然以隱藏方式存儲(chǔ)這些業(yè)務(wù)數(shù)據(jù),最終使頁(yè)面單元2能夠獲得業(yè)務(wù)流程中的 相關(guān)業(yè)務(wù)數(shù)據(jù)。
現(xiàn)有的頁(yè)面調(diào)用實(shí)現(xiàn)方式一中,需要在頁(yè)面單元中配置目的頁(yè)面羊元、即 需要調(diào)用的頁(yè)面單元,也就是說(shuō),由一個(gè)頁(yè)面至另一頁(yè)面的流轉(zhuǎn)是預(yù)先配置的, 這樣,由于頁(yè)面單元的調(diào)用關(guān)系是固定的,業(yè)務(wù)流程無(wú)法進(jìn)行動(dòng)態(tài)配置和涉及 環(huán)節(jié)的動(dòng)態(tài)變更,如果業(yè)務(wù)流程需要更改或擴(kuò)充所涉及的環(huán)節(jié),則必須進(jìn)行大 量的修改工作,使得系統(tǒng)框架過(guò)于厚重,實(shí)現(xiàn)極不靈活,不利于業(yè)務(wù)流程的擴(kuò) 展。
圖2為現(xiàn)有技術(shù)中頁(yè)面調(diào)用實(shí)現(xiàn)方式二示意圖,如圖2所示,頁(yè)面流控制 器收到Http請(qǐng)求后,根據(jù)Http請(qǐng)求中攜帶的業(yè)務(wù)流程標(biāo)識(shí)確定頁(yè)面流單元1, 頁(yè)面流單元1根據(jù)業(yè)務(wù)流程標(biāo)識(shí)調(diào)用頁(yè)面單元1,用戶對(duì)頁(yè)面單元1進(jìn)行操作 完畢,需要轉(zhuǎn)入下一頁(yè)面時(shí),頁(yè)面單元1通過(guò)頁(yè)面流單元1獲取配置的目標(biāo)頁(yè) 面,然后根據(jù)目標(biāo)頁(yè)面通知頁(yè)面流控制器調(diào)用相應(yīng)頁(yè)面單元,頁(yè)面流控制器根 據(jù)業(yè)務(wù)流程標(biāo)識(shí)確定頁(yè)面流單元2,頁(yè)面流單元2根據(jù)業(yè)務(wù)流程標(biāo)識(shí)調(diào)用頁(yè)面 單元2,從而實(shí)現(xiàn)由頁(yè)面1至頁(yè)面2的流轉(zhuǎn)。
如果采用隱藏域方式存儲(chǔ)業(yè)務(wù)流程的相關(guān)業(yè)務(wù)數(shù)據(jù),則頁(yè)面單元1在通知 頁(yè)面流控制器調(diào)用相應(yīng)頁(yè)面單元時(shí),還需將頁(yè)面單元1的業(yè)務(wù)數(shù)據(jù)傳遞至頁(yè)面 流控制器,以最終使頁(yè)面單元2能夠獲得業(yè)務(wù)流程中的相關(guān)業(yè)務(wù)數(shù)據(jù)。
現(xiàn)有的頁(yè)面調(diào)用實(shí)現(xiàn)方式二中,需要在頁(yè)面流單元中配置目的頁(yè)面單元、 即需要調(diào)用的頁(yè)面單元,也就是說(shuō),由一個(gè)頁(yè)面至另一頁(yè)面的流轉(zhuǎn)也是預(yù)先配 置的,這樣,與實(shí)現(xiàn)方式一相同,業(yè)務(wù)流程同樣無(wú)法進(jìn)行動(dòng)態(tài)配置和涉及環(huán)節(jié) 的動(dòng)態(tài)變更,如果業(yè)務(wù)流程需要更改或擴(kuò)充所涉及的環(huán)節(jié),則仍然需要進(jìn)行大 量的修改工作,使得系統(tǒng)框架過(guò)于厚重,實(shí)現(xiàn)極不靈活,不利于業(yè)務(wù)流程的擴(kuò) 展。另外,由于該系統(tǒng)需要遵從的規(guī)定過(guò)多,大大限制業(yè)務(wù)流程的處理順序, 因此,使用實(shí)現(xiàn)方式二對(duì)現(xiàn)有系統(tǒng)進(jìn)行遷移時(shí),將付出很大的代價(jià),如重新改 變系統(tǒng)結(jié)構(gòu),更改業(yè)務(wù)流程的控制點(diǎn)。
綜上所述,無(wú)論是實(shí)現(xiàn)方式一還是實(shí)現(xiàn)方式二,業(yè)務(wù)流程中頁(yè)面單元的調(diào) 用關(guān)系是預(yù)先配置好的,這樣,頁(yè)面的流轉(zhuǎn)方向就是設(shè)定的了,無(wú)法進(jìn)行動(dòng)態(tài) 配置,當(dāng)業(yè)務(wù)流程需要變更時(shí),即頁(yè)面的調(diào)用關(guān)系發(fā)生變化時(shí),需要重新進(jìn)行 配置,導(dǎo)致進(jìn)行更改的工作量非常大,使得架構(gòu)厚重,不利于業(yè)務(wù)流程的擴(kuò)展 和靈活配置。
另外,無(wú)論是實(shí)現(xiàn)方式一還是實(shí)現(xiàn)方式二,除了可采用隱藏域方式存儲(chǔ)業(yè) 務(wù)流程的相關(guān)業(yè)務(wù)數(shù)據(jù),還可采用會(huì)話方式存儲(chǔ)業(yè)務(wù)流程的相關(guān)業(yè)務(wù)數(shù)據(jù)。采 用隱藏域方式存儲(chǔ)業(yè)務(wù)流程的相關(guān)業(yè)務(wù)數(shù)據(jù)時(shí),跨頁(yè)面的復(fù)雜業(yè)務(wù)數(shù)據(jù)傳遞會(huì) 比較困難。采用會(huì)話方式存儲(chǔ)業(yè)務(wù)流程的相關(guān)業(yè)務(wù)數(shù)據(jù)時(shí),將對(duì)應(yīng)于同一會(huì)話 的相關(guān)業(yè)務(wù)數(shù)據(jù)都存儲(chǔ)在服務(wù)器上,處理過(guò)程中,由服務(wù)器向頁(yè)面單元提供這 些相關(guān)業(yè)務(wù)數(shù)據(jù),這樣,如果客戶端的數(shù)量較多,會(huì)使服務(wù)器端存儲(chǔ)的數(shù)據(jù)量 過(guò)大,導(dǎo)致存儲(chǔ)資源緊張。
發(fā)明內(nèi)容
本發(fā)明提供一種實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)及方法,使得業(yè)務(wù)流程中頁(yè)面調(diào)用的
實(shí)現(xiàn)靈活可擴(kuò)展;進(jìn)一步地,根據(jù)本發(fā)明提出的一種實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)及方
法,以解決現(xiàn)有業(yè)務(wù)流程中業(yè)務(wù)數(shù)據(jù)存儲(chǔ)和傳遞的問(wèn)題。
本發(fā)明提供的實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)包括組件配置器、組件調(diào)度器和頁(yè)面 組件單元,其中,所述組件配置器用于存儲(chǔ)組件配置規(guī)則及組件全量信息,并 提供組件配置規(guī)則及頁(yè)面組件單元信息;所述組件調(diào)度器用于接收攜帶有業(yè)務(wù) 流程標(biāo)識(shí)的用戶請(qǐng)求,獲取對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置規(guī)則,獲取相關(guān)頁(yè) 面組件單元信息,并根據(jù)組件配置規(guī)則確定業(yè)務(wù)流程中當(dāng)前需要調(diào)用的頁(yè)面組 件單元,根據(jù)該頁(yè)面組件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元;所 述頁(yè)面組件單元用于#4居調(diào)用,啟動(dòng)并向用戶推送頁(yè)面,#4居用戶輸入進(jìn)行操 作。
本發(fā)明提供的實(shí)現(xiàn)頁(yè)面調(diào)用的方法包括接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶
請(qǐng)求,獲取對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置MJ'J,并獲耳又相關(guān)頁(yè)面組件單元信 息;根據(jù)所述組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面組 件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元;頁(yè)面組件單元啟動(dòng)并向用 戶推送頁(yè)面,根據(jù)用戶輸入進(jìn)行操作。
本發(fā)明中,組件調(diào)度器接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶請(qǐng)求,獲取組件配 置器存儲(chǔ)的對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置規(guī)則,并獲取頁(yè)面組件單元信息; 組件調(diào)度器根據(jù)組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面 組件單元的信息調(diào)用相應(yīng)頁(yè)面組件單元,使得業(yè)務(wù)流程中的頁(yè)面調(diào)用由組件調(diào) 度器根據(jù)組件配置規(guī)則來(lái)進(jìn)行控制,當(dāng)業(yè)務(wù)流程中涉及的頁(yè)面或頁(yè)面的執(zhí)行順 序需要變化或動(dòng)態(tài)配置時(shí),只需對(duì)組件配置規(guī)則進(jìn)行更改即可,無(wú)需對(duì)整個(gè)系 統(tǒng)進(jìn)行更改,使得本發(fā)明提供的系統(tǒng)是具有輕量級(jí)框架的系統(tǒng),大大提高了業(yè) 務(wù)流程實(shí)現(xiàn)的靈活性,非常有利于業(yè)務(wù)流程的擴(kuò)展。
另外,本發(fā)明中可通過(guò)數(shù)據(jù)總線單元實(shí)現(xiàn)業(yè)務(wù)數(shù)據(jù)的存儲(chǔ)和傳遞,避免采 用隱藏域方式存儲(chǔ)業(yè)務(wù)數(shù)據(jù)時(shí)的跨頁(yè)面的復(fù)雜數(shù)據(jù)的傳遞,并避免采用會(huì)話方 式存儲(chǔ)業(yè)務(wù)數(shù)據(jù)時(shí)的存儲(chǔ)資源緊張。
此外,本發(fā)明還可在組件調(diào)度器與頁(yè)面組件單元之間設(shè)置用于預(yù)處理的攔 截器,攔截器中封裝業(yè)務(wù)流程中抽取的公共邏輯,以使頁(yè)面組件單元中可僅封 裝針對(duì)于業(yè)務(wù)流程的業(yè)務(wù)邏輯,使得業(yè)務(wù)流程的實(shí)現(xiàn)更為清晰。
圖1為現(xiàn)有技術(shù)中頁(yè)面調(diào)用實(shí)現(xiàn)方式一示意圖2為現(xiàn)有技術(shù)中頁(yè)面調(diào)用實(shí)現(xiàn)方式二示意圖3 A為本發(fā)明實(shí)施例 一 中實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)的結(jié)構(gòu)示意圖3B為本發(fā)明實(shí)施例二中實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)的結(jié)構(gòu)示意圖3C為本發(fā)明實(shí)施例三中實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)的結(jié)構(gòu)示意圖3D為本發(fā)明實(shí)施例四中實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)的結(jié)構(gòu)示意圖4為本發(fā)明實(shí)施例中頁(yè)面組件單元結(jié)構(gòu)示意圖; 圖5為本發(fā)明實(shí)施例一中實(shí)現(xiàn)頁(yè)面調(diào)用的流程圖; 圖6為本發(fā)明實(shí)施例二中實(shí)現(xiàn)頁(yè)面調(diào)用的流程圖。
具體實(shí)施例方式
由于業(yè)務(wù)的實(shí)現(xiàn)是基于流程的,用戶按照業(yè)務(wù)流程對(duì)涉及的頁(yè)面進(jìn)行搡 作,因此,對(duì)頁(yè)面的調(diào)用實(shí)際為對(duì)相應(yīng)節(jié)點(diǎn)的調(diào)用;進(jìn)一步地, 一個(gè)完整的業(yè) 務(wù)流程可由多個(gè)節(jié)點(diǎn)組成,由當(dāng)前頁(yè)面進(jìn)入下一頁(yè)面時(shí)、即頁(yè)面的流轉(zhuǎn)最終表 現(xiàn)為業(yè)務(wù)流程中涉及的節(jié)點(diǎn)之間的轉(zhuǎn)換。
圖3A為本發(fā)明實(shí)施例一中實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)的結(jié)構(gòu)示意圖,如圖3A 所示,該系統(tǒng)包括組件配置器、組件調(diào)度器和多個(gè)頁(yè)面組件單元。
其中,組件配置器用于存儲(chǔ)組件配置規(guī)則及組件全量信息,并提供組件配 置規(guī)則及頁(yè)面組件單元信息。組件配置規(guī)則是組成業(yè)務(wù)流程的各頁(yè)面組件單元 的執(zhí)行順序,組件配置規(guī)則與業(yè)務(wù)流程相對(duì)應(yīng),不同的業(yè)務(wù)流程可配置相同的 組件配置規(guī)則,也可配置不同的組件配置規(guī)則。組件配置規(guī)則可為預(yù)先配置的 各頁(yè)面組件單元的固定執(zhí)行順序,也可為用戶設(shè)置的調(diào)度算法,根據(jù)用戶的具 體操作及該調(diào)度算法,確定各頁(yè)面組件單元的執(zhí)行順序。組件配置器可采用數(shù) 據(jù)庫(kù)或可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language, XML )對(duì)組件配置規(guī)則 進(jìn)行存儲(chǔ)。組件全量信息為系統(tǒng)中配置的所有頁(yè)面組件單元的相關(guān)信息的集 合,如各頁(yè)面組件單元的名稱、類型、相應(yīng)頁(yè)面組件單元的進(jìn)入方式等等。頁(yè) 面組件單元名稱用于唯一標(biāo)識(shí)系統(tǒng)中配置的各頁(yè)面組件單元,頁(yè)面組件單元類 型可為Web等類型,頁(yè)面組件單元的進(jìn)入方式為頁(yè)面連接方式。
組件調(diào)度器是實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)的核心,用于接收攜帶有業(yè)務(wù)流程標(biāo)識(shí) 的用戶請(qǐng)求,如Http請(qǐng)求,獲取組件配置器存儲(chǔ)的對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件 配置規(guī)則,并獲取組件配置器存儲(chǔ)的頁(yè)面組件單元信息,然后根據(jù)組件配置規(guī) 則確定業(yè)務(wù)流程中當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面組件單元的信息調(diào)用相應(yīng)頁(yè)面組件單元。組件調(diào)度器獲取組件配置器存儲(chǔ)的相關(guān)頁(yè)面組件單元 信息有兩種方法,第一,組件調(diào)度器根據(jù)獲取的組件配置規(guī)則,確定業(yè)務(wù)流程 中所涉及的各頁(yè)面組件單元,然后在組件配置器存儲(chǔ)的組件全量信息中獲取業(yè) 務(wù)流程中涉及的相關(guān)頁(yè)面組件單元的信息,這種方法比較適用于業(yè)務(wù)流程中涉
及的各頁(yè)面組件單元的執(zhí)行順序固定的情況;第二,組件調(diào)度器直接獲取組件 配置器存儲(chǔ)的組件全量信息,后續(xù)過(guò)程中,組件調(diào)度器根據(jù)組件配置規(guī)則確定 當(dāng)前需要調(diào)用的頁(yè)面組件單元后,在獲取的組件全量信息中獲取相應(yīng)頁(yè)面組件 單元的信息,然后再根據(jù)相應(yīng)頁(yè)面組件單元信息調(diào)用相應(yīng)頁(yè)面組件單元,這種 方法既適用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序固定的情況,也適 用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序動(dòng)態(tài)可變的情況。當(dāng)系統(tǒng)中 配置的頁(yè)面組件單元數(shù)量動(dòng)態(tài)可變時(shí),組件配置器中存儲(chǔ)的組件全量信息為當(dāng) 前系統(tǒng)中配置的所有頁(yè)面組件單元的相關(guān)信息,這樣,組件調(diào)度器確定需要調(diào) 用下 一 頁(yè)面組件單元時(shí),可進(jìn)一 步用于獲取組件配置器當(dāng)前存儲(chǔ)的組件全量信 息,在獲取的組件全量信息中獲取相應(yīng)頁(yè)面組件單元的信息,然后再根據(jù)相應(yīng) 頁(yè)面組件單元信息調(diào)用相應(yīng)頁(yè)面組件單元。
頁(yè)面組件單元用于根據(jù)組件調(diào)度器的調(diào)用,啟動(dòng)并向用戶推送頁(yè)面,根據(jù) 用戶輸入進(jìn)行操作。頁(yè)面組件單元是業(yè)務(wù)流程中最小的執(zhí)行單位,定義了業(yè)務(wù) 流程中最小的功能集合,標(biāo)識(shí)了業(yè)務(wù)的元數(shù)據(jù)和規(guī)則。通過(guò)對(duì)元數(shù)據(jù)和規(guī)則的 封裝, 一個(gè)完整的業(yè)務(wù)流程可視作多個(gè)頁(yè)面組件單元之間的交互,即一個(gè)業(yè)務(wù) 流程由多個(gè)頁(yè)面組件單元組成。頁(yè)面組件單元進(jìn)行的操作可為根據(jù)用戶的輸入 進(jìn)行相應(yīng)操作,也可為根據(jù)業(yè)務(wù)流程的需要進(jìn)行一些固定操作。頁(yè)面組件單元 之間不存在調(diào)用關(guān)系,由一個(gè)頁(yè)面組件單元至另 一個(gè)頁(yè)面組件單元的轉(zhuǎn)換是由 組件調(diào)度器根據(jù)組件配置規(guī)則來(lái)完成的。
組件調(diào)度器能夠根據(jù)當(dāng)前頁(yè)面組件單元的指針確定是否需要進(jìn)入下一頁(yè) 面組件單元,因此,頁(yè)面組件單元進(jìn)一步用于向組件調(diào)度器提供指針信息;組 件調(diào)度器進(jìn)一步用于根據(jù)收到的指針信息確定需要進(jìn)入下一頁(yè)面組件單元時(shí),
根據(jù)組件配置規(guī)則確定需要調(diào)用的頁(yè)面組件單元,然后根據(jù)該頁(yè)面組件單元的 信息調(diào)用相應(yīng)頁(yè)面組件單元,以實(shí)現(xiàn)由一個(gè)頁(yè)面至另一頁(yè)面的流轉(zhuǎn)。
基于圖3A,組件調(diào)度器與一個(gè)頁(yè)面組件單元之間可進(jìn)一步包括攔截器。 如圖3B所示,其中,調(diào)用頁(yè)面組件單元之前,組件調(diào)度器根據(jù)組件配置規(guī)則 確定需要調(diào)用攔截器,調(diào)用相應(yīng)攔截器;攔截器用于根據(jù)組件調(diào)度器的調(diào)用, 啟動(dòng)并進(jìn)行預(yù)處理,在預(yù)處理完畢時(shí)調(diào)用相應(yīng)頁(yè)面組件單元。根據(jù)配置,攔截 器與頁(yè)面組件單元之間具有一定的對(duì)應(yīng)關(guān)系。如果攔截器與頁(yè)面組件單元是一 對(duì)一或多對(duì)一的對(duì)應(yīng)關(guān)系,則組件調(diào)度器確定需要調(diào)用攔截器后,無(wú)需向該攔 截器提供頁(yè)面組件單元信息,調(diào)用相應(yīng)攔截器即可,該攔截器預(yù)處理完畢后, 必然調(diào)用與其相對(duì)應(yīng)的頁(yè)面組件單元,從而實(shí)現(xiàn)組件調(diào)度器根據(jù)組件配置規(guī)則 調(diào)用相應(yīng)頁(yè)面組件單元;如果攔截器與頁(yè)面組件單元是一對(duì)多的對(duì)應(yīng)關(guān)系,則 組件調(diào)度器確定需要調(diào)用欄截器后,向該攔截器提供頁(yè)面組件單元信息,然后 調(diào)用相應(yīng)攔截器,該攔截器預(yù)處理完畢后,攔截器才艮據(jù)頁(yè)面組件單元信息調(diào)用 相應(yīng)頁(yè)面組件單元。通過(guò)攔截器封裝在業(yè)務(wù)流程中抽取的公共邏輯,如一些校 驗(yàn)、狀態(tài)查詢等公共的預(yù)處理操作,以使頁(yè)面組件單元中可僅封裝針對(duì)于業(yè)務(wù) 流程的業(yè)務(wù)邏輯,使得業(yè)務(wù)流程的實(shí)現(xiàn)更為清晰。攔截器可包括多個(gè)子攔截器, 各子攔截器按照設(shè)定順序依次啟動(dòng)并執(zhí)行操作,即上一攔截器執(zhí)行完操作后, 根據(jù)設(shè)定順序調(diào)用下一攔截器,該攔截器根據(jù)調(diào)用,啟動(dòng)并進(jìn)行預(yù)處理,最后 啟動(dòng)的子攔截器在預(yù)處理完畢時(shí)調(diào)用相應(yīng)頁(yè)面組件單元。
系統(tǒng)中配置多個(gè)頁(yè)面組件單元時(shí),組件調(diào)度器并非與每個(gè)頁(yè)面組件單元之 間都必須包括攔截器,而是要根據(jù)組件配置規(guī)則確定在組件調(diào)度器與各頁(yè)面組 件單元之間是否需要攔截器。當(dāng)系統(tǒng)中包括多個(gè)攔截器時(shí),這些攔截器可全部 相同,也可全部不相同,也可只是其中一部分?jǐn)r截器相同。
基于圖3A,實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)中進(jìn)一步包括數(shù)據(jù)總線單元。如圖3C所 示,頁(yè)面組件單元進(jìn)一步用于向數(shù)據(jù)總線單元提供業(yè)務(wù)數(shù)據(jù);數(shù)據(jù)總線單元用 于存儲(chǔ)收到的業(yè)務(wù)數(shù)據(jù),并向頁(yè)面組件單元提供業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)總線單元是頁(yè)
面組件單元進(jìn)行業(yè)務(wù)流程中業(yè)務(wù)數(shù)據(jù)交互的載體,業(yè)務(wù)流程中涉及的頁(yè)面組件 單元依靠數(shù)據(jù)總線單元共享業(yè)務(wù)數(shù)據(jù)。本發(fā)明的實(shí)施例通過(guò)采用數(shù)據(jù)總線單 元,來(lái)避免采用隱藏域方式或會(huì)話方式存儲(chǔ)和傳遞業(yè)務(wù)數(shù)據(jù)時(shí)所存在的問(wèn)題。 數(shù)據(jù)總線單元通過(guò)將業(yè)務(wù)數(shù)據(jù)對(duì)象編碼的序列化算法,對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ)。 數(shù)據(jù)總線單元存儲(chǔ)收到的業(yè)務(wù)數(shù)據(jù)時(shí),將來(lái)自頁(yè)面組件單元的業(yè)務(wù)數(shù)據(jù)對(duì)象按 照設(shè)定格式進(jìn)行編碼得到數(shù)據(jù)編碼,然后將數(shù)據(jù)編碼序列化為字節(jié)碼,并以字
節(jié)碼的方式寫入頁(yè)面。序列化為字節(jié)碼的具體處理可為將數(shù)據(jù)編碼轉(zhuǎn)換成序 列化流,然后將該序列化流轉(zhuǎn)換成字節(jié)數(shù)組,最后通過(guò)將該字節(jié)數(shù)組進(jìn)行16 進(jìn)制的方式將字節(jié)數(shù)組轉(zhuǎn)換成字節(jié)碼。數(shù)據(jù)總線單元向頁(yè)面組件單元提供業(yè)務(wù) 數(shù)據(jù)時(shí),從頁(yè)面讀取字節(jié)碼,并將字節(jié)碼反序列化得到數(shù)據(jù)編碼,然后通過(guò)對(duì) 數(shù)據(jù)編碼的反向編碼方式得到業(yè)務(wù)數(shù)據(jù)對(duì)象。由于業(yè)務(wù)流程中涉及的頁(yè)面組件 單元均會(huì)將業(yè)務(wù)數(shù)據(jù)提供給數(shù)據(jù)總線單元存儲(chǔ),因此數(shù)據(jù)總線單元存儲(chǔ)的業(yè)務(wù) 數(shù)據(jù)必須通過(guò)唯一名稱進(jìn)行標(biāo)識(shí),以避免業(yè)務(wù)數(shù)據(jù)的混淆。業(yè)務(wù)數(shù)據(jù)的名稱可 由頁(yè)面組件單元來(lái)生成,這樣,數(shù)據(jù)總線單元存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的過(guò)程,存在當(dāng)前 待存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)與已經(jīng)存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)的名稱相同的可能性。如果當(dāng)前待存 儲(chǔ)的業(yè)務(wù)數(shù)據(jù)與已經(jīng)存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)的名稱相同,為避免業(yè)務(wù)數(shù)據(jù)被無(wú)意覆 蓋,數(shù)據(jù)總線單元收到與已存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)名稱相同的業(yè)務(wù)數(shù)據(jù)時(shí),可進(jìn)一步 用于通知當(dāng)前需要存儲(chǔ)業(yè)務(wù)數(shù)據(jù)的頁(yè)面組件單元、即發(fā)送業(yè)務(wù)數(shù)據(jù)的頁(yè)面組件 單元已存儲(chǔ)有相應(yīng)名稱的業(yè)務(wù)數(shù)據(jù),并在收到該頁(yè)面組件單元確定存儲(chǔ)的通知 時(shí),使用收到的業(yè)務(wù)數(shù)據(jù)覆蓋相應(yīng)名稱的原業(yè)務(wù)數(shù)據(jù);頁(yè)面組件單元進(jìn)一步用 于收到通知后,確定是否繼續(xù)存儲(chǔ)操作,如果是,則通知數(shù)據(jù)總線單元繼續(xù)存 儲(chǔ),否則,重新為相應(yīng)業(yè)務(wù)數(shù)據(jù)確定名稱,然后再提供給數(shù)據(jù)總線單元存儲(chǔ)。
基于圖3B,實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)中進(jìn)一步包括數(shù)據(jù)總線單元,或者,基 于圖3C,實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)中進(jìn)一步包括攔截器,如圖3D所示,攔截器的 實(shí)現(xiàn)與圖3B中的描述相同,數(shù)據(jù)總線單元的實(shí)現(xiàn)與圖3C中的描述相同,在 此不再贅述。 圖4為本發(fā)明實(shí)施例中頁(yè)面組件單元結(jié)構(gòu)示意圖,如圖4所示,頁(yè)面組件
單元包括控制器、處理類單元和頁(yè)面單元,其中,控制器用于根據(jù)收到的調(diào) 用請(qǐng)求確定并通知處理類單元;處理類單元用于根據(jù)業(yè)務(wù)流程標(biāo)識(shí)調(diào)用頁(yè)面單 元;頁(yè)面單元用于根據(jù)收到的調(diào)用請(qǐng)求啟動(dòng)并向用戶推送頁(yè)面,并根據(jù)用戶的 輸入進(jìn)行操作。調(diào)用請(qǐng)求中攜帶有業(yè)務(wù)流程標(biāo)識(shí),調(diào)用請(qǐng)求可來(lái)自于組件調(diào)度 器,另外,當(dāng)組件調(diào)度器根據(jù)組件配置規(guī)則確定需要調(diào)用攔截器時(shí),調(diào)用請(qǐng)求 也可來(lái)自于攔截器。如果業(yè)務(wù)流程中存在公共邏輯,則組件配置規(guī)則中會(huì)包含 攔截器,組件調(diào)度器就能夠根據(jù)組件配置規(guī)則確定出需要調(diào)用攔截器。
圖5為本發(fā)明實(shí)施例一中實(shí)現(xiàn)頁(yè)面調(diào)用的流程圖,如圖5所示,本實(shí)施例 中實(shí)現(xiàn)頁(yè)面調(diào)用的方法包括以下步驟
步驟501:組件調(diào)度器接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶請(qǐng)求、如Http請(qǐng)求。 步驟502:組件調(diào)度器根據(jù)用戶請(qǐng)求中攜帶的業(yè)務(wù)流程標(biāo)識(shí),獲取組件配 置器存儲(chǔ)的對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置規(guī)則,并從組件配置器中獲取頁(yè)面 組件單元信息。當(dāng)組件調(diào)度器所獲取的頁(yè)面組件單元信息為業(yè)務(wù)流程中涉及的 相關(guān)頁(yè)面組件單元的信息,其具體處理是組件調(diào)度器根據(jù)獲取的組件配置規(guī) 則,確定業(yè)務(wù)流程中所涉及的各頁(yè)面組件單元,然后在組件配置器存儲(chǔ)的組件 全量信息中獲取業(yè)務(wù)流程中涉及的相關(guān)頁(yè)面組件單元的信息,這種方法比較適 用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序固定的情況;當(dāng)組件調(diào)度器 獲取的頁(yè)面組件單元信息為組件全量信息,其具體處理是組件調(diào)度器直接獲 取組件配置器存儲(chǔ)的組件全量信息,則組件調(diào)度器才艮據(jù)組件配置規(guī)則確定當(dāng)前 需要調(diào)用的頁(yè)面組件單元后,在獲取的組件全量信息中獲取相應(yīng)頁(yè)面組件單元 的信息,這種方法既適用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序固定 的情況,也適用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序動(dòng)態(tài)可變的情 況。
步驟503:組件調(diào)度器根據(jù)組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單 元,并^4居獲取的相關(guān)頁(yè)面組件單元的信息調(diào)用相應(yīng)頁(yè)面組件單元,如組件調(diào)
度器根據(jù)頁(yè)面組件單元的名稱和進(jìn)入方式,以相應(yīng)進(jìn)入方式調(diào)用對(duì)應(yīng)于名稱的 頁(yè)面組件單元。
步驟504:頁(yè)面組件單元根據(jù)組件調(diào)度器的調(diào)用,啟動(dòng)并向用戶推送頁(yè)面, 根據(jù)用戶的輸入進(jìn)行操作。
步驟505:組件調(diào)度器接收頁(yè)面組件單元提供的指針信息。 步驟506:組件調(diào)度器根據(jù)收到的指針信息判斷當(dāng)前業(yè)務(wù)流程是否結(jié)束, 如果是,則直接結(jié)束當(dāng)前業(yè)務(wù)流程;否則,表明需要進(jìn)入下一頁(yè)面組件單元, 則返回執(zhí)行步驟503。當(dāng)系統(tǒng)中配置的頁(yè)面組件單元凄t量動(dòng)態(tài)可變時(shí),組件配 置器中存儲(chǔ)的組件全量信息為當(dāng)前系統(tǒng)中配置的所有頁(yè)面組件單元的相關(guān)信 息,這樣,組件調(diào)度器確定需要調(diào)用下一頁(yè)面組件單元之后、在返回執(zhí)行步驟 503之前,可進(jìn)一步獲取組件配置器當(dāng)前存儲(chǔ)的組件全量信息,在獲取的組件 全量信息中獲取當(dāng)前要調(diào)用的頁(yè)面組件單元的信息,或者直接獲取當(dāng)前需要調(diào) 用的相關(guān)頁(yè)面組件單元的信息,然后再執(zhí)行步驟503。
圖6為本發(fā)明實(shí)施例二中實(shí)現(xiàn)頁(yè)面調(diào)用的流程圖,如圖6所示,本實(shí)施例 中實(shí)現(xiàn)頁(yè)面調(diào)用的方法包括以下步驟
步驟601:組件調(diào)度器接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶請(qǐng)求、如Http請(qǐng)求。 步驟602:組件調(diào)度器根據(jù)用戶請(qǐng)求中攜帶的業(yè)務(wù)流程標(biāo)識(shí),獲取組件配 置器存儲(chǔ)的對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置規(guī)則,并從組件配置器中獲取頁(yè)面 組件單元信息。當(dāng)組件調(diào)度器所獲取的頁(yè)面組件單元信息為業(yè)務(wù)流程中涉及的 相關(guān)頁(yè)面組件單元的信息,其具體處理是組件調(diào)度器根據(jù)獲取的組件配置規(guī) 則,確定業(yè)務(wù)流程中所涉及的各頁(yè)面組件單元,然后在組件配置器存儲(chǔ)的組件 全量信息中獲取業(yè)務(wù)流程中涉及的相關(guān)頁(yè)面組件單元的信息,這種方法比較適 用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序固定的情況;當(dāng)組件調(diào)度器 獲取的頁(yè)面組件單元信息為組件全量信息,其具體處理是組件調(diào)度器直接獲 取組件配置器存儲(chǔ)的組件全量信息,則組件調(diào)度器根據(jù)組件配置規(guī)則確定當(dāng)前 需要調(diào)用的頁(yè)面組件單元后,在獲取的組件全量信息中獲取相應(yīng)頁(yè)面組件單元的信息,這種方法既適用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序固定 的情況,也適用于業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的執(zhí)行順序動(dòng)態(tài)可變的情 況。
步驟603:組件調(diào)度器根據(jù)組件配置規(guī)則判斷是否需要調(diào)用攔截器,如果 是,則繼續(xù)抽a行步驟604;否則,繼續(xù)執(zhí)行步驟607。 步驟604:組件調(diào)度器調(diào)用相應(yīng)攔截器。
步驟605:攔截器根據(jù)組件調(diào)度器的調(diào)用,啟動(dòng)并執(zhí)行預(yù)處理。 步驟606:攔截器預(yù)處理完畢后,調(diào)用相應(yīng)頁(yè)面組件單元,然后繼續(xù)執(zhí)行
步驟608。以上所述攔截器的處理可包括多個(gè)子攔截器的處理。
步驟607:組件調(diào)度器根據(jù)組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單
元,并根據(jù)獲取的相關(guān)頁(yè)面組件單元的信息調(diào)用相應(yīng)頁(yè)面組件單元,如組件調(diào)
度器根據(jù)頁(yè)面組件單元的名稱和進(jìn)入方式,以相應(yīng)進(jìn)入方式調(diào)用對(duì)應(yīng)于名稱的
頁(yè)面組件單元。
步驟608:頁(yè)面組件單元根據(jù)收到的調(diào)用,啟動(dòng)并向用戶推送頁(yè)面,根據(jù) 用戶的輸入進(jìn)行才喿作。
步驟609:組件調(diào)度器接收頁(yè)面組件單元提供的指針信息。
步驟610:組件調(diào)度器根據(jù)收到的指針信息判斷當(dāng)前業(yè)務(wù)流程是否結(jié)束, 如果是,則直接結(jié)束當(dāng)前流程;否則,表明需要進(jìn)入下一頁(yè)面組件單元,則返 回執(zhí)行步驟603。當(dāng)系統(tǒng)中配置的頁(yè)面組件單元數(shù)量動(dòng)態(tài)可變時(shí),組件配置器 中存儲(chǔ)的組件全量信息為當(dāng)前系統(tǒng)中配置的所有頁(yè)面組件單元的相關(guān)信息,這 樣,組件調(diào)度器確定需要調(diào)用下一頁(yè)面組件單元之后、在返回執(zhí)行步驟603之 前,可進(jìn)一步獲取組件配置器當(dāng)前存儲(chǔ)的組件全量信息,在獲取的組件全量信 息中獲取當(dāng)前要調(diào)用的頁(yè)面組件單元的信息,或者直接獲取當(dāng)前需要調(diào)用的相 關(guān)頁(yè)面組件單元的信息,然后再執(zhí)行步驟603。
在以上描述的兩個(gè)實(shí)施例的處理過(guò)程中,均可采用數(shù)據(jù)總線單元對(duì)業(yè)務(wù)數(shù) 據(jù)進(jìn)行存儲(chǔ),業(yè)務(wù)流程中涉及的各頁(yè)面組件單元通過(guò)數(shù)據(jù)總線單元共享業(yè)務(wù)數(shù)
據(jù)。頁(yè)面組件單元在用戶結(jié)束對(duì)當(dāng)前頁(yè)面的操作時(shí),向數(shù)據(jù)總線單元提供業(yè)務(wù) 數(shù)據(jù)。
顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā) 明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及 其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng),其特征在于,該系統(tǒng)包括組件配置器、組件調(diào)度器和頁(yè)面組件單元,其中,所述組件配置器用于存儲(chǔ)組件配置規(guī)則及組件全量信息,并提供組件配置規(guī)則及頁(yè)面組件單元信息;所述組件調(diào)度器用于接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶請(qǐng)求,獲取對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置規(guī)則,獲取相關(guān)頁(yè)面組件單元信息,并根據(jù)組件配置規(guī)則確定業(yè)務(wù)流程中當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面組件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元;所述頁(yè)面組件單元用于啟動(dòng)并向用戶推送頁(yè)面,根據(jù)用戶輸入進(jìn)行操作。
2、 根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括數(shù)據(jù) 總線單元,所述頁(yè)面組件單元進(jìn)一步用于向數(shù)據(jù)總線單元提供業(yè)務(wù)數(shù)據(jù); 所述數(shù)據(jù)總線單元用于存儲(chǔ)收到的業(yè)務(wù)數(shù)據(jù),并向頁(yè)面組件單元提供業(yè)務(wù) 數(shù)據(jù)。
3、 根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,數(shù)據(jù)總線單元收到與已存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)名稱相同的業(yè)務(wù)數(shù)據(jù)時(shí),進(jìn)一步用 于通知發(fā)送所述業(yè)務(wù)數(shù)據(jù)的頁(yè)面組件單元已存儲(chǔ)有所述名稱的業(yè)務(wù)數(shù)據(jù),并在 收到發(fā)送所述業(yè)務(wù)數(shù)據(jù)的頁(yè)面組件單元確定存儲(chǔ)的通知時(shí),使用收到的業(yè)務(wù)數(shù) 據(jù)覆蓋所述相同名稱的原業(yè)務(wù)數(shù)據(jù);發(fā)送所述業(yè)務(wù)數(shù)據(jù)的頁(yè)面組件單元進(jìn)一步用于收到通知后,確定是否繼續(xù) 存儲(chǔ)操作,如果是,則通知數(shù)據(jù)總線單元繼續(xù)存儲(chǔ),否則,重新為所述業(yè)務(wù)數(shù) 據(jù)確定名稱,然后再提供給數(shù)據(jù)總線單元存儲(chǔ)。
4、 根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于,該系統(tǒng)進(jìn)一步包括 攔截器,所述組件調(diào)度器調(diào)用頁(yè)面組件單元之前,進(jìn)一步用于根據(jù)組件配置規(guī)則確 定需要調(diào)用攔截器時(shí),調(diào)用所述攔截器;所述攔截器用于根據(jù)組件調(diào)度器的調(diào)用,啟動(dòng)并進(jìn)行預(yù)處理,在預(yù)處理完 畢時(shí)調(diào)用相應(yīng)頁(yè)面組件單元。
5、 根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述攔截器與頁(yè)面組件單元是一對(duì)多的對(duì)應(yīng)關(guān)系時(shí),所述組件調(diào)度器確定需要調(diào)用攔截器后,進(jìn)一步用 于向所述攔截器提供頁(yè)面組件單元信息;所述攔截器進(jìn)一步用于根據(jù)所述頁(yè)面組件單元信息調(diào)用頁(yè)面組件單元。
6、 根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于, 所述頁(yè)面組件單元進(jìn)一步用于提供指針信息;所述組件調(diào)度器進(jìn)一步用于根據(jù)收到的指針信息確定需要進(jìn)入下一頁(yè)面 組件單元時(shí),根據(jù)組件配置規(guī)則確定需要調(diào)用的頁(yè)面組件單元,然后根據(jù)該頁(yè) 面組件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元。
7、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述組件調(diào)度器根據(jù)收到 的指針信息確定需要進(jìn)入下一頁(yè)面組件單元時(shí),進(jìn)一步用于獲取組件配置器當(dāng) 前存儲(chǔ)的組件全量信息。
8、 根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于, 所述組件調(diào)度器獲取的相關(guān)頁(yè)面組件單元信息為業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的頁(yè)面組件單元信息,所述組件調(diào)度器進(jìn)一步用于根據(jù)獲取的組件 配置規(guī)則,確定業(yè)務(wù)流程中所涉及的各頁(yè)面組件單元,然后在所述組件全量信 息中獲取業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的頁(yè)面組件單元信息;或者,所述組件調(diào)度器獲取的相關(guān)頁(yè)面組件單元信息為組件全量信息,所述組件 調(diào)度器根據(jù)頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元之前,進(jìn)一步用于在所述 組件全量信息中獲取需要調(diào)用的頁(yè)面組件單元的頁(yè)面組件單元信息。
9、 根據(jù)權(quán)利要求1或2所述的系統(tǒng),其特征在于,所述頁(yè)面組件單元包 括控制器、處理類單元和頁(yè)面單元,其中,所述控制器用于根據(jù)收到的調(diào)用請(qǐng)求確定并通知處理類單元; 所述處理類單元用于才艮據(jù)業(yè)務(wù)流程標(biāo)識(shí)調(diào)用頁(yè)面單元; 所述頁(yè)面單元用于根據(jù)收到的調(diào)用請(qǐng)求啟動(dòng)并向用戶推送頁(yè)面,并根據(jù)用 戶的輸入進(jìn)行操作。
10、 一種實(shí)現(xiàn)頁(yè)面調(diào)用的方法,其特征在于,該方法包含接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶請(qǐng)求,獲取對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配 置規(guī)則,并獲取相關(guān)頁(yè)面組件單元信息;根據(jù)所述組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面組 件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元;頁(yè)面組件單元啟動(dòng)并向用戶推送頁(yè)面,根據(jù)用戶輸入進(jìn)行操作。
11、 根據(jù)權(quán)利要求IO所述的方法,其特征在于,所述獲取相關(guān)頁(yè)面組件單元信息,為根據(jù)獲取的組件配置規(guī)則確定業(yè)務(wù) 流程中所涉及的各頁(yè)面組件單元,然后在組件配置器存儲(chǔ)的組件全量信息中獲 取業(yè)務(wù)流程中涉及的各頁(yè)面組件單元的頁(yè)面組件單元信息;或者,所述獲糾目關(guān)頁(yè)面組件單元信息,為組件調(diào)度器獲取組件配置器存儲(chǔ)的 組件全量信息;所述根據(jù)該頁(yè)面組件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組 件單元,之前進(jìn)一步包括組件調(diào)度器在所述組件全量信息中獲取需要調(diào)用的 頁(yè)面組件單元的頁(yè)面組件單元信息。
12、 根據(jù)權(quán)利要求IO所述的方法,其特征在于,所述獲取相關(guān)頁(yè)面組件 單元信息,之后進(jìn)一步包括組件調(diào)度器根據(jù)組件配置規(guī)則判斷是否需要調(diào)用 攔截器,如果是,則調(diào)用所述攔截器,攔截器執(zhí)行預(yù)處理完畢后,該攔截器調(diào) 用頁(yè)面組件單元,該頁(yè)面組件單元啟動(dòng)并向用戶推送頁(yè)面,根據(jù)用戶輸入進(jìn)行 操作;否則,根據(jù)所述組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù) 該頁(yè)面組件單元的頁(yè)面組件單元信息調(diào)用所述頁(yè)面組件單元,該頁(yè)面組件單元 啟動(dòng)并向用戶推送頁(yè)面,根據(jù)用戶輸入進(jìn)行操作。
13、 根據(jù)權(quán)利要求12所述的方法,其特征在于,所述攔截器與頁(yè)面組件 單元是一對(duì)多的對(duì)應(yīng)關(guān)系時(shí),所述組件調(diào)度器調(diào)用所述攔截器,進(jìn)一步包括向所述攔截器提供頁(yè)面組件單元信息。
14、 根據(jù)權(quán)利要求10或12所述的方法,其特征在于,設(shè)置數(shù)據(jù)總線單元, 該方法進(jìn)一步包括頁(yè)面組件羊元向數(shù)據(jù)總線單元提供業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)總線單 元對(duì)收到的業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ)。
15、 根據(jù)權(quán)利要求14所述的方法,其特征在于,所述對(duì)收到的業(yè)務(wù)數(shù)據(jù) 進(jìn)行存儲(chǔ),為將所述業(yè)務(wù)數(shù)據(jù)對(duì)象按照設(shè)定格式進(jìn)行編碼得到數(shù)據(jù)編碼,然 后將數(shù)據(jù)編碼序列化為字節(jié)碼,并以字節(jié)碼的方式寫入頁(yè)面。
16、 根據(jù)權(quán)利要求15所述的方法,其特征在于,所述將數(shù)據(jù)編碼序列化 為字節(jié)碼,為將數(shù)據(jù)編碼轉(zhuǎn)換成序列化流,然后將該序列化流轉(zhuǎn)換成字節(jié)數(shù) 組,最后通過(guò)將該字節(jié)數(shù)組進(jìn)行16進(jìn)制的方式將字節(jié)數(shù)組轉(zhuǎn)換成字節(jié)碼。
17、 根據(jù)權(quán)利要求14所述的方法,其特征在于,所述數(shù)據(jù)總線單元對(duì)收 到的業(yè)務(wù)數(shù)據(jù)進(jìn)行存儲(chǔ),之后進(jìn)一步包括數(shù)據(jù)總線單元向頁(yè)面組件單元提供 業(yè)務(wù)數(shù)據(jù)。
18、 根據(jù)權(quán)利要求17所述的方法,其特征在于,所述向頁(yè)面組件單元提 供業(yè)務(wù)數(shù)據(jù),為從頁(yè)面讀取字節(jié)碼,并將字節(jié)碼反序列化得到數(shù)據(jù)編碼,然 后通過(guò)對(duì)數(shù)據(jù)編碼的反向編碼方式得到業(yè)務(wù)數(shù)據(jù)對(duì)象,向頁(yè)面組件單元提供該 業(yè)務(wù)數(shù)據(jù)對(duì)象。
19、 根據(jù)權(quán)利要求14所述的方法,其特征在于,數(shù)據(jù)總線單元收到與已 存儲(chǔ)的業(yè)務(wù)數(shù)據(jù)名稱相同的業(yè)務(wù)數(shù)據(jù)時(shí),該方法進(jìn)一步包括數(shù)據(jù)總線單元通 知發(fā)送業(yè)務(wù)數(shù)據(jù)的頁(yè)面組件單元已存儲(chǔ)有所述名稱的業(yè)務(wù)數(shù)據(jù),該頁(yè)面組件單 元收到通知后,確定是否繼續(xù)存儲(chǔ)操作,如果是,則通知數(shù)據(jù)總線單元繼續(xù)存 儲(chǔ),數(shù)據(jù)總線單元收到該通知后,使用收到的業(yè)務(wù)數(shù)據(jù)覆蓋所述相同名稱的原 業(yè)務(wù)數(shù)據(jù);否則,重新為相應(yīng)業(yè)務(wù)數(shù)據(jù)確定名稱,然后再提供給數(shù)據(jù)總線單元存儲(chǔ)。
20、 根據(jù)權(quán)利要求10或12所述的方法,其特征在于,所述啟動(dòng)頁(yè)面組件 單元,之后進(jìn)一步包括組件調(diào)度器根據(jù)頁(yè)面組件單元提供的指針信息判斷當(dāng)前業(yè)務(wù)流程是否結(jié)束,如果是,則直接結(jié)束當(dāng)前業(yè)務(wù)流程;否則,根據(jù)所述組 件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面組件單元的頁(yè)面組 件單元信息調(diào)用所述頁(yè)面組件單元,該頁(yè)面組件單元啟動(dòng)并向用戶推送頁(yè)面, 根據(jù)用戶輸入進(jìn)行操作。
全文摘要
本發(fā)明公開(kāi)了一種實(shí)現(xiàn)頁(yè)面調(diào)用的系統(tǒng)及方法。該系統(tǒng)主要由組件調(diào)度器、組件配置器、頁(yè)面組件單元組成;該方法的主要包含以下幾個(gè)步驟組件調(diào)度器接收攜帶有業(yè)務(wù)流程標(biāo)識(shí)的用戶請(qǐng)求,獲取組件配置器存儲(chǔ)的對(duì)應(yīng)于業(yè)務(wù)流程標(biāo)識(shí)的組件配置規(guī)則,并獲取頁(yè)面組件單元信息;組件調(diào)度器根據(jù)組件配置規(guī)則確定當(dāng)前需要調(diào)用的頁(yè)面組件單元,根據(jù)該頁(yè)面組件單元的信息調(diào)用相應(yīng)頁(yè)面組件單元。當(dāng)業(yè)務(wù)流程中涉及的頁(yè)面或頁(yè)面的執(zhí)行順序需要變化或動(dòng)態(tài)配置時(shí),只需對(duì)組件配置規(guī)則進(jìn)行更改即可,無(wú)需對(duì)整個(gè)系統(tǒng)進(jìn)行更改,使得本發(fā)明提供的系統(tǒng)是具有輕量級(jí)框架的系統(tǒng),大大提高了業(yè)務(wù)流程實(shí)現(xiàn)的靈活性,非常有利于業(yè)務(wù)流程的擴(kuò)展。
文檔編號(hào)H04L29/06GK101197812SQ20061015311
公開(kāi)日2008年6月11日 申請(qǐng)日期2006年12月8日 優(yōu)先權(quán)日2006年12月8日
發(fā)明者袁海寧 申請(qǐng)人:華為技術(shù)有限公司