專利名稱:流程執(zhí)行方法、流程執(zhí)行系統(tǒng)及其配置設(shè)備和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及面向服務(wù)的體系結(jié)構(gòu)(SOA),尤其流程執(zhí)行方法、流程執(zhí) 行系統(tǒng)及其配置設(shè)備和方法。
背景技術(shù):
SOA是運行業(yè)務(wù)流程的業(yè)務(wù)集成應(yīng)用體系結(jié)構(gòu),包括一組業(yè)務(wù)對準(zhǔn) 的服務(wù),這些服務(wù)使用通過開放標(biāo)準(zhǔn)和協(xié)議將服務(wù)提供方和客戶分離的基 于交互接口的服務(wù)描述,來支持組織的目標(biāo)。
SOA包含對業(yè)務(wù)策略和運行進行分析和建模以導(dǎo)出業(yè)務(wù)流程模型。 業(yè)務(wù)流程模型可通過諸如BPEL(業(yè)務(wù)流程執(zhí)行語言)的流程處理語言來描 述,形成流程定義(例如BPEL文件)。業(yè)務(wù)流程模型執(zhí)行引擎(下文也稱為 流程執(zhí)行引擎)加載流程定義,響應(yīng)請求根據(jù)流程定義生成流程實例并執(zhí) 行。流程定義可包括任務(wù)和串聯(lián)任務(wù)的流程控制。流程實例的執(zhí)行可調(diào)用 外部服務(wù)。請求和服務(wù)調(diào)用均通過遵從交互接口規(guī)范的消息,例如簡單對 象訪問協(xié)議(SOAP)消息來進行。流程執(zhí)行引擎根據(jù)交互接口定義(例如 WSDL文件)處理這些消息。交互接口定義可限定特定消息類型的接口參 數(shù)。
流程執(zhí)行引擎根據(jù)流程定義和交互接口定義執(zhí)行流程,其對流程實例 的調(diào)度通常局限于創(chuàng)建和終止,而對流程實例的執(zhí)行M缺乏有效的監(jiān)視 和/或控制。由于開發(fā)成本和周期的因素,難以通過修改流程執(zhí)行引擎的 設(shè)計來引入這樣的監(jiān)視和/控制。
因此,需要一種利于對流程實例的執(zhí)行進度進行有效監(jiān)視和/或控制 的手段。
發(fā)明內(nèi)容
本發(fā)明的一個目的是提供一種流程執(zhí)行方法、流程執(zhí)行系統(tǒng)及其配置 設(shè)備和方法,以利于對流程執(zhí)行引擎中流程實例的執(zhí)行進度進行有效監(jiān)視。
在本發(fā)明的一個實施例中, 一種流程執(zhí)行系統(tǒng)包含流程執(zhí)行引擎, 被配置為根據(jù)交互接口定義處理消息并才艮據(jù)i5^定義執(zhí)行流禾呈的實例;流 程請求處理設(shè)備,被配置為向所接收的用于創(chuàng)建流程實例的流程請求消息 添加實例標(biāo)識,并提供給it^執(zhí)行引擎,其中所述實例標(biāo)識是唯一的;和 服務(wù)請求處理設(shè)備,被配置為清除流程執(zhí)行引擎用于向服務(wù)提供方請求服 務(wù)的服務(wù)請求消息中的實例標(biāo)識,以便傳送給服務(wù)提供方,其中,所述流 程執(zhí)行引擎包括提取裝置,被配置為從流程請求消息中提取實例標(biāo)識, 并且在流程實例中存儲所提取的實例標(biāo)識;和生成裝置,被配置為響應(yīng)于 流程實例的服務(wù)請求,將相關(guān)實例標(biāo)識拷貝到服務(wù)請求消息中,其中,所 述交互接口定義被配置為使得流程請求消息和服務(wù)請求消息包含所述實 例標(biāo)識,并且所iU艮務(wù)請求處理設(shè)備被進一步配置為輸出所生成的服務(wù)請 求消息中的實例標(biāo)識。
在一個進一步的實施例中,服務(wù)請求處理該:"^被進一步配置為在傳送 經(jīng)過清除的服務(wù)請求消息到服務(wù)提供方之前進行所述實例標(biāo)識的輸出,并 且響應(yīng)于指示繼續(xù)的輸入,允許將經(jīng)過清除的服務(wù)請求消息傳送到服務(wù)提 供方。
在本發(fā)明的一個實施例中, 一種配置上述流程執(zhí)行系統(tǒng)的設(shè)備包含 接口修改裝置,被配置為提供所述交互接口定義;和流程修改裝置,被配 置為在流程定義中,在獲得流程請求消息的代碼之后插入用于提供提取裝 置的活動定義,并且在向服務(wù)提供方發(fā)送服務(wù)請求消息的代碼之前插入用 于提供生成裝置的活動定義,其中,所述流程定義用于控制流程執(zhí)行引擎 執(zhí)鄉(xiāng)定操作。
在本發(fā)明的一個實施例中, 一種配置上述流程執(zhí)行系統(tǒng)的方法包含 接口配置步驟,用于提供所述交互接口定義;和流程修改步驟,用于在流 程定義中,在獲得流程請求消息的代碼之后插入用于提供提取裝置的活動 定義,并且在向服務(wù)提供方發(fā)送服務(wù)請求消息的代碼之前插入用于提供生 成裝置的活動定義,其中,所述流程定義用于控制流程執(zhí)行引擎執(zhí)行預(yù)定 操作'
在本發(fā)明的一個實施例中, 一種基于流程執(zhí)行引擎的流程執(zhí)行方法, 其中,所述流程執(zhí)行引擎根據(jù)交互接口定義處理消息并根據(jù)流程定義執(zhí)行 流程的實例,所述方法包含流程請求處理步驟,對于所接收的用于創(chuàng)建 流程實例的流程請求消息,向所述流程請求消息添加實例標(biāo)識,并提供給流程執(zhí)行引擎,其中所述實例標(biāo)識是唯一的;和服務(wù)請求處理步驟,對于 流程執(zhí)行引擎用于向服務(wù)提供方請求服務(wù)的服務(wù)請求消息,清除所iii艮務(wù) 請求消息中的實例標(biāo)識,以便傳送給服務(wù)提供方,其中,所述處理消息包 括提取步驟,從流程請求消息中提取實例標(biāo)識,并且在流程實例中存儲 所提取的實例標(biāo)識;和生成步驟,響應(yīng)于流程實例的服務(wù)請求,將相關(guān)實 例標(biāo)識拷貝到服務(wù)請求消息中,其中,所述交互接口定義被配置為使得流 程請求消息和服務(wù)請求消息包含所述實例標(biāo)識,并且所述服務(wù)請求處理步 驟還包括輸出所清除的實例標(biāo)識。
參照下面結(jié)合附圖對本發(fā)明實施例的說明,會更加容易地理解本發(fā)明 的以上和其它目的、特點和優(yōu)點。在附圖中,相同的或?qū)?yīng)的技術(shù)特征或 部件將釆用相同或?qū)?yīng)的附圖標(biāo)記來表示。
圖l是根據(jù)本發(fā)明一個實施例的流程執(zhí)行系統(tǒng)的框圖。
圖2是根據(jù)本發(fā)明一個實施例的配置設(shè)備的框圖。
圖3示出了根據(jù)本發(fā)明一個優(yōu)選實施例的流程執(zhí)行系統(tǒng)的框圖。
圖4是根據(jù)本發(fā)明一個實施例的流程執(zhí)行方法的流程圖。
圖5是根據(jù)本發(fā)明另一個實施例的流程執(zhí)行方法的流程圖。
圖6是示出其中實現(xiàn)本發(fā)明的計算機的示例性結(jié)構(gòu)的框圖。
具體實施例方式
下面參照附圖來"^兌明本發(fā)明的實施例。應(yīng)當(dāng)注意,為了清楚的目的, 附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和 處理的表示和描述。
圖1是根據(jù)本發(fā)明一個實施例的流程執(zhí)行系統(tǒng)100的框圖。
如圖1所示,流程執(zhí)行系統(tǒng)100包含流程執(zhí)行引擎101、流程請求處 理設(shè)備102和服務(wù)請求處理設(shè)備103。
流程執(zhí)行系統(tǒng)100可通過網(wǎng)絡(luò)104與流程請求方(未示出)和服務(wù)提 方105相連。雖然這里以網(wǎng)絡(luò)104作為例子,然而也可以使用其它能夠在 流程執(zhí)行系統(tǒng)100和流程請求方、服務(wù)提供方之間進行消息通信的連接手段,包括但不限于有線/無線的網(wǎng)絡(luò)、交換電路、分組鏈路等。
流程執(zhí)行引擎101可以包括現(xiàn)有流程執(zhí)行引擎的部件,以實現(xiàn)相似的功能。例如流程執(zhí)行引擎101可以基于IBM公司的Websphere ProcessServer 、 ORACLE公司的Oracle BPEL Process Manager等等。
流程執(zhí)行引擎101根據(jù)交互接口定義處理消息并根據(jù)流程定義執(zhí)行流程的實例。例如,流程執(zhí)行引擎101加載有定義流程執(zhí)行流的流程定義。響應(yīng)于接收到流程請求方的流程請求消息時,流程執(zhí)行引擎101根據(jù)被請
求流程的流程定義創(chuàng)建流程實例并執(zhí)行。在流程實例執(zhí)行期間,流程實例
可以發(fā)出服務(wù)請求消息,以調(diào)用相應(yīng)服務(wù)提供方提供的服務(wù)。;;^呈執(zhí)行引擎101通過消息與流程請求方和服務(wù)提供方進行交互。所進行的交互遵從預(yù)定的接口規(guī)范??梢酝ㄟ^為流程執(zhí)行引擎101提供交互接口定義來指定接口規(guī)范。流程執(zhí)行引擎101根據(jù)交互接口定義來確定如何解析所接收的
消息,以及如何構(gòu)成要發(fā)出的消息。以基于Web服務(wù)業(yè)務(wù)流程執(zhí)#^言(BPEL4WS)標(biāo)準(zhǔn)的流程執(zhí)行引擎為例,流程定義通過BPEL腳本文件來實現(xiàn),交互接口定義通過Web服務(wù)描述語言(WSDL)文件來實現(xiàn),而消息傳逸基于SOAP協(xié)議。
流程請求處理設(shè)備102向所接收的用于創(chuàng)建流程實例的流程請求消息添加唯一的實例標(biāo)識,并提供給流程執(zhí)行引擎。流程執(zhí)行引擎101接收的流程請求消息和流程請求處理設(shè)備102接收的流程請求消息遵從不同的交互接口規(guī)范,即前者(稱為擴展接口規(guī)范)可以包括后者的接口 M和附加的接口M(在本實施例中為實例標(biāo)識),使得在保持與外部的交互接口固定的同時,能夠?qū)α鞒虉?zhí)行引擎101的交互接口進行擴展。
例如,當(dāng)流程請求方通過網(wǎng)絡(luò)104向流程執(zhí)行系統(tǒng)100請求執(zhí)行流程時,流程請求處理設(shè)備102檢測到來自流程請求方的流程請求消息,向流程請求消息添加為被請求流程的實例產(chǎn)生的唯一實例標(biāo)識,以使流程請求消息符合擴展接口規(guī)范。實例標(biāo)識可以由流程請求處理i殳備102來產(chǎn)生。
優(yōu)選地,也可由與流程請求處理設(shè)備相連的外部設(shè)備(未示出)來產(chǎn)生。在這種情況下,流程請求處理設(shè)備102可通過向外部設(shè)備發(fā)送被請求的流程的標(biāo)識(可從例如流程請求消息中得到)來請求實例標(biāo)識。對于有多個流程執(zhí)行系統(tǒng)的情況,由外部設(shè)備統(tǒng)一產(chǎn)生實例標(biāo)識可保證實例標(biāo)識的全局唯一。
可選地,在由流程請求處理設(shè)備102產(chǎn)生實例標(biāo)識的情況下,流程請求處理設(shè)備102可以向外部設(shè)備輸出所產(chǎn)生的實例標(biāo)識和相應(yīng)的流程標(biāo)識,使得能夠監(jiān)視流程的實例的創(chuàng)建。
流程執(zhí)行引擎101經(jīng)由服務(wù)請求處理設(shè)備103向服務(wù)提供方發(fā)ill良務(wù)請求消息。與前述類似地,流程執(zhí)行引擎101傳出的服務(wù)請求消息和服務(wù)請求處理設(shè)備103傳出的服務(wù)請求消息遵從不同的交互接口規(guī)范,即前者(也稱為擴展接口規(guī)范)可以包括后者的接口參數(shù)和附加的接口參數(shù)(在本實施例中為實例標(biāo)識),使得在保持與外部的交互接口固定的同時,能夠?qū)α鞒虉?zhí)行引擎101的交互接口進行擴展。服務(wù)請求處理設(shè)備103清除流程執(zhí)行引擎101用于向服務(wù)提供方請求服務(wù)的服務(wù)請求消息中的實例標(biāo)識,以便傳送給服務(wù)提供方。例如,當(dāng)流程實例要發(fā)出服務(wù)請求消息以調(diào)用相應(yīng)服務(wù)提供方提供的服務(wù)時,執(zhí)行流程實例的流程執(zhí)行引擎101根據(jù)擴展接口規(guī)范生成包含該流程實例的實例標(biāo)識的服務(wù)請求消息,并將服務(wù)請求消息傳送給服務(wù)請求處理設(shè)備103。由于和服務(wù)提供方的交互所基于的接口規(guī)范不包含實例標(biāo)識,因此服務(wù)請求處理設(shè)備103除去服務(wù)請求消息中的實例標(biāo)識以符合接口規(guī)范的要求。
這里,流程請求處理設(shè)備102和服務(wù)請求處理i殳備103在流程執(zhí)行引擎101所基于的平臺中耦合在流程執(zhí)行引擎101和負(fù)責(zé)經(jīng)由網(wǎng)絡(luò)104進行通信的通信接口之間??赏ㄟ^各種方式配置流程請求處理設(shè)備102和服務(wù)請求處理設(shè)備103,例如通過操作系統(tǒng)提供的接口配置消息協(xié)議層、通過鉤住與消息接收和發(fā)il^目關(guān)的事件來銜接、通過流程執(zhí)行引擎101提供的接口來嵌入(例如作為插件),等等。就消息傳ill^徑而言,不需要改變流程執(zhí)行引擎101的設(shè)計。
流程執(zhí)行引擎101包括提取裝置111和生成裝置112。
提取裝裝置111從來自流程請求處理設(shè)備102的流程請求消息中提取實例標(biāo)識,并且在流程實例中存儲所提取的實例標(biāo)識。由于流程執(zhí)行引擎101根據(jù)流程定義來創(chuàng)建流程實例并且執(zhí)行該流程實例,因此可以在流程定義中添加限定提取裝置lll的處理邏輯的活動定義。這樣,當(dāng)流程執(zhí)行引擎101執(zhí)行流程實例時,在流程執(zhí)行引擎101中提供了提取裝置111。此外,可以在流程的流程定義中設(shè)置用于存儲相應(yīng)實例標(biāo)識的變量,由提取裝置111將提取的實例標(biāo)識存儲在該變量中。以基于BPEL的流程腳本文件為例,可以在每個文件中增加用于存儲實例標(biāo)識的全局變量,并且在每個 "receive"和"pick"活動之后插入用于將傳入的流程請求消息中的實例標(biāo)識拷貝到全局變量的"assign"活動。生成裝置112響應(yīng)于流程實例的服務(wù)請求,將相關(guān)實例標(biāo)識拷貝到服務(wù)請求消息中。與提取裝置lll類似,可以在流程定義中添加限定生成裝置112的處理邏輯的活動定義。類似地,當(dāng)流程執(zhí)行引擎101執(zhí)行流程實例時,在力錄執(zhí)行引擎101中提供了生成裝置112。例如,當(dāng)要進行服務(wù)請求時,生成裝置112將全局變量中的實例標(biāo)識拷貝到服務(wù)請求消息中。以基于BPEL的流程腳本文件為例,可以在每個"invoke"和"r印ly"活動之后插入用于將相應(yīng)實例標(biāo)識拷貝到服務(wù)請求消息中指定位置的"assign"活動。
當(dāng)服務(wù)請求處理設(shè)備103收到來自流程執(zhí)行引擎101的服務(wù)請求消息時,除前面描述的處理之外,還輸出服務(wù)請求消息中的實例標(biāo)識,以便外部設(shè)備進行監(jiān)視。
圖2是根據(jù)本發(fā)明一個實施例的配置設(shè)備201的框圖。
如圖2所示,配置設(shè)備包括接口修改裝置203和流程修改裝置204。在完成配置之前,流程執(zhí)行系統(tǒng)202的流程執(zhí)行引擎205配置有交互接口定義和流程定義。如
接口修改裝置203讀取交互接口定義,在其中增加例如實例標(biāo)識的附加接口參數(shù),從而形成擴展交互接口定義。流程執(zhí)行引擎205加載擴展交互接口定義,但流程請求方和服務(wù)提供方仍然通過基于原交互接口定義的消息與流程執(zhí)行系統(tǒng)進行交互。
流程修改裝置204在流程定義中,在獲得流程請求消息的代碼之后插入用于提供提取裝置的活動定義,并且在向服務(wù)提供方發(fā)ilU艮務(wù)請求消息的代碼之前插入用于提供生成裝置的活動定義。如前所述,以基于BPEL的流程腳本文件為例,可以在每個文件中增加用于存儲實例標(biāo)識的全局變量,在每個"receive"和"pick"活動之后插入用于將傳入的流程請求消息中的實例標(biāo)識拷貝到全局變量的"assign"活動,并且在每個"invoke"和"reply"活動之后插入用于將相應(yīng)實例標(biāo)識拷貝到服務(wù)請求消息中指定位置的"assign"活動。
可以看出,配置流程執(zhí)行系統(tǒng)的方法包括接口配置步驟,用于提供上述擴展交互接口定義;和流程修改步驟,用于在流程定義中,在獲得流程請求消息的代碼之后插入用于提供提取裝置的活動定義,并且在向服務(wù)提供方發(fā)送服務(wù)請求消息的代碼之前插入用于提供生成裝置的活動定義,其中,所述流程定義用于控制流程執(zhí)行引擎執(zhí),定操作。圖3示出了根據(jù)本發(fā)明一個優(yōu)選實施例的流程執(zhí)行系統(tǒng)300的框圖。
如圖3所示,流程執(zhí)行系統(tǒng)300包含流程執(zhí)行引擎301、流程請求處理設(shè)備302和服務(wù)請求處理設(shè)備303。流程執(zhí)行引擎301包括提取裝置311和生成裝置312。流程執(zhí)行引擎301、服務(wù)請求處理設(shè)備303、提取裝置311、生成裝置312、網(wǎng)絡(luò)304和服務(wù)提供方305分別與圖1的流程執(zhí)行引擎101、服務(wù)請求處理設(shè)備103、提取裝置111、生成裝置112、網(wǎng)絡(luò)104和服務(wù)提供方105功能相同,因此不再重復(fù)說明。
流程請求處理設(shè)備302包括圖1的流程請求處理設(shè)備102的功能,并且還向控制設(shè)備306輸出流程請求消息中的被請求流程標(biāo)識。作為響應(yīng),控制設(shè)備306生成唯一的實例標(biāo)識,并且輸入流程請求處理設(shè)備302以作為要添加的實例標(biāo)識??蛇x地,可以由流程請求處理i更備302生成要添加的實例標(biāo)識,并且向控制設(shè)備306輸出該實例標(biāo)識和流程請求消息中的被請求流程標(biāo)識。這樣,可以更加完善對流程實例的執(zhí)行進度的監(jiān)視。
在進一步的優(yōu)選實施例中,服務(wù)請求處理i殳備303可以在傳送經(jīng)過清除的服務(wù)請求消息到服務(wù)提供方之前輸出實例標(biāo)識到控制設(shè)備306。控制設(shè)備306根據(jù)調(diào)度策略確定是否繼續(xù)相應(yīng)流程實例的執(zhí)行。如果繼續(xù),則向服務(wù)請求處理設(shè)備303發(fā)出指示。服務(wù)請求處理設(shè)備303響應(yīng)于指示繼續(xù)的輸入,允許將經(jīng)過清除的服務(wù)請求消息傳送到服務(wù)提供方。
作為對前述實施例的進一步改進,流程執(zhí)行引擎可以包括獲得裝置,其獲得導(dǎo)致服務(wù)請求的流程實例的任務(wù)的任務(wù)標(biāo)識。流程定義通過將任務(wù)銜接來定義流程。有關(guān)當(dāng)前正執(zhí)行的任務(wù)的信息有助于了解流程的執(zhí)行進度,也有助于對執(zhí)行進度進行更精細(xì)的控制。
例如,修改交互接口定義,在服務(wù)請求消息類型的接口中增加作為附加接口參數(shù)的任務(wù)標(biāo)識。修改在流程定義中增加存儲任務(wù)標(biāo)識的全局變量,并且在每個任務(wù)的起始代碼之前插入獲得任務(wù)標(biāo)識并存儲在全局變量中,即用于提供所述獲得裝置的活動定義。任務(wù)標(biāo)識可以在修改流程定義以提供獲得裝置時指定,例如任務(wù)編號,也可以是任務(wù)代碼在流程定義中的位置等等,只要能夠標(biāo)識出任務(wù)。還修改用于提供生成裝置的活動定義,使得生成裝置在所生成的服務(wù)請求消息還添加相關(guān)任務(wù)、即導(dǎo)致該服務(wù)請求消息的任務(wù)的任務(wù)標(biāo)識。相應(yīng)地,服務(wù)請求處理設(shè)備還輸出服務(wù)請求消息中的任務(wù)標(biāo)識。
相應(yīng)地,在圖2所示的配置設(shè)備中,代碼修改裝置可以進一步在每個任務(wù)的起始代碼之前插入用于提供獲得裝置的活動定義。
也可在流程執(zhí)行引擎的處理邏輯中引入提取裝置、生成裝置和獲得裝置的功能。這種方式不需要或較少修改流程定義,但需要對流程執(zhí)行引擎進行一定的修改。
優(yōu)選地,在圖3所示的實施例中,流程請求處理設(shè)備302或服務(wù)請求處理設(shè)備303可以響應(yīng)流程實例的結(jié)束輸出相應(yīng)實例標(biāo)識和結(jié)束指示。外部設(shè)備306因而能夠?qū)λ占男畔⑦M行相應(yīng)更新和管理。例如,可通過監(jiān)視指示會話結(jié)束的消息、流程執(zhí)行引擎提供的應(yīng)用編程接口 (API)等等來確定流程實例的結(jié)束。
應(yīng)當(dāng)注意,附加接口^lt并不限于實例標(biāo)識和任務(wù)標(biāo)識??梢圆鹏迵?jù)需要配置其它接口參數(shù),并相應(yīng)配置流程請求處理設(shè)備、服務(wù)消息處理設(shè)備、提取裝置、生成裝置,以進行相應(yīng)的處理。
可以看出,本發(fā)明的實例不需要改變或較少地改變流程執(zhí)行引擎IOI的本來設(shè)計。
圖4是根據(jù)本發(fā)明一個實施例的流程執(zhí)行方法的流程圖。在該流程執(zhí)行方法中,由流程執(zhí)行引擎根據(jù)交互接口定義處理消息并根據(jù)流程定義執(zhí)行流程的實例。對于所接收的用于創(chuàng)建流程實例的流程請求消息,在步驟400,向流程請求消息添加實例標(biāo)識,并提供給流程執(zhí)行引擎,其中實例標(biāo)識是唯一的。響應(yīng)于步驟400提供的流程請求消息,在步驟402,從流程請求消息中提取實例標(biāo)識,并且在流程實例中存儲所提取的實例標(biāo)識。響應(yīng)于流程實例的服務(wù)請求,在步驟404,將相關(guān)實例標(biāo)識拷貝到服務(wù)請求消息中。對于步驟404產(chǎn)生的服務(wù)請求消息,在步驟406,清除所述月艮務(wù)請求消息中的實例標(biāo)識,以傳送給服務(wù)提供方,并且輸出所清除的實例標(biāo)識。
圖5是根據(jù)本發(fā)明另一個實施例的流程執(zhí)行方法的流程圖。圖5所示的方法中的步驟500、 502和504分別與圖4所示的步驟400、 402和404相同,因此這里不再重復(fù)說明。在步驟506,清除在步驟504產(chǎn)生的服務(wù)請求消息中的實例標(biāo)識,并且輸出所清除的實例標(biāo)識。在步驟508,作為對步驟506的輸出的響應(yīng),由一個控制設(shè)備根據(jù)調(diào)度策略確定是否繼續(xù)相應(yīng)流程實例的執(zhí)行。如果繼續(xù),則由控制設(shè)備提供指示繼續(xù)的輸入。在步驟510,響應(yīng)于指示繼續(xù)的輸入,允許將經(jīng)過清除的服務(wù)請求消息傳送到服務(wù)提供方。
14本發(fā)明的流程執(zhí)行系統(tǒng)、配置設(shè)備和方法的實現(xiàn)環(huán)境如圖6所示。
在圖6中,中央處理單元(CPU)601根據(jù)只讀存儲器(ROM)602中存 儲的程序或v^儲部分608加載到隨M取存儲器(RAM)603的程序執(zhí)行 各種處理。在RAM 603中,也根據(jù)需要存儲當(dāng)CPU 601執(zhí)行各種處理等 等時所需的數(shù)據(jù)。
CPU 601、 ROM 602和RAM 603經(jīng)由總線604彼此連接。輸A/輸 出接口 605也連接到總線604。
下述部件連接到輸/V/輸出接口 605:輸入部分606,包括M、鼠標(biāo) 等等;輸出部分607,包括顯示器,比如陰極射線管(CRT)、液晶顯示器 (LCD)等等,和揚聲器等等;存儲部分608,包括硬盤等等;和通信部分 609,包括網(wǎng)絡(luò)接口卡比如LAN卡、調(diào)制解調(diào)器等等。通信部分609經(jīng)由 網(wǎng)絡(luò)比如因特網(wǎng)執(zhí)行通信處理。
根據(jù)需要,驅(qū)動器610也連接到輸^/輸出接口 605??刹鹦督橘|(zhì)611 比如磁盤、光盤、磁光盤、半導(dǎo)體存儲器等等根據(jù)需要被安裝在驅(qū)動器 610上,使得從中讀出的計算機程序根據(jù)需要被安裝到存儲部分608中。
在通過軟件實現(xiàn)上述裝置和處理的情況下,從網(wǎng)絡(luò)比如因特網(wǎng)或存儲 介質(zhì)比如可拆卸介質(zhì)611安裝構(gòu)成軟件的程序。
本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,這種存儲介質(zhì)不局限于圖6所示的其中 存儲有程序、與設(shè)備相分離地分發(fā)以向用戶提供程序的可拆卸介質(zhì)611。 可拆卸介質(zhì)611的例子包含磁盤、光盤(包含光盤只讀存儲器(CD-ROM) 和數(shù)字通用盤(DVD))、磁光盤(包含迷你盤(MD)和半導(dǎo)M儲器?;蛘?, 存儲介質(zhì)可以是ROM 602、存儲部分608中包含的硬盤等等,其中存有 程序,并且與包含它們的設(shè)備一起被分發(fā)給用戶。
在前面的說明書中參照特定實施例描述了本發(fā)明。然而本領(lǐng)域的 普通技術(shù)人員理解,在不偏離如權(quán)利要求書限定的本發(fā)明的范圍的前 提下可以進行各種修改和改變。
權(quán)利要求
1.一種流程執(zhí)行系統(tǒng),包括流程執(zhí)行引擎,被配置為根據(jù)交互接口定義處理消息并根據(jù)流程定義執(zhí)行流程的實例;流程請求處理設(shè)備,被配置為向所接收的用于創(chuàng)建流程實例的流程請求消息添加實例標(biāo)識,并提供給流程執(zhí)行引擎,其中所述實例標(biāo)識是唯一的;和服務(wù)請求處理設(shè)備,被配置為清除流程執(zhí)行引擎用于向服務(wù)提供方請求服務(wù)的服務(wù)請求消息中的實例標(biāo)識,以便傳送給服務(wù)提供方;其中,所述流程執(zhí)行引擎包括提取裝置,被配置為從流程請求消息中提取實例標(biāo)識,并且在流程實例中存儲所提取的實例標(biāo)識;和生成裝置,被配置為響應(yīng)于流程實例的服務(wù)請求,將相關(guān)實例標(biāo)識拷貝到服務(wù)請求消息中,其中,所述交互接口定義被配置為使得流程請求消息和服務(wù)請求消息包含所述實例標(biāo)識,并且所述服務(wù)請求處理設(shè)備被進一步配置為輸出所清除的實例標(biāo)識。
2. 如權(quán)利要求l所述的流程執(zhí)行系統(tǒng),其中,所述服務(wù)請求處理設(shè) 備被進一步配置為在傳送經(jīng)過清除的服務(wù)請求消息到服務(wù)提供方之前進 行所述實例標(biāo)識的輸出,并且響應(yīng)于指示繼續(xù)的輸入,允許將經(jīng)過清除的 服務(wù)請求消息傳送到服務(wù)提供方。
3. 如權(quán)利要求1所述的流程執(zhí)行系統(tǒng),其中,所述流程請求處理設(shè) 備被進一步配置為輸出流程請求消息中的祐ifr求流程標(biāo)識,并且接收作為 響應(yīng)的輸入以作為所述添加的實例標(biāo)識。
4. 如權(quán)利要求l所述的流程執(zhí)行系統(tǒng),其中,所述流程請求處理設(shè) 備被進一步配置為生成所述添加的實例標(biāo)識,并且輸出該實例標(biāo)識和流程 請求消息中的被請求流程標(biāo)識。
5. 如權(quán)利要求1至4中任何一個所述的流程執(zhí)行系統(tǒng),其中,所述 流程執(zhí)行引擎還包括獲得裝置,被配置為獲得導(dǎo)致服務(wù)請求的流程實例的任務(wù)的任務(wù)標(biāo)識:所述生成裝置被進一步配置為使得經(jīng)過清除的服務(wù)請求消息還包含 相關(guān)任務(wù)的任務(wù)標(biāo)識,其中,所述交互接口定義被進一步配置為使得服務(wù)請求消息還包含所 述任務(wù)標(biāo)識,并且所述服務(wù)請求處理設(shè)備被進一步配置為輸出經(jīng)過清除的 服務(wù)請求消息中的任務(wù)標(biāo)識。
6.如權(quán)利要求5所述的流程執(zhí)行系統(tǒng),其中,所述提取裝置、生成活動定義來提供。
7. 如權(quán)利要求2或5所述的流程執(zhí)行系統(tǒng),還包括控制裝置,用于接收所述服務(wù)請求處理設(shè)備的所述輸出,并且根據(jù)預(yù) 定調(diào)度策略向所^艮務(wù)請求處理設(shè)備提供所述指示繼續(xù)的輸入。
8. 如權(quán)利要求l所述的流程執(zhí)行系統(tǒng),其中,所述提取裝置和生成 裝置通過所述流程定義中控制流程執(zhí)行引擎執(zhí)行預(yù)定操作的活動定義來 提供。
9. 如權(quán)利要求1或5所述的流程執(zhí)行系統(tǒng),其中,所述流程請求處 理設(shè)備和服務(wù)請求處理設(shè)備通過所述流程執(zhí)行引擎的擴展接口與所述流 程執(zhí)行引擎耦合。
10. 如權(quán)利要求l所述的流程執(zhí)行系統(tǒng),其中,所述流程請求處理設(shè) 備或服務(wù)請求處理設(shè)備被進一步配置為響應(yīng)流程實例的結(jié)束輸出相應(yīng)實 例標(biāo)識和結(jié)束指示。
11. 一種配置如權(quán)利要求1至4中任何一個所述的流程執(zhí)行系統(tǒng)的設(shè) 備,包括接口修改裝置,被配置為提供所述交互接口定義;和流程修改裝置,被配置為在流程定義中,在獲得流程請求消息的代碼 之后插入用于提供提取裝置的活動定義,并且在向服務(wù)提供方發(fā)送服務(wù)請 求消息的代碼之前插入用于提供生成裝置的活動定義,其中,所述流程定 義用于控制流程執(zhí)行引擎執(zhí),定^Ht。
12. 如權(quán)利要求11所述的設(shè)備,其中,所述流程執(zhí)行引擎還包括 獲得裝置,被配置為獲得導(dǎo)致服務(wù)請求的流程實例的任務(wù)的任務(wù)標(biāo)識,所述生成裝置被進一步配置為使得經(jīng)過清除的服務(wù)請求消息還包含 相關(guān)任務(wù)的任務(wù)標(biāo)識,其中,所述交互接口定義被進一步配置為使得服務(wù)請求消息還包含所 述任務(wù)標(biāo)識,并且所^i良務(wù)請求處理設(shè)備被進一步配置為輸出經(jīng)過清除的 服務(wù)請求消息中的任務(wù)標(biāo)識,所述代碼修改裝置被進一步配置為在每個任務(wù)的起始代碼之前插入 用于提供所述獲得裝置的活動定義。
13. —種配置如權(quán)利要求1至4中任何一個所述的流程執(zhí)行系統(tǒng)的方 法,包括接口配置步驟,用于提供所述交互接口定義;和流程修改步驟,用于在流程定義中,在獲得^^呈請求消息的代碼之后 插入用于提供提取裝置的活動定義,并且在向服務(wù)提供方發(fā)送服務(wù)請求消 息的代碼之前插入用于提供生成裝置的活動定義,其中,所述流程定義用 于控制i^呈執(zhí)行引擎執(zhí)^5定操作。
14. 如權(quán)利要求13所述的方法,其中,所述流程執(zhí)行引擎還包括 獲得裝置,被配置為獲得導(dǎo)致服務(wù)請求的流程實例的任務(wù)的任務(wù)標(biāo)識,所述生成裝置被進一步配置為使得經(jīng)過清除的服務(wù)請求消息還包含 相關(guān)任務(wù)的任務(wù)標(biāo)識,其中,所述交互接口定義被進一步配置為使得服務(wù)請求消息還包含所 述任務(wù)標(biāo)識,并且所iil良務(wù)請求處理i殳^^被進一步配置為輸出經(jīng)過清除的 服務(wù)請求消息中的任務(wù)標(biāo)識,所述代碼修改步驟還包括在每個任務(wù)的起始代碼之前插入用于提供 所述獲得裝置的活動定義。
15. —種基于流程執(zhí)行引擎的流程執(zhí)行方法,其中,所述流程執(zhí)行引 擎才艮據(jù)交互接口定義處理消息并根據(jù)流程定義執(zhí)行流程的實例,所述方法 包括流程請求處理步驟,對于所接收的用于創(chuàng)建流程實例的流程請求消 息,向所述流程請求消息添加實例標(biāo)識,并提供給流程執(zhí)行引擎,其中所述實例標(biāo)識4j唯一的;和服務(wù)請求處理步驟,對于流程執(zhí)行引擎用于向服務(wù)提供方請求服務(wù)的 服務(wù)請求消息,清除所述服務(wù)請求消息中的實例標(biāo)識,以便傳i^服務(wù)提 供方,其中,所述處理消息包括提取步驟,從流程請求消息中提取實例標(biāo)識,并且在流程實例中存儲 所提取的實例標(biāo)識;和生成步驟,響應(yīng)于流程實例的服務(wù)請求,將相關(guān)實例標(biāo)識拷貝到服務(wù) 請求消息中,其中,所述交互接口定義被配置為使得流程請求消息和服務(wù)請求消息 包含所述實例標(biāo)識,并且所述服務(wù)請求處理步驟還包括輸出所清除的實例標(biāo)識o
16. 如權(quán)利要求15所述的流程執(zhí)行方法,其中,所iil艮務(wù)請求處理 步驟還包括在傳送經(jīng)過清除的服務(wù)請求消息到服務(wù)提供方之前進行所述 實例標(biāo)識的輸出,并且響應(yīng)于指示繼續(xù)的輸入,允許將經(jīng)過清除的服務(wù)請 求消息傳送到服務(wù)提供方。
17. 如權(quán)利要求15所述的流程執(zhí)行方法,其中,所述流程請求處理 步驟還包括輸出流程請求消息中的被請求流程標(biāo)識,并且接收作為響應(yīng)的 輸入以作為所述添加的實例標(biāo)識。
18. 如權(quán)利要求15至17中任何一個所述的流程執(zhí)行方法,其中,所 述處理消息還包括獲得步驟,用于獲得導(dǎo)致服務(wù)請求的流程實例的任務(wù)的任務(wù)標(biāo)識,所述生成步驟還包括使得經(jīng)過清除的服務(wù)請求消息還包含相關(guān)任務(wù) 的任務(wù)標(biāo)識,其中,所述交互接口定義被進一步配置為使得服務(wù)請求消息還包含所 述任務(wù)標(biāo)識,并且所iii艮務(wù)請求處理步M包括輸出經(jīng)過清除的服務(wù)請求 消息中的任務(wù)標(biāo)識。
19. 如權(quán)利要求15所述的流程執(zhí)行方法,其中,所述流程請求處理 步驟或服務(wù)請求處理步驟還包括響應(yīng)流程實例的結(jié)束輸出相應(yīng)實例標(biāo)識 和結(jié)束指示。
20.如權(quán)利要求16或18所述的流程執(zhí)行方法,還包括響應(yīng)所述服務(wù) 請求處理步驟的所述輸出,根據(jù)預(yù)定調(diào)度策^供所述指示繼續(xù)的輸入。
全文摘要
流程執(zhí)行方法、流程執(zhí)行系統(tǒng)及其配置設(shè)備和方法。流程執(zhí)行系統(tǒng)包含流程執(zhí)行引擎,根據(jù)交互接口定義處理消息并根據(jù)流程定義執(zhí)行流程的實例;流程請求處理設(shè)備,向流程請求消息添加唯一實例標(biāo)識并提供給流程執(zhí)行引擎;和服務(wù)請求處理設(shè)備,清除服務(wù)請求消息中的實例標(biāo)識,以便傳送給服務(wù)提供方;流程執(zhí)行引擎包括提取裝置,從流程請求消息中提取實例標(biāo)識,在流程實例中存儲實例標(biāo)識;和生成裝置,響應(yīng)于流程實例的服務(wù)請求,將相關(guān)實例標(biāo)識拷貝到服務(wù)請求消息中,交互接口定義使得流程請求消息和服務(wù)請求消息包含實例標(biāo)識,服務(wù)請求處理設(shè)備還輸出服務(wù)請求消息中的實例標(biāo)識。
文檔編號H04L29/06GK101640667SQ20081012999
公開日2010年2月3日 申請日期2008年7月30日 優(yōu)先權(quán)日2008年7月30日
發(fā)明者晨 王, 田啟明, 凌 金, 陳曉艷 申請人:國際商業(yè)機器公司