專利名稱:表現(xiàn)業(yè)務(wù)流程的服務(wù)關(guān)系的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及改進(jìn)的數(shù)據(jù)處理系統(tǒng),具體地說,涉及產(chǎn)生本體模型的方法。更具體地說,本發(fā)明提供一種按照便于業(yè)務(wù)流程的有效修改,適配或變換的方式表現(xiàn)本體的機(jī)制。
背景技術(shù):
企業(yè)系統(tǒng)正在逐漸集成各種業(yè)務(wù)系統(tǒng)和流程,以便于各種軟件系統(tǒng)之間的數(shù)據(jù)協(xié)作。業(yè)務(wù)流程(business process)可用專有軟件語言來實(shí)現(xiàn),或者可利用工業(yè)標(biāo)準(zhǔn)語言,例如業(yè)務(wù)流程執(zhí)行語言(BPEL)來實(shí)現(xiàn)。業(yè)務(wù)流程定義通常包括各種任務(wù)的工作流。一般來說,管理商業(yè)企業(yè)系統(tǒng)中信息的協(xié)作共享是困難的。
諸如因特網(wǎng)之類的網(wǎng)絡(luò)向地理上不同的系統(tǒng)提供與其它系統(tǒng)或個(gè)人以極低的等待時(shí)間進(jìn)行通信的能力。從前局限于企業(yè)內(nèi)部網(wǎng)的許多企業(yè)系統(tǒng)目前正被部署在因特網(wǎng)上,以便利用可用的web服務(wù)。但是,這樣做時(shí),業(yè)務(wù)流程的有效實(shí)現(xiàn)要求更加多樣的數(shù)據(jù)和系統(tǒng)的集成。從而,業(yè)務(wù)流程的有效實(shí)現(xiàn)變得更加復(fù)雜。
從而,最好提供一種便于業(yè)務(wù)流程的修改或適配(adaptation)的機(jī)制。另外最好提供一種按照便于業(yè)務(wù)流程的有效修改,適配或變換的方式表現(xiàn)(represent)本體的機(jī)制。
發(fā)明內(nèi)容
本發(fā)明提供一種表示業(yè)務(wù)流程的服務(wù)關(guān)系的方法,計(jì)算機(jī)程序產(chǎn)品和數(shù)據(jù)處理系統(tǒng)。讀取多個(gè)服務(wù),選擇所述多個(gè)服務(wù)中的第一和第二個(gè)服務(wù)。比較第一服務(wù)的輸出和效果與第二服務(wù)的輸入和前提。響應(yīng)所述比較,進(jìn)行評估,以確定第一服務(wù)是否與第二服務(wù)相關(guān)。相關(guān)的服務(wù)隨后可由圖表中的定向表連接起來。
在附加的權(quán)利要求中陳述了本發(fā)明特有的新特征。但是,結(jié)合附圖,參考例證實(shí)施例的下述詳細(xì)說明,將更好地理解發(fā)明本身,以及發(fā)明的優(yōu)選使用模式,其它目的和優(yōu)點(diǎn),其中圖1表示其中可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò);圖2是根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,可被實(shí)現(xiàn)成服務(wù)器的數(shù)據(jù)處理系統(tǒng)的方框圖;圖3是圖解說明可被實(shí)現(xiàn)成其中可實(shí)現(xiàn)本發(fā)明的網(wǎng)絡(luò)中的客戶機(jī)的數(shù)據(jù)處理系統(tǒng)的方框圖;圖4是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的業(yè)務(wù)流程結(jié)構(gòu)的示意圖;圖5是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的業(yè)務(wù)流程流選擇例程的流程圖;圖6是根據(jù)本發(fā)明的優(yōu)選實(shí)施例構(gòu)成的服務(wù)的示意圖;圖7是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,實(shí)現(xiàn)成便于本體模型的產(chǎn)生的封裝SVO的一組服務(wù)的示意圖;圖8是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,實(shí)現(xiàn)成由本體數(shù)據(jù)產(chǎn)生的定向圖的本體模型的示意圖;圖9是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,由本體監(jiān)視代理執(zhí)行的本體模型產(chǎn)生過程的流程圖;圖10是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,由本體數(shù)據(jù)以定向圖的形式產(chǎn)生的本體模型的示意圖。
具體實(shí)施例方式
現(xiàn)在參見附圖,圖1描述了其中可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是其中可實(shí)現(xiàn)本發(fā)明的計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100包含網(wǎng)絡(luò)102,網(wǎng)絡(luò)102是用于提供在網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100內(nèi)連接在一起的各種設(shè)備和計(jì)算機(jī)之間的通信鏈路的媒介。網(wǎng)絡(luò)102可包括連接,例如有線、無線通信鏈路,或者光纜。
在所示例子中,服務(wù)器104連同存儲單元106一起與網(wǎng)絡(luò)102連接。另外,客戶機(jī)108、110和112與網(wǎng)絡(luò)102連接。這些客戶機(jī)108、110和112可以是例如個(gè)人計(jì)算機(jī)或網(wǎng)絡(luò)計(jì)算機(jī)。在所示例子中,服務(wù)器104向客戶機(jī)108-112提供數(shù)據(jù),例如引導(dǎo)文件,操作系統(tǒng)鏡像和應(yīng)用(application)??蛻魴C(jī)108、110和112是服務(wù)器104的客戶機(jī)。網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100可包括未示出的另外的服務(wù)器、客戶機(jī)和其它設(shè)備。在所示例子中,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100是因特網(wǎng),網(wǎng)絡(luò)102代表使用傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)協(xié)議組相互通信的網(wǎng)絡(luò)和網(wǎng)關(guān)的全球集合。因特網(wǎng)的核心是由成千上萬的發(fā)送數(shù)據(jù)和消息的商業(yè)、政府、教育和其它計(jì)算機(jī)系統(tǒng)組成的主節(jié)點(diǎn)或主計(jì)算機(jī)之間的高速數(shù)據(jù)通信線路的主干網(wǎng)。當(dāng)然,網(wǎng)絡(luò)數(shù)據(jù)處理系統(tǒng)100也可被實(shí)現(xiàn)成許多不同類型的網(wǎng)絡(luò),例如企業(yè)內(nèi)部網(wǎng),局域網(wǎng)(LAN)或者廣域網(wǎng)(WAN)。圖1只是一個(gè)例子,并不是對本發(fā)明的結(jié)構(gòu)限制。
參見圖2,根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,描述了可被實(shí)現(xiàn)成服務(wù)器,例如圖1中的服務(wù)器104的數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)200可以是對稱的多處理器(SMP)系統(tǒng),包括與系統(tǒng)總線206連接的多個(gè)處理器202和204。另一方面,可以采用單處理器系統(tǒng)。存儲器控制器/高速緩沖存儲器208也與系統(tǒng)總線206連接,存儲器控制器/高速緩沖存儲器208提供到本地存儲器209的接口。I/O總線橋210與系統(tǒng)總線206連接,提供到I/O總線212的接口。存儲器控制器/高速緩沖存儲器208和I/O總線橋210可如圖所示被集成。
與I/O總線212連接的外設(shè)部件互連(PCI)總線橋214提供到PCI局部總線216的接口。許多調(diào)制解調(diào)器可與PCI局部總線216連接。典型的PCI總線實(shí)現(xiàn)將支持四個(gè)PCI擴(kuò)展插槽或者內(nèi)插連接器。通過經(jīng)內(nèi)插連接器與PCI局部總線216連接的調(diào)制解調(diào)器218和網(wǎng)絡(luò)適配器220,可提供到圖1中的客戶機(jī)108-112的通信鏈路。
附加的PCI總線橋222和224向附加的PCI局部總線226和228提供接口,從所述附加的PCI局部總線226和228可支持附加的調(diào)制解調(diào)器或網(wǎng)絡(luò)適配器。按照這種方式,數(shù)據(jù)處理系統(tǒng)200允許連接到多個(gè)網(wǎng)絡(luò)計(jì)算機(jī)。存儲映射圖形適配器230和硬盤232也如圖所示,直接地或者間接地與I/O總線212連接。
本領(lǐng)域的普通技術(shù)人員會認(rèn)識到圖2中描述的硬件可發(fā)生變化。例如,除了所示硬件之外或者代替所示硬件,也可使用其它外設(shè)部件,例如光盤驅(qū)動器等。所描述的例子并不意味著對本發(fā)明的結(jié)構(gòu)限制。
圖2中所示的數(shù)據(jù)處理系統(tǒng)可以是,例如運(yùn)行先進(jìn)交互執(zhí)行程序(AIX)操作系統(tǒng)或LINUX操作系統(tǒng)的IBM eServer pSeries系統(tǒng)(Armonk,New York的國際商用機(jī)器公司的產(chǎn)品)。
現(xiàn)在參見圖3,描述了其中可實(shí)現(xiàn)本發(fā)明的數(shù)據(jù)處理系統(tǒng)的方框圖。數(shù)據(jù)處理系統(tǒng)300是客戶機(jī)計(jì)算機(jī)的一個(gè)例子。數(shù)據(jù)處理系統(tǒng)300采用外設(shè)部件互連(PCI)局部總線體系結(jié)構(gòu)。雖然描述的例子采用PCI總線,不過也可使用其它總線體系結(jié)構(gòu),例如加速圖形端口(AGP)和工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)。處理器302和主存儲器304通過PCI橋308與PCI局部總線306連接。PCI橋308還可包括用于處理器302的集成存儲器控制器和高速緩沖存儲器。通過直接組件互連或者通過內(nèi)插板(add-inboard),能夠?qū)崿F(xiàn)到PCI局部總線306的附加連接。在所示例子中,局域網(wǎng)(LAN)適配器310,SCSI主總線適配器312和擴(kuò)展總線接口314通過直接組件連接與PCI局部總線306連接。相反,音頻適配器316,圖形適配器318和音頻/視頻適配器319通過插入擴(kuò)展插槽中的內(nèi)插板與PCI局部總線306連接。擴(kuò)展總線接口314為鍵盤和鼠標(biāo)適配器320,調(diào)制解調(diào)器322和附加存儲器324提供連接。小型計(jì)算機(jī)系統(tǒng)接口(SCSI)主總線適配器312為硬盤驅(qū)動器326,磁帶驅(qū)動器328和CD-ROM驅(qū)動器330提供連接。典型的PCI局部總線實(shí)現(xiàn)將支持三個(gè)或四個(gè)PCI擴(kuò)展插槽或內(nèi)插連接器。
操作系統(tǒng)在處理器302上運(yùn)行,用于協(xié)調(diào)并提供圖3中的數(shù)據(jù)處理系統(tǒng)300內(nèi)的各種組件的控制。操作系統(tǒng)可以是可從市場上獲得的操作系統(tǒng),例如Windows XP(它可從Microsoft公司獲得)。面向?qū)ο蟮木幊滔到y(tǒng),例如Java可以和操作系統(tǒng)一起運(yùn)行,并提供從在數(shù)據(jù)處理系統(tǒng)300上執(zhí)行的Java程序或應(yīng)用對操作系統(tǒng)的調(diào)用。“Java”是太陽微系統(tǒng)的商標(biāo)。操作系統(tǒng)、面向?qū)ο蟮木幊滔到y(tǒng)和應(yīng)用或程序用指令存在于存儲裝置,例如硬盤驅(qū)動器326上,并且可被裝入主存儲器304,以便由處理器302執(zhí)行。
本領(lǐng)域的普通技術(shù)人員會認(rèn)識到圖3中的硬件可根據(jù)實(shí)現(xiàn)而變化。除了圖3中所示的硬件之外或者代替圖3中所示的例子,可以使用其它內(nèi)部硬件或外圍裝置,例如閃速只讀存儲器(ROM),等同的非易失性存儲器或者光盤驅(qū)動器等。另外,本發(fā)明的進(jìn)程可被應(yīng)用于多處理器數(shù)據(jù)處理系統(tǒng)。作為另一例子,數(shù)據(jù)處理系統(tǒng)300可以是配置成能夠不依賴于某一類型的網(wǎng)絡(luò)通信接口而引導(dǎo)的獨(dú)立系統(tǒng)。圖3中描述的例子和上述例子并不意味著對結(jié)構(gòu)的限制。例如,數(shù)據(jù)處理系統(tǒng)300也可以是筆記本計(jì)算機(jī)或手持式計(jì)算機(jī)。數(shù)據(jù)處理系統(tǒng)300也可以是信息亭或Web設(shè)備。
根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例,業(yè)務(wù)流程可被有效適配或變換。業(yè)務(wù)流程可由例如BPEL模板表現(xiàn)。對照業(yè)務(wù)流程模板映射源于本體(ontology)的本體模型。本體模型可由未與從其得到本體模型的本體數(shù)據(jù)一起包含的運(yùn)行時(shí)的上下文信息修改。對本體模型應(yīng)用處理算法,以選擇業(yè)務(wù)流程的優(yōu)選服務(wù)。特別地,業(yè)務(wù)流程包括多種不同的子流程集合(sub-process set)。通過對照業(yè)務(wù)流程模板映射源于本體儲存器的本體模型,從不同的子流程集合產(chǎn)生修改的業(yè)務(wù)流程,該修改的業(yè)務(wù)流程包括分別選擇以供執(zhí)行的許多子流程或服務(wù)。特定子流程變型的選擇以產(chǎn)生的本體模型為基礎(chǔ)。從而,執(zhí)行“修改的”業(yè)務(wù)流程,該業(yè)務(wù)流程包含選自子流程變型集合的一個(gè)或多個(gè)子流程。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,提供一種便于以其它方式模擬業(yè)務(wù)流程的適配、變換的有效利用的表現(xiàn)本體,例如關(guān)系的機(jī)制。具體地說,本發(fā)明提供表現(xiàn)用于修改業(yè)務(wù)流程的業(yè)務(wù)服務(wù)本體的機(jī)制。按照可被用于修改BPEL模板的輕便形式封裝本體信息。
現(xiàn)在參見圖4,根據(jù)本發(fā)明的一個(gè)優(yōu)選實(shí)施例表示了業(yè)務(wù)流程結(jié)構(gòu)的示意圖。業(yè)務(wù)流程401包含專有軟件語言應(yīng)用或者各種集成應(yīng)用,或者可利用工業(yè)標(biāo)準(zhǔn)語言,例如業(yè)務(wù)流程執(zhí)行語言(BPEL)來實(shí)現(xiàn)。業(yè)務(wù)流程401定義一般包括實(shí)現(xiàn)企業(yè)流程的各種任務(wù)的工作流。業(yè)務(wù)流程401可利用便于執(zhí)行一個(gè)或多個(gè)業(yè)務(wù)流程的與平臺無關(guān)的標(biāo)準(zhǔn),例如XML來實(shí)現(xiàn)。業(yè)務(wù)流程401定義比將在業(yè)務(wù)流程的執(zhí)行過程中執(zhí)行的工作流更多的工作流,即子流程。在舉例說明的例子中,業(yè)務(wù)流程401包含分別定義服務(wù)工作流的各種子流程410a-412c或者服務(wù)。子流程變型集合的子流程定義以某種方式,例如所需的輸入,產(chǎn)生的輸出,服務(wù)作用于的數(shù)據(jù)格式等相互偏離的相關(guān)服務(wù)。在舉例說明的例子中,表示了分別包含子流程410a-410c,411a-411c和412a-412c的三個(gè)子流程變型集合410-412。
在業(yè)務(wù)流程401的任意指定執(zhí)行周期,在某一子流程變型集合的其它子流程不被執(zhí)行的時(shí)候,可執(zhí)行相同子流程變型集合的某一子流程??梢罁?jù)各種環(huán)境數(shù)據(jù),上下文數(shù)據(jù)或者其它數(shù)據(jù),選擇供執(zhí)行的特定子流程。例如,由于成本約束,等待時(shí)間約束,各種性能標(biāo)準(zhǔn),或者可定義的,并且對照其能夠?qū)崿F(xiàn)業(yè)務(wù)子流程的評估的任何其它適當(dāng)?shù)沫h(huán)境或上下文數(shù)據(jù)的緣故,可優(yōu)先于某一子流程變型集合中的其它子流程,選擇相同子流程變型集合中的某一子流程。
本體儲存器402定義各種業(yè)務(wù)子流程,例如業(yè)務(wù)流程401的子流程之間交互作用所需的本體的關(guān)系(例如諸如所需的輸入/輸出)。本體監(jiān)視代理404從本體儲存器402讀取本體數(shù)據(jù),并根據(jù)其產(chǎn)生本體模型406。最好,本體模型406包含在本體儲存器402中定義的本體的輕便表示法。本體模型406被映射到業(yè)務(wù)流程401,以便由本體執(zhí)行模塊407在運(yùn)行時(shí)修改業(yè)務(wù)流程401(或者其子流程)。本體執(zhí)行模塊讀取業(yè)務(wù)流程401和上下文或環(huán)境數(shù)據(jù)408,并由此產(chǎn)生修改的本體模型409。因此,本體執(zhí)行模塊407可響應(yīng)上下文或環(huán)境數(shù)據(jù)408的改變,在運(yùn)行時(shí)對修改的本體模型409產(chǎn)生動態(tài)修改。修改的本體模型隨后被提供給一個(gè)或多個(gè)評估算法418,以便選擇業(yè)務(wù)子流程。狀態(tài)儲存器425可記錄不同子流程的狀態(tài)數(shù)據(jù),以便于檢測響應(yīng)模型420的實(shí)現(xiàn),如下更充分所述。修改的業(yè)務(wù)流程403產(chǎn)生自評估算法。如同這里所指,修改的業(yè)務(wù)流程包含業(yè)務(wù)流程的子流程,其中該業(yè)務(wù)流程的一個(gè)或多個(gè)子流程選自子流程變型集合。在舉例說明的例子中,通過把本體模型406映射到業(yè)務(wù)流程401產(chǎn)生的修改的業(yè)務(wù)流程包含服務(wù)410a、411c和412b。
現(xiàn)在參見圖5,根據(jù)本發(fā)明的優(yōu)選實(shí)施例表示了業(yè)務(wù)流程流選擇例程的流程圖。業(yè)務(wù)流程流選擇例程最好被實(shí)現(xiàn)成可從存儲器裝置取出,并由處理單元,例如圖2中所示的處理器202執(zhí)行的一個(gè)或多個(gè)指令集。通過從圖4中所示的本體儲存器(store)402讀取本體數(shù)據(jù)(步驟502)開始該例程。隨后根據(jù)從本體儲存器讀取的本體數(shù)據(jù)產(chǎn)生本體模型(步驟504)。例如,可以定向圖的形式產(chǎn)生本體模型。本體模型可由上下文數(shù)據(jù),環(huán)境數(shù)據(jù)或其它數(shù)據(jù)修改(步驟505)。本體模型隨后被映射到業(yè)務(wù)流程(步驟506)。隨后根據(jù)映射到業(yè)務(wù)流程的本體數(shù)據(jù)的結(jié)果,選擇供執(zhí)行的業(yè)務(wù)流程的子流程(步驟508),隨后結(jié)束業(yè)務(wù)流程流選擇例程(步驟510)。
圖5中所示的處理步驟可由位于網(wǎng)絡(luò)中的中央位置的一個(gè)或多個(gè)不同模塊或應(yīng)用執(zhí)行,或者它們可由分布在數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)中的不同處理節(jié)點(diǎn)的一個(gè)或多個(gè)模塊或應(yīng)用執(zhí)行。例如,如同步驟502和504中說明的讀取本體數(shù)據(jù),并根據(jù)本體數(shù)據(jù)產(chǎn)生本體模型的任務(wù)可由圖4中所示的本體監(jiān)視代理404執(zhí)行。本體監(jiān)視代理可被實(shí)現(xiàn)成由保存或連接本體儲存器402的數(shù)據(jù)處理系統(tǒng)的處理器執(zhí)行的一組指令。選擇業(yè)務(wù)流程的子流程的任務(wù)可由實(shí)現(xiàn)成由部署在網(wǎng)絡(luò)中的另一數(shù)據(jù)處理系統(tǒng)的處理器執(zhí)行的一組指令的評估算法執(zhí)行。
根據(jù)本發(fā)明的優(yōu)選實(shí)施例,最好以源于保存在本體儲存器402中的本體的輕便模型的形式,產(chǎn)生本體模型406。更具體地說,輕便模型406提供按照便于BPEL模板,例如業(yè)務(wù)流程401或其子流程的修改的方式,封裝本體信息,比如關(guān)于服務(wù)和業(yè)務(wù)流程的信息,或者向業(yè)務(wù)流程建模應(yīng)用提供諸如表示法之類的輸入的機(jī)制。
本體模型406可被實(shí)現(xiàn)成表現(xiàn)業(yè)務(wù)流程,例如圖4中所示的業(yè)務(wù)流程401的定向圖。產(chǎn)生的定向圖的節(jié)點(diǎn)表示服務(wù),定向圖的定向邊(directed edge)或鏈接連接相關(guān)的服務(wù)。鏈接可被加權(quán),從而提供通過定向圖的優(yōu)選路徑,即優(yōu)選服務(wù)的指示。從而,通過利用智能代理來遍歷實(shí)現(xiàn)成定向圖的本體模型確定業(yè)務(wù)流程的優(yōu)選服務(wù)或子流程。
服務(wù),例如圖4中所示的業(yè)務(wù)子流程410a可被定義成包含主語,謂語和賓語(SVO)的一組事實(shí)-也稱為資源描述框架(RDF)三元組的實(shí)體。一組SVO可以圖形的形式表現(xiàn)。圖6是根據(jù)本發(fā)明的優(yōu)選實(shí)施例構(gòu)成的服務(wù)的示意圖。服務(wù)600由一組SVO 610-617定義。服務(wù)600是圖4中所示的業(yè)務(wù)流程401的子流程410a-412c之一的例子,可被封裝到具有輸入、輸出、前提(precondition)和效果的基本服務(wù)結(jié)構(gòu)(atomic service construct)中。因此如下更充分所述,包含SVO的集合的服務(wù)600可被封裝成定義本體模型的定向圖的一個(gè)節(jié)點(diǎn)。
圖7是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,被實(shí)現(xiàn)成便于本體模型的產(chǎn)生的封裝SVO的一組服務(wù)的示意圖。服務(wù)710-715分別包含一組封裝的SVO。例如,服務(wù)710包含封裝在服務(wù)結(jié)構(gòu)的SVO 720-723。每個(gè)服務(wù)720-723定義一個(gè)業(yè)務(wù)子流程,例如圖4中所示的業(yè)務(wù)流程401的業(yè)務(wù)子流程410a-412c之一。一個(gè)服務(wù),例如服務(wù)710的輸出和效果被實(shí)現(xiàn),以便與該服務(wù)可與之鏈接的另一服務(wù)的輸入和前提兼容。即,一個(gè)服務(wù)的輸出和效果必須描述和另一服務(wù)的輸入和前提相同的概念,如果這兩個(gè)服務(wù)將被聯(lián)系起來的話。
圖8是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,被實(shí)現(xiàn)成由本體數(shù)據(jù)產(chǎn)生的定向圖的本體模型的示意圖。本體數(shù)據(jù)800是保存在圖4中所示的本體儲存器402中的本體數(shù)據(jù)的一個(gè)例子。定義描述各種服務(wù)輸入,輸出,前提和效果的各種概念810-815。封裝的服務(wù)820-823被定義為一組SVO,并且類似于圖6中所示的服務(wù)600被分別格式化。即,每個(gè)服務(wù)820-823包含一組SVO。封裝的服務(wù)820-823可被保存在圖4中所示的本體儲存器402中。
智能代理,比如圖4中所示的本體監(jiān)視代理404讀取已被定義并且保存在本體儲存器402中的服務(wù)的SVO集合。在舉例說明的例子中,圖4中所示的本體監(jiān)視代理404讀取服務(wù)820-823的每個(gè)SVO。例如,本體監(jiān)視代理404可根據(jù)SVO命名空間,依據(jù)服務(wù)SVO集合的標(biāo)識,識別特定服務(wù)的SVO。例如,本體監(jiān)視代理404可依據(jù)分配給SVO820a-820d的公共命名空間,把SVO 820a-820d識別成屬于服務(wù)820。按照類似的方式,本體監(jiān)視代理404分別把SVO 821a-821d--823a-823d識別成屬于服務(wù)821-823。
響應(yīng)讀取服務(wù)820-823,本體監(jiān)視代理通過組裝服務(wù)820-823之間的鏈接,根據(jù)概念810-815和服務(wù)820-823,產(chǎn)生定向圖850。對于要被鏈接的服務(wù),第一服務(wù)的輸出必須描述和第二服務(wù)的輸入相同的概念,第一服務(wù)的效果必須描述和第二服務(wù)的前提相同的概念。在舉例說明的例子中,本體監(jiān)視代理把服務(wù)820的輸出評估為描述概念810,把服務(wù)820的效果評估為描述概念812。本體監(jiān)視代理隨后評估其它服務(wù),以確定服務(wù)820是否可與任何其它可用服務(wù)鏈接。例如,本體監(jiān)視代理把服務(wù)821的輸入評估為描述概念810,把服務(wù)821的前提評估為描述概念812。由于服務(wù)821的輸入描述概念810,服務(wù)821的前提描述概念812,因此通過連接服務(wù)820和821,裝配鏈接,例如定向邊830。特別地,服務(wù)820被鏈接成服務(wù)821的源節(jié)點(diǎn),如連接服務(wù)820與服務(wù)821的定向邊830的箭頭所示。這種情況下,服務(wù)821是包含服務(wù)820和821的節(jié)點(diǎn)對的目的地節(jié)點(diǎn)。其它服務(wù)822和823可被類似地評估,以確定它們是否可與服務(wù)820鏈接。
其輸出和效果與另一服務(wù)的輸入和前提之間不具有對應(yīng)性的服務(wù)不被鏈接。例如,本體監(jiān)視代理分別把服務(wù)822的輸入和前提評估為描述概念813和814。本體監(jiān)視代理把服務(wù)823的效果和輸出評估為描述概念814和815。從而,服務(wù)822不可作為源節(jié)點(diǎn)與服務(wù)823鏈接。
圖9是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,由本體監(jiān)視代理執(zhí)行的本體模型產(chǎn)生過程的流程圖。本體監(jiān)視代理最好被實(shí)現(xiàn)成從存儲器取出并由處理單元,例如圖2中所示的處理器202執(zhí)行的一組計(jì)算機(jī)可執(zhí)行指令。
本體模型產(chǎn)生過程被調(diào)用,服務(wù)集合由本體監(jiān)視代理讀取(步驟902)。所述服務(wù)集合包含一組服務(wù),例如圖中所示的服務(wù)820-823,每個(gè)服務(wù)分別包含一組SVO。本體監(jiān)視代理隨后選擇服務(wù)集合中的節(jié)點(diǎn)之一作為當(dāng)前的源節(jié)點(diǎn)(步驟904)。
不同于當(dāng)前源節(jié)點(diǎn)的另一節(jié)點(diǎn)隨后被本體監(jiān)視代理選為當(dāng)前的目的地節(jié)點(diǎn)(步驟906)。隨后進(jìn)行評估,以確定當(dāng)前源節(jié)點(diǎn)的輸出概念是否對應(yīng)于當(dāng)前目的地節(jié)點(diǎn)的輸入概念(步驟908)。如果當(dāng)前源節(jié)點(diǎn)的輸出概念不對應(yīng)于當(dāng)前目的地節(jié)點(diǎn)的輸入概念,那么本體監(jiān)視代理著手確定任何其它節(jié)點(diǎn)是否有待于被評估成當(dāng)前選擇的源節(jié)點(diǎn)的目的地節(jié)點(diǎn)(步驟914)。
再次返回步驟908,如果當(dāng)前源節(jié)點(diǎn)的輸出概念對應(yīng)于當(dāng)前目的地節(jié)點(diǎn)的輸入概念,那么本體監(jiān)視代理隨后評估當(dāng)前源節(jié)點(diǎn)的效果概念,以確定它是否對應(yīng)于當(dāng)前目的地節(jié)點(diǎn)的前提概念(步驟910)。如果當(dāng)前源節(jié)點(diǎn)的效果概念不對應(yīng)于當(dāng)前目的地節(jié)點(diǎn)的前提概念,那么本體監(jiān)視代理著手按照步驟914確定任何其它節(jié)點(diǎn)是否有待于被評估成當(dāng)前選擇的源節(jié)點(diǎn)的目的地節(jié)點(diǎn)。
再次返回步驟910,如果當(dāng)前源節(jié)點(diǎn)的效果概念對應(yīng)于當(dāng)前目的地節(jié)點(diǎn)的前提概念,那么本體監(jiān)視代理著手建立從當(dāng)前源節(jié)點(diǎn)到當(dāng)前目的地節(jié)點(diǎn)的鏈接(步驟912),本體監(jiān)視代理隨后著手按照步驟914確定任何其它節(jié)點(diǎn)是否有待于被評估成當(dāng)前源節(jié)點(diǎn)的目的地節(jié)點(diǎn)。
如果在步驟914,本體監(jiān)視代理確定另一節(jié)點(diǎn)有待于被評估成當(dāng)前選擇的源節(jié)點(diǎn)的目的地節(jié)點(diǎn),那么本體監(jiān)視代理返回步驟906,并選擇另一節(jié)點(diǎn)作為當(dāng)前選擇的源節(jié)點(diǎn)的目的地節(jié)點(diǎn)。如果在步驟914,本體監(jiān)視代理確定沒有其它節(jié)點(diǎn)有待于被評估成當(dāng)前源節(jié)點(diǎn)的目的地節(jié)點(diǎn),那么本體監(jiān)視代理隨后評估服務(wù)集合,以確定是否任何其它節(jié)點(diǎn)有待于被評估為源節(jié)點(diǎn)(步驟916)。如果確定另一節(jié)點(diǎn)有待于被評估成源節(jié)點(diǎn),那么本體監(jiān)視代理選擇剩余的節(jié)點(diǎn)作為當(dāng)前源節(jié)點(diǎn)(步驟918),本體監(jiān)視代理返回步驟906,選擇不同于當(dāng)前選擇的源節(jié)點(diǎn)的另一節(jié)點(diǎn),以便作為新選擇的源節(jié)點(diǎn)的目的地節(jié)點(diǎn)進(jìn)行評估。如果在步驟916,確定沒有另外的節(jié)點(diǎn)有待于被評估為源節(jié)點(diǎn),那么退出本體模型產(chǎn)生過程(步驟920)。
圖10是根據(jù)本發(fā)明的優(yōu)選實(shí)施例,根據(jù)本體數(shù)據(jù)以定向圖的形式產(chǎn)生的本體模型的示意圖。定向圖1000最好按照上面參考圖9說明的本體模型產(chǎn)生過程,由服務(wù)的本體數(shù)據(jù)產(chǎn)生。定向圖1000包含實(shí)現(xiàn)成節(jié)點(diǎn)的服務(wù)和表現(xiàn)為定向邊的服務(wù)間關(guān)系的本體模型。在舉例說明的例子中,服務(wù)1010-1015分別包含SVO集合。定向邊1020-1026連接相關(guān)的服務(wù)。例如,服務(wù)1010的輸出概念已被識別成對應(yīng)于服務(wù)1011和1012的輸入概念,服務(wù)1010的效果概念已被識別成對應(yīng)于服務(wù)1011和1012的前提概念。因此,服務(wù)1010與服務(wù)1011和1012相關(guān),相應(yīng)的定向邊1020和1021鏈接作為服務(wù)1011和1012的源節(jié)點(diǎn)的服務(wù)1010。
如上所述,本發(fā)明的實(shí)施例提供一種便于業(yè)務(wù)流程的適配或修改的系統(tǒng)。業(yè)務(wù)流程服務(wù)被映射到本體數(shù)據(jù),并由定向圖的節(jié)點(diǎn)表示。對照其它服務(wù)的輸入和前提評估第一服務(wù)的輸出和效果。如果第一服務(wù)的輸出和效果被識別成對應(yīng)于另一服務(wù)的輸入和前提,那么借助定向邊把第一服務(wù)鏈接到所述另一服務(wù)。從而,業(yè)務(wù)流程被表示成可被遍歷,以便識別要執(zhí)行的工作流的定向圖。
重要的是注意盡管在全功能數(shù)據(jù)處理系統(tǒng)的上下文中描述了本發(fā)明,但是本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,本發(fā)明的進(jìn)程能夠以指令的計(jì)算機(jī)可讀介質(zhì)的形式以及各種其它形式分布,無論實(shí)際用于進(jìn)行所述分布的信號承載介質(zhì)的具體類型如何,本發(fā)明都同樣適用。計(jì)算機(jī)可讀介質(zhì)的例子包括可記錄類型的介質(zhì),比如軟盤、硬盤驅(qū)動器、RAM、CD-ROM、DVD-ROM,以及傳輸類型的介質(zhì),比如數(shù)字和模擬通信鏈路,使用諸如射頻和光波傳輸?shù)葌鬏斝问降挠芯€或者無線通信鏈路。計(jì)算機(jī)可讀介質(zhì)可以采用編碼格式的形式,所述編碼格式被解碼以實(shí)際用于具體的數(shù)據(jù)處理系統(tǒng)。
上面出于舉例說明的目的,描述了本發(fā)明,并不是要窮盡本發(fā)明或者將本發(fā)明限于所公開的形式。對于本領(lǐng)域普通技術(shù)人員來說,許多修改和變化是顯而易見的。上述實(shí)施例的選擇和描述是為了更好地解釋本發(fā)明的原理及其實(shí)際應(yīng)用,并使本領(lǐng)域的普通技術(shù)人員能夠理解本發(fā)明的針對所能想到的具體用途進(jìn)行各種適當(dāng)修改的各種實(shí)施例。
權(quán)利要求
1.一種表現(xiàn)業(yè)務(wù)流程的服務(wù)關(guān)系的方法,所述方法包括計(jì)算機(jī)實(shí)現(xiàn)的下述步驟讀取多個(gè)服務(wù);響應(yīng)讀取多個(gè)服務(wù),選擇所述多個(gè)服務(wù)中的第一服務(wù);響應(yīng)選擇第一服務(wù),選擇所述多個(gè)服務(wù)中的第二服務(wù);分別比較第一服務(wù)的輸出和效果與第二服務(wù)的輸入和前提;和響應(yīng)比較步驟,確定第一服務(wù)是否與第二服務(wù)相關(guān)。
2.按照權(quán)利要求1所述的方法,其中所述多個(gè)服務(wù)中的每一個(gè)被分別定義成資源描述框架三元組。
3.按照權(quán)利要求1所述的方法,還包括響應(yīng)確定第一服務(wù)與第二服務(wù)相關(guān),鏈接第一服務(wù)與第二服務(wù)。
4.按照權(quán)利要求3所述的方法,其中由定向圖中連接第一服務(wù)與第二服務(wù)的定向邊鏈接第一服務(wù)與第二服務(wù)。
5.按照權(quán)利要求3所述的方法,其中第一服務(wù)被鏈接為定向圖中的源節(jié)點(diǎn),第二服務(wù)被鏈接為定向圖中的目的地節(jié)點(diǎn)。
6.按照權(quán)利要求1所述的方法,其中對所述多個(gè)服務(wù)中的每一個(gè)重復(fù)選擇第二服務(wù),比較和確定的步驟。
7.按照權(quán)利要求6所述的方法,其中對所述多個(gè)服務(wù)中的每一個(gè)重復(fù)選擇第一服務(wù)的步驟。
8.一種計(jì)算機(jī)可讀介質(zhì)中用于表現(xiàn)業(yè)務(wù)流程的服務(wù)關(guān)系的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包含執(zhí)行前述方法權(quán)利要求中的任意方法的指令。
9.一種表現(xiàn)業(yè)務(wù)流程的服務(wù)關(guān)系的數(shù)據(jù)處理系統(tǒng),包含包含定義為指令的多個(gè)服務(wù),和評估所述多個(gè)服務(wù)之間的關(guān)系的一組指令的存儲器;和與存儲器互連的處理器,所述處理器響應(yīng)所述一組指令的執(zhí)行,讀取多個(gè)服務(wù),選擇所述多個(gè)服務(wù)中的第一服務(wù)和第二服務(wù),分別比較第一服務(wù)的輸出和效果與第二服務(wù)的輸入和前提,并確定第一服務(wù)是否與第二服務(wù)相關(guān)。
10.按照權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中所述多個(gè)服務(wù)中的每一個(gè)被分別定義成資源描述框架三元組。
11.按照權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中響應(yīng)確定第一服務(wù)與第二服務(wù)相關(guān),處理器鏈接第一服務(wù)與第二服務(wù)。
12.按照權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中由定向圖中連接第一服務(wù)與第二服務(wù)的定向邊鏈接第一服務(wù)與第二服務(wù)。
13.按照權(quán)利要求11所述的數(shù)據(jù)處理系統(tǒng),其中第一服務(wù)被鏈接為定向圖中的源節(jié)點(diǎn),第二服務(wù)被鏈接為定向圖中的目的地節(jié)點(diǎn)。
14.按照權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其中對所述多個(gè)服務(wù)中的每一個(gè)重復(fù)選擇第二服務(wù),比較和確定的步驟。
全文摘要
一種表現(xiàn)業(yè)務(wù)流程的服務(wù)關(guān)系的方法、計(jì)算機(jī)程序產(chǎn)品和數(shù)據(jù)處理系統(tǒng)。讀取多個(gè)服務(wù),選擇所述多個(gè)服務(wù)中的第一和第二個(gè)服務(wù)。比較第一服務(wù)的輸出和效果與第二服務(wù)的輸入和前提。響應(yīng)所述比較,進(jìn)行評估,以確定第一服務(wù)是否與第二服務(wù)相關(guān)。相關(guān)的服務(wù)隨后可由圖表中的定向表連接起來。
文檔編號G06Q10/00GK1828647SQ200610054998
公開日2006年9月6日 申請日期2006年2月27日 優(yōu)先權(quán)日2005年2月28日
發(fā)明者馬修·R.·伯格納, 貝琳達(dá)·Y.-C.·常, 羅伯特·R.·卡特利普, 凱文·葛里高林科 申請人:國際商業(yè)機(jī)器公司