專利名稱:為用戶定制服務(wù)流程的裝置和方法
技術(shù)領(lǐng)域:
本發(fā)明涉^J艮務(wù)的集成,更具體地,涉及為用戶定制服務(wù)流程的裝置 和方法。
背景技術(shù):
信息技術(shù)的發(fā)展使得越來越多的服務(wù)提供商能夠?yàn)橛脩籼峁┰絹碓截S 富而成熟的應(yīng)用服務(wù)。隨著服務(wù)內(nèi)容和種類的豐富,有時(shí)候用戶需要經(jīng)常 性地連續(xù)使用多種服務(wù)。這時(shí),就產(chǎn)生一種需求,希望將一些服務(wù)組件集 成起來,形成一種綜合月艮務(wù),按一定的流程為用戶提供一站式的服務(wù)。例 如, 一個(gè)經(jīng)常旅行的用戶往往在每次旅行時(shí)都務(wù)使用預(yù)定機(jī)票、預(yù)定酒店、 租車等服務(wù)。如果在一種綜合服務(wù)中提供機(jī)票預(yù)定-酒店預(yù)定-租車的服
務(wù)流程,用戶就不必每次分別訪問各個(gè)服務(wù)組件,只需要訪問這個(gè)綜合服 務(wù)就可以完成全部預(yù)定服務(wù),帶來極大的便利。
通常來說,服務(wù)提供商具有強(qiáng)大而專業(yè)的服務(wù)開發(fā)技術(shù),能夠提供專 業(yè)的服務(wù)。在一種情況下,綜合服務(wù)的提供商將自己提供的各種服務(wù)進(jìn)行 整合,為用戶提供一種服務(wù)流程。這時(shí),綜合服務(wù)提供商可以自己開發(fā)各 種服務(wù)組件,在其數(shù)據(jù)中心配置這些服務(wù)組件,將這些服務(wù)組件集成為綜 合服務(wù),并為這些服務(wù)的終端用戶提供強(qiáng)大的技術(shù)支持。在另一種情況下, 綜合服務(wù)提供商是不同于某些服務(wù)組件提供商的獨(dú)立提供商。這時(shí),綜合 服務(wù)提供商需要調(diào)用其他提供商提供的服務(wù)組件,將這些組件進(jìn)行整合, 并提供綜合服務(wù)的管理和技術(shù)支持。
圖1示出現(xiàn)有的綜合服務(wù)結(jié)構(gòu)的示意圖。在圖中,服務(wù)組件A, B和 C是由服務(wù)提供商提供的專用服務(wù)。綜合服務(wù)提供了將這些服務(wù)組件A, B,和C依次連接起來的服務(wù)流程。為提供這樣的服務(wù)流程,服務(wù)集成器100包括接口A,接口B和接口C,分別用于與服務(wù)組件A, B和C交互, 調(diào)用這些服務(wù)組件。通過這些接口A, B, C,綜合服務(wù)集成器100將服務(wù) 組件A, B, C納入綜合服務(wù)的服務(wù)流程之中。圖中以虛線框示出的服務(wù) 組件A, B, C示意出通過被調(diào)用而納入到綜合服務(wù)中的服務(wù)組件。另夕卜, 服務(wù)集成器100還提供了用戶接口 110,用于與用戶實(shí)現(xiàn)交互。由此,終 端用戶通過用戶接口 110訪問該綜合服務(wù),按照綜合服務(wù)提供的服務(wù)流程, 依次使用服務(wù)組件A, B和C,從而實(shí)現(xiàn)一站式的服務(wù)。
然而,按上述方式提供的服務(wù)流程仍然存在很大不足,這種不足主要 來自用戶需求的多元化。綜合服務(wù)具有大量的終端用戶,這些終端用戶具 有各種不同的服務(wù)需求。例如,對于提供管理服務(wù)的綜合服務(wù)提供商來說, 其終端用戶往往是不同企業(yè)的系統(tǒng)管理員。系統(tǒng)管理員面對的是自己企業(yè) 的IT架構(gòu),因此會(huì)要求提供商所提供的服務(wù)流程能夠滿足自己IT架構(gòu)的 特定需求,例如管理IT平臺,進(jìn)行補(bǔ)丁升級等。而這對于服務(wù)提供商來說 幾乎是不可能的,因?yàn)檫@就要求服務(wù)提供商能夠處理每種可能的情形下在 每種可能的平臺上的管理服務(wù)。事實(shí)上,面對上百種硬件平臺,每種硬件 平臺上可能又有上千種補(bǔ)丁級,為每種情形分別提供服務(wù)流程對月良務(wù)提供 商來說是不切實(shí)際的。
相比于服務(wù)提供商一側(cè)提供的服務(wù)集成方式,終端用戶 一側(cè)所期望的 集成方式明顯更為靈活。然而在大多數(shù)情況下,各個(gè)服務(wù)組件的源代碼駐 留在提供商的服務(wù)器上,終端用戶沒有權(quán)限訪問這些源代碼,也沒有權(quán)限 更改各個(gè)服務(wù)組件。圖1的服務(wù)集成器100中用于與各服務(wù)組件交互的接 口 A, B, C也沒有暴露給終端用戶,因此終端用戶也不可能通過修改這 些接口來修改或定制服務(wù)流程。并且,大多數(shù)終端用戶在服務(wù)集成的專業(yè) 領(lǐng)域不可能4象月艮務(wù)提供商那樣專業(yè)。因此,終端用戶不太可能自己構(gòu)建一 個(gè)新的服務(wù)流程并進(jìn)行測試和調(diào)試。此外,在同一服務(wù)領(lǐng)域,服務(wù)流程是 大致相同的。例如,補(bǔ)丁管理的服務(wù)流程通常包括硬件平臺識別、^作 系統(tǒng)識別、當(dāng)前補(bǔ)丁級的檢測、補(bǔ)丁沖突性^以及新補(bǔ)丁的更新和安裝 等步驟。對于不同的硬件平臺,管理服務(wù)流程本身并沒有不同,不同的是用于特定的硬件和軟件平臺的服務(wù)組件。因此,在大多數(shù)情況下,用戶也 并不需要重新構(gòu)建整個(gè)服務(wù)流程,只需要根據(jù)特定需求更換一些服務(wù)組件 就可以滿足要求。加上終端用戶本身專業(yè)技能的局限,在綜合服務(wù)中最為 實(shí)際的需求就是能夠使得不具備專業(yè)知識的終端用戶能夠自己定制服務(wù)流 程,更具體地,主要是更換服務(wù)流程中的部分服務(wù)組件。因此,期望提供 一種裝置和方法,使得終端用戶能夠?qū)崿F(xiàn)自己定制和^^J艮務(wù)流程。
發(fā)明內(nèi)容
考慮到上述問題和目的,本發(fā)明提供了為用戶定制服務(wù)流程的裝置和 方法。
根據(jù)本發(fā)明第一方面,提供一種為用戶定制服務(wù)流程的裝置,其中所 述服務(wù)流程由至少一個(gè)服務(wù)組件構(gòu)成,所述裝置包括定制接口和至少 一個(gè) 連接接口,其中所述定制接口與所述至少一個(gè)連接接口相連,被配置為接 收定制信息,并將其傳送至所述至少一個(gè)連接接口,其中所述定制信息是
通過識別用戶的定制行為,根據(jù)該定制行為而產(chǎn)生的;所述至少一個(gè)連接 接口與所述至少一個(gè)服務(wù)組件相連,被配置為根據(jù)所述定制信息修改所述 服務(wù)流程。
根據(jù)本發(fā)明第二方面,提供一種定制單元,包括行為識別模塊,被 配置為識別用戶的定制行為;定制信息產(chǎn)生才莫塊,;陂配置為才艮據(jù)上述定制 行為產(chǎn)生定制信息;以及傳送模塊,被配置為至少傳送所述定制信息。
根據(jù)本發(fā)明第三方面,提供一種為用戶定制服務(wù)流程的方法,其中所 述服務(wù)流程由至少一個(gè)服務(wù)組件構(gòu)成,所述方法包括接收定制信息,其 中所述定制信息是通過識別用戶的定制行為,根據(jù)該定制行為而產(chǎn)生的; 以及根據(jù)所述定制信息修改所述服務(wù)流程。
根據(jù)本發(fā)明第四方面,提供一種定制方法,包括識別用戶的定制行 為;根據(jù)上述定制行為產(chǎn)生定制信息;以及傳送所述定制信息。
利用本發(fā)明的裝置和方法,不具有專業(yè)技能的終端用戶可以通過筒單 直觀的定制行為發(fā)出定制指令,從而修改服務(wù)流程,使得服務(wù)流程滿足不同的需求。
圖1示出現(xiàn)有的綜合服務(wù)結(jié)構(gòu)的示意圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的實(shí)現(xiàn)服務(wù)流程定制的系統(tǒng)的結(jié)構(gòu)示意
圖3示出才艮據(jù)本發(fā)明一個(gè)實(shí)施例的定制單元的結(jié)構(gòu)示意圖4示出根據(jù)本發(fā)明實(shí)施例的定制方法的流程圖5示出圖4中步驟405的子步驟示意圖;以及
圖6示出根據(jù)本發(fā)明實(shí)施例的為用戶定制服務(wù)流程的方法示意圖。
具體實(shí)施例方式
下面結(jié)合
本發(fā)明的具體實(shí)施方式
。
圖2是根據(jù)本發(fā)明一個(gè)實(shí)施例的實(shí)現(xiàn)服務(wù)流程定制的系統(tǒng)的結(jié)構(gòu)示意 圖。如圖所示,服務(wù)集成器220與定制單元210相連,用于實(shí)現(xiàn)服務(wù)組件 的集成和服務(wù)流程的定制。具體地,服務(wù)集成器220包括定制接口 230, 連接接口 221,連接接口 222和連接接口 223。其中,定制接口 230被配置 用于接收客戶端發(fā)出的定制信息,將其傳送給連揍接口 221-223。連M 口 221 -223與各個(gè)服務(wù)組件相連,將對應(yīng)的服務(wù)組件納入到該集成器220 提供的綜合服務(wù)流程中。此外,連接接口 221 - 223還被配置用于根據(jù)上述 定制信息修改服務(wù)流程。為了獲取上述的定制信息,定制接口 230與定制 單元210相連,其中該定制單元210主要用于棉^據(jù)用戶的定制行為產(chǎn)生上 述定制信息。在圖2所示的實(shí)施例中,服務(wù)集成器220通過連接接口 221 -223依次調(diào)用缺省的服務(wù)組件A, B和C,從而提供A-B-C的缺省服 務(wù)流程。下面具體說明在終端用戶希望修改服務(wù)流程,例如將第二步驟的 月l務(wù)組件由組件B替換成組件D的情況下,系統(tǒng)中各個(gè)單元、接口如何實(shí) 現(xiàn)這樣的修改。如前所述,現(xiàn)有技術(shù)中終端用戶自己定制服務(wù)流程的障礙之一就是終端用戶大都不是專業(yè)的技術(shù)人員,不能自己識別、修改執(zhí)行服務(wù)流程的代碼和程序。通常,終端用戶只能借助于各種圖形界面,通過鼠標(biāo)的托拽、點(diǎn)擊選擇等等簡單操作來與服務(wù)組件以及綜合服務(wù)進(jìn)行交互。為此,系統(tǒng)
提供了定制單元210,用于識別用戶的上述簡單操作,根據(jù)這樣的操作產(chǎn)生相應(yīng)的定制信息。該定制信息具有服務(wù)集成器220能夠識別的格式和編碼,以便集成器220根據(jù)該定制信息修改集成方式。
圖3示出才艮據(jù)本發(fā)明一個(gè)實(shí)施例的定制單元的結(jié)構(gòu)示意圖。如圖所示,定制單元210可以包括行為識別模塊302,被配置為識別用戶的定制行為;定制信息產(chǎn)生模塊303,被配置為根據(jù)上述定制行為產(chǎn)生定制信息;以及傳送模塊306,被配置為至少傳送所述定制信息。具體地,在一個(gè)實(shí)施例中,定制單元210提供一個(gè)圖形界面,用戶可以通過該圖形界面將一個(gè)服務(wù)組件的圖標(biāo)拖入特定區(qū)域,以此發(fā)出定制行為。例如,用戶可以將一個(gè)服務(wù)組件圖標(biāo),例如服務(wù)組件D的圖標(biāo),托拽至覆蓋服務(wù)流程中缺省的服務(wù)組件圖標(biāo),例如服務(wù)組件B的圖標(biāo),以此發(fā)出定制行為,表示希望以托拽的圖標(biāo)所代表的服務(wù)組件D替代被覆蓋的圖標(biāo)所代表的缺省服務(wù)組件B。在另一個(gè)實(shí)施例中,用戶可以通過點(diǎn)擊鼠標(biāo)右鍵啟動(dòng)服務(wù)流程選項(xiàng),并通過在選項(xiàng)中選擇特定流程或者特定服務(wù)組件來發(fā)出定制行為。 一旦接收到這樣的定制行為,行為識別模塊302就對其進(jìn)行識別,辨別出上述定制行為所涉及的服務(wù)組件。定制信息產(chǎn)生模塊303根據(jù)辨別出的定制行為,從上述涉及的服務(wù)組件中提糾目關(guān)定制信息。在一個(gè)實(shí)施例中,定制信息包括用于添加到服務(wù)流程中或者用于替代缺省服務(wù)組件的目標(biāo)服務(wù)組件的標(biāo)識。更具體地,在一個(gè)實(shí)施方案中,服務(wù)流程所包含的每個(gè)服務(wù)組件為Web應(yīng)用服務(wù),每一 Web應(yīng)用服務(wù)可通過其URL (Uniform ResourceLocator )來標(biāo)識。這時(shí),上述定制信息可包含目標(biāo)Web應(yīng)用服務(wù)的URL,以唯一地標(biāo)識出用來添加到服務(wù)流程中或者用來替換缺省服務(wù)組件的Web應(yīng)用服務(wù)。對于其他類型的服務(wù)組件,可以采用其他類型的標(biāo)識,例如IP地址,訪問路徑等,只要能將其唯一地標(biāo)識出來即可。進(jìn)一步地,定制信息還可以包括要替換的服務(wù)組件的標(biāo)識。在一個(gè)實(shí)施例中,定制信息還包括目標(biāo)服務(wù)組件的輸入?yún)?shù)、輸出參數(shù),以及要替代的服務(wù)組件的輸入?yún)?shù)、輸出參數(shù)等。本領(lǐng)域技術(shù)人員可以理解,根據(jù)服務(wù)流程和服務(wù)組件的不同,定制信息可以包含上述列舉的參數(shù)中的一種或者多種,也可以
包含更多其他的有可能需要的參數(shù)。獲得上述定制信息之后,傳送模塊306可以將定制信息傳送給圖2所示的服務(wù)集成器220。該傳送可通過現(xiàn)有技術(shù)中各種協(xié)議和傳輸方式實(shí)現(xiàn)。
可選擇地,定制單元210可以包含更多模塊,實(shí)現(xiàn)更多功能。
如圖3所示,定制單元210還可以包括服務(wù)列表產(chǎn)生模塊301,被配置用于創(chuàng)建目標(biāo)服務(wù)組件列表。目標(biāo)服務(wù)組件列表的創(chuàng)建可以使得終端用戶的定制行為更加簡單、形象。用戶可以通過簡單地從列表中選擇目標(biāo)服務(wù)組件而發(fā)出定制行為。
目標(biāo)服務(wù)組件列表的創(chuàng)建可以有多種方式。在一個(gè)實(shí)施例中,服務(wù)列表產(chǎn)生模塊301核查終端用戶一側(cè)對各種應(yīng)用服務(wù)的訪問記錄,將訪問記錄中的應(yīng)用服務(wù)加入到目標(biāo)服務(wù)組件列表中。更具體的,服務(wù)列表產(chǎn)生模塊301通過核查客戶端的緩存內(nèi)容、cookie內(nèi)容等來核查用戶的訪問記錄。如果應(yīng)用服務(wù)是Web應(yīng)用服務(wù),通常用于訪問Web應(yīng)用的瀏覽器已經(jīng)具有對訪問歷史進(jìn)行記錄的功能。因此,也可以直接調(diào)用已經(jīng)記錄的訪問歷史,來生成目標(biāo)服務(wù)組件列表。
在另 一個(gè)實(shí)施例中,服務(wù)列表產(chǎn)生模塊301通過現(xiàn)場搜索與缺省服務(wù)組件相似的服務(wù)組件來生成目標(biāo)服務(wù)組件列表。例如,在圖2的綜合服務(wù)中,缺省的服務(wù)流程為A-B-C。在用戶已經(jīng)執(zhí)行完步驟A,將要執(zhí)行B的時(shí)候,服務(wù)列表產(chǎn)生模塊301可以搜索出與服務(wù)組件B相似的服務(wù)組件,添加到目標(biāo)服務(wù)組件列表中。 一旦用戶認(rèn)為接下來將要執(zhí)行的服務(wù)B并不適合自己的需求,希望用其他服務(wù)組件代替B時(shí),就可以從與B類似的服務(wù)組件列表中選擇目標(biāo)服務(wù)組件。例如,如果服務(wù)組件B是某航空公司提供的機(jī)票預(yù)定服務(wù),那么服務(wù)列表產(chǎn)生模塊301可以搜索出其他航空公司或服務(wù)提供商提供的機(jī)票預(yù)定服務(wù),添加到目標(biāo)服務(wù)組件列表中。這時(shí)目標(biāo)服務(wù)組件列表中的服務(wù)組件與服務(wù)組件B的功能是相同或相似的,使得用戶可以更有針對性地選擇出適合替代服務(wù)組件B的目標(biāo)服務(wù)組件。
可以理解,服務(wù)列表產(chǎn)生才莫塊301還可以通過其他方式產(chǎn)生目標(biāo)服務(wù)列表,并可以以圖標(biāo)、表格等形式來呈現(xiàn)該列表,使得該列表對于用戶更為直觀。在一種實(shí)施方式中,服務(wù)列表產(chǎn)生模塊301將產(chǎn)生的列表存儲在服務(wù)組件存儲庫中,該服務(wù)組件存儲庫可設(shè)置于客戶端本地系統(tǒng)中。在另一種實(shí)施方式中,服務(wù)列表產(chǎn)生才莫塊301可以在運(yùn)行時(shí)現(xiàn)場生成目標(biāo)服務(wù)組件列表,存于客戶端緩存之中,供用戶選擇。
在一種實(shí)施方式中,定制單元210還包括定制信息記,塊304,用于記錄定制信息。具體地,定制信息記錄模塊304可以將定制信息的至少一部分寫入客戶端cookie中進(jìn)行記錄。在一個(gè)實(shí)施例中,模塊304將定制信息中的目標(biāo)服務(wù)組件標(biāo)識寫入cookie。在另一個(gè)實(shí)施例中,模塊304將目標(biāo)服務(wù)組件的標(biāo)識、輸入?yún)?shù)、輸出參數(shù)均記錄在cookie中。在cookie中記錄定制信息有多種作用。首先,可以使得圖2中的服務(wù)集成器2 20在與終端用戶的對話中動(dòng)態(tài)了解客戶端對服務(wù)流程的修改信息;其次,可以使得定制信息被保存,作為終端用戶下次使用該服務(wù)流程時(shí)的缺省狀態(tài);此外,便于上述的服務(wù)列表產(chǎn)生模塊301在產(chǎn)生目標(biāo)服務(wù)組件列表時(shí)從中調(diào)取服務(wù)組件訪問記錄或修改記錄??梢岳斫猓ㄖ菩畔⒂涗浤K304也可以根據(jù)需要采用其他方式記錄上述定制信息,更具體地,記錄定制信息中必要的一部分或者全部。
此外,如圖所示,定制單元210還可以包括^M莫塊305,被配置為根據(jù)所述定制信息驗(yàn)證定制行為是否有效。
具體地,在一個(gè)實(shí)施例中,m^模塊305被配置為驗(yàn)證定制信息中目
否匹配。例如,圖1中的服務(wù)集成器220所提供的缺省服務(wù)流程為A-B-C,其中假定服務(wù)組件B為機(jī)票預(yù)定服務(wù)。那么B的輸入?yún)?shù)通常包括出發(fā)時(shí)間(年/月/日),回程時(shí)間,倉位選擇等等,輸出參數(shù)通常包括可選機(jī)票、價(jià)格等等。如果用戶希望以服務(wù)組件D替代服務(wù)組件B,那么首先需要驗(yàn)證D的參數(shù)與B的參數(shù)在形式上是否匹配。如果參數(shù)在形式上不匹配,通常認(rèn)為,這樣的服務(wù)組件D不適合用來替代B,定制行為無效,不再執(zhí)行服務(wù)流程的修改。上述參數(shù)形式的驗(yàn)汪主要包括參數(shù)格式的驗(yàn)證、
參數(shù)類型的驗(yàn)證等等。
此外,在一個(gè)實(shí)施例中,g模塊305還被配置為驗(yàn)證目標(biāo)服務(wù)組件是否可用。如上述的例子中,終端用戶希望以服務(wù)組件D替代服務(wù)組件B,來修改服務(wù)流程。由于終端用戶通常是在服務(wù)列表產(chǎn)生模塊301生成的目標(biāo)服務(wù)組件列表中選擇目標(biāo)服務(wù)附件的,因此存在這樣一種可能,由于目標(biāo)服務(wù)組件列表沒有適時(shí)更新,導(dǎo)致其中列出的某些服務(wù)組件已經(jīng)過期、無效、無法使用。因此,有必要在進(jìn)行修改之前利用^ii^漠塊305驗(yàn)證目標(biāo)服務(wù)組件D的可用性。如果目標(biāo)服務(wù)組件當(dāng)前不可用,則顯示出錯(cuò)誤信息,不再執(zhí)行服務(wù)流程的定制和修改。
!^i模塊305還可以被配置用于^i要替換的服務(wù)組件是否正在,iU3艮務(wù)流程調(diào)用。仍然結(jié)合上面的例子,假定終端用戶要將缺省服務(wù)流程A-B-C中的服務(wù)組件B替換為服務(wù)組件D。如果用戶發(fā)出定制行為之時(shí),服務(wù)組件B已經(jīng)被調(diào)用,并且尚未執(zhí)行完畢,那么此時(shí)顯然不能執(zhí)行服務(wù)組件D和B的替換,否則容易發(fā)生運(yùn)行錯(cuò)誤。這種情況下,需要m^莫塊305判斷要被替換的服務(wù)組件B的運(yùn)行狀態(tài)。如果^i^莫塊305判斷出服務(wù)組件B當(dāng)前正在被調(diào)用,則暫停執(zhí)行服務(wù)流程的修改,直至服務(wù)組件B執(zhí)行完畢。可以理解,根據(jù)定制信息的內(nèi)容,m^塊305還可能執(zhí)行其他必要的驗(yàn)證步驟。
盡管在圖3的示例中,定制單元210同時(shí)包含了服務(wù)列表產(chǎn)生模塊301,行為識別模塊302,定制信息產(chǎn)生模塊303,定制信息記錄模塊304,i^正模塊305以及傳送模塊306,然而可以理解,定制單元210可以有多種實(shí)施方式。在不同實(shí)施例中,定制單元210可根據(jù)需要選擇性包含這些模塊中的一個(gè)或多個(gè),也可能根據(jù)需要包含更多功能模塊。
在定制單元210根據(jù)終端用戶的定制行為產(chǎn)生定制信息之后,除了選擇性地根據(jù)該定制信息進(jìn)行記錄、驗(yàn)汪之外,還要如前所述地將定制信息
12傳送給服務(wù)集成器220,以執(zhí)行服務(wù)流程的修改。現(xiàn)在回到圖2,說明服務(wù)集成器220如何執(zhí)行服務(wù)流程的修改。
將圖1中的服務(wù)集成器100與圖2中的集成器220相比可以發(fā)現(xiàn),服務(wù)集成器220除了具有用戶接口 240之外,還設(shè)置了定制接口 230。用戶接口 240與常規(guī)用戶接口相同,用于與終端用戶實(shí)現(xiàn)應(yīng)用方面的交互。終端用戶可通過該接口 240使用集成器220提供的整個(gè)服務(wù)流程。與用戶接口 240不同,定制接口 230作為集成器220新添加的接口,用于與定制單元210交互,接收上述定制信息。可以理解,定制接口 230與定制單元210之間的通信可通過現(xiàn)有技術(shù)中各種協(xié)議和傳輸方式實(shí)現(xiàn)。
定制接口 230接收到定制信息之后,將其傳送給服務(wù)集成器220中的連接接口。如圖所示,綜合服務(wù)集成器220包括有連M口 221, 222和223,這些接口用于將對應(yīng)的服務(wù)組件連接到該集成器220提供的綜合服務(wù)流程中。具體地,連接接口 221 -223中的每一個(gè)包含一段調(diào)用代碼,指向要調(diào)用的服務(wù)程序,并與服務(wù)程序進(jìn)行輸入、輸出參數(shù)的交互。在服務(wù)集成器220提供的缺省服務(wù)流程中,連接接口 221通過調(diào)用服務(wù)組件A而將其連接到服務(wù)流程中,連接接口 222則調(diào)用服務(wù)組件B。在一個(gè)實(shí)施例中,連接接口 222還選擇性地記錄和/或利用上一步驟,即執(zhí)行服務(wù)組件A時(shí)產(chǎn)生的參數(shù)。類似的,連接接口 223調(diào)用服務(wù)組件C,并將最終執(zhí)行結(jié)果通過用戶接口 240傳遞給終端用戶。上述這些連接接口 221 - 223除了與服務(wù)組件連接,還與定制接口 230連接,在定制信息的指示下,通過修改調(diào)用代碼來修^U良務(wù)流程。例如,在終端用戶發(fā)出定制行為,希望用服務(wù)組件D替代缺省流程中的服務(wù)組件B時(shí),定制單元210產(chǎn)生的定制信息中就包含目標(biāo)服務(wù)組件D的標(biāo)識以及相應(yīng)參數(shù)。在定制接口 230接收到這樣的定制信息之后,根據(jù)該信息所涉及的流程步驟將其傳送到連接接口 222。于是,連接接口 222可以獲得該定制信息,根據(jù)定制信息來修改調(diào)用代碼。具體地,連接接口 222可以用定制信息中目標(biāo)服務(wù)組件D的標(biāo)識替代調(diào)用代碼中原有的指向?qū)ο驜,使得調(diào)用代碼指向服務(wù)組件D,這樣連M口222修改后的調(diào)用代碼就將服務(wù)組件D連接到服務(wù)流程中。相應(yīng)地,服務(wù)流程中第二步驟的輸入?yún)?shù)、輸出參數(shù)也要相應(yīng)進(jìn)行修改。例如,執(zhí)行上
一服務(wù)組件A所得到的運(yùn)行結(jié)果的一部分可以作為服務(wù)組件D的輸入,服 務(wù)組件D也可以從終端用戶獲得輸入?yún)?shù)的值,并可以將運(yùn)行結(jié)果傳送至 下一服務(wù)組件C。
除了執(zhí)行服務(wù)組件的連接、調(diào)用代碼的修改,連接接口 221-223還可 以選擇性地包含驗(yàn)證模塊(未示出),用于根據(jù)定制信息對定制行為的可 行性進(jìn)行驗(yàn)證。在一種實(shí)施方式中,定制單元210中不包含^iiMt塊,而 由定制信息涉及到的連楱接口執(zhí)行mt過程。例如,用戶希望用服務(wù)組件 D替代服務(wù)組件B,則由原來連接服務(wù)組件B的連接接口 222在修改代碼 之前驗(yàn)證該定制行為的可行性,包括如前所述的參數(shù)匹配性、目標(biāo)服務(wù)組 件的可用性等等。在另一種實(shí)施方式中,定制單元與連接接口都包含mi 模塊,各自執(zhí)行不同的mt過程。例如,定制單元中的B模塊對定制行 為進(jìn)行初步斷正,相關(guān)的連接接口對定制行為進(jìn)行進(jìn)一步驗(yàn)證。
盡管圖2的服務(wù)集成器示例性地包含三個(gè)連楱接口 221-222,然而本 領(lǐng)域技術(shù)人員可以理解,服務(wù)集成器可以根據(jù)需要包含更多或更少的連接 接口。在服務(wù)集成器中設(shè)置有空接口的情況下,終端用戶可以類似地修改 該空接口,使其指向終端用戶指定的服務(wù)組件,從而在服務(wù)流程中添加服 務(wù)組件。同樣,在不影響總體服務(wù)流程運(yùn)行的情況下,終端用戶也可以通 過將某些連接接口修改為空接口而實(shí)現(xiàn)服務(wù)組件的刪除。由此,不具有專 業(yè)技能的終端用戶在定制單元210與定制接口 230的幫助下,可以對服務(wù) 集成器的缺省服務(wù)流程進(jìn)行修改,例如進(jìn)行服務(wù)組件的替換、刪除、添加 等,從而實(shí)現(xiàn)對服務(wù)流程的自由定制。
基于同一發(fā)明構(gòu)思,本發(fā)明還提供了服務(wù)流程定制方法。圖4示出根 據(jù)本發(fā)明實(shí)施例的定制方法的流程圖。如圖所示,在步驟402,識別用戶 的定制行為,并在步驟403,根據(jù)該定制行為產(chǎn)生定制信息。
如前所述,由于終端用戶不是專業(yè)的技術(shù)人員,因此他們通常只能借 助于各種圖形界面發(fā)出定制行為。發(fā)出定制行為的方式包括鼠標(biāo)的托拽、 點(diǎn)擊選擇等等簡單而直觀的操作。在一個(gè)實(shí)施例中,終端用戶通過一個(gè)圖形界面將一個(gè)服務(wù)組件的圖標(biāo)拖入特定區(qū)域,以此發(fā)出定制行為。例如,
用戶可以將一個(gè)服務(wù)組件圖標(biāo)D托拽至覆蓋服務(wù)流程中缺省的服務(wù)組件圖 標(biāo)B,以此發(fā)出定制行為,表示希望以托拽的圖標(biāo)所代表的服務(wù)組件D替 代被覆蓋的圖標(biāo)所代表的缺省服務(wù)組件B。在另一個(gè)實(shí)施例中,用戶可以 通過點(diǎn)擊鼠標(biāo)右鍵啟動(dòng)服務(wù)流程選項(xiàng),并通過在選項(xiàng)中選擇特定流程或者 特定服務(wù)組件來發(fā)出定制行為。為此,在步驟402中,本實(shí)施例的方法對 用戶的上述簡單操作進(jìn)行識別,辨別出上述定制行為所涉及的服務(wù)組件。 并在步驟403中,根據(jù)辨別出的定制行為,從上述涉及的服務(wù)組件中提取 相關(guān)定制信息。該定制信息具有提供綜合服務(wù)的裝置能夠識別的格式和編 碼,以便根據(jù)該定制信息修改集成方式。在一個(gè)實(shí)施例中,定制信息包括 目標(biāo)服務(wù)組件的標(biāo)識。更具體地,該目標(biāo)服務(wù)組件的標(biāo)識可以包括該目標(biāo) 服務(wù)組件的URL, IP地址,訪問路徑等其他能將該服務(wù)組件唯一標(biāo)識出 來的方式。在一個(gè)實(shí)施例中,定制信息還包括目標(biāo)服務(wù)組件的輸入?yún)?shù)、 輸出參數(shù),以及要替代的服務(wù)組件及其輸入?yún)?shù)、輸出^t等。本領(lǐng)域技 術(shù)人員可以理解,根據(jù)服務(wù)流程和服務(wù)組件的不同,定制信息可以包含上 述列舉的參數(shù)中的一種或者多種,也可以包含更多其他的有可能需要的參 數(shù)。
在一種實(shí)施方式中,定制方法的流程還可以包括更多步驟。例如,該 定制方法還可以包括創(chuàng)建目標(biāo)服務(wù)組件列表的步驟401。該目標(biāo)服務(wù)組件 列表的創(chuàng)建可以使得終端用戶的定制行為更加簡單、形象。
步驟401的執(zhí)行可以有多種方式。在一個(gè)實(shí)施例中,可以通過核查終 端用戶 一側(cè)對各種應(yīng)用服務(wù)的訪問記錄,并將訪問記錄中的應(yīng)用服務(wù)加入 到目標(biāo)服務(wù)組件列表中來產(chǎn)生目標(biāo)服務(wù)組件列表。更具體的,可以通過核 查客戶端的緩存內(nèi)容、cookie內(nèi)容等來核查用戶的訪問記錄。在另一個(gè)實(shí)
務(wù)組件列表。例如,假定缺省的服務(wù)流程為A-B-C。在用戶已經(jīng)執(zhí)行完 步驟A,將要執(zhí)行B的時(shí)候,可以搜索出與服務(wù)組件B相似的服務(wù)組件, 由此產(chǎn)生目標(biāo)服務(wù)組件列表供用戶選擇。 一旦用戶認(rèn)為接下來將要執(zhí)行的服務(wù)B并不適合自己的需求,希望用其他服務(wù)組件代替B時(shí),就可以從與 B類似的服務(wù)組件列表中選擇目標(biāo)服務(wù)組件。這種方式可以保證目標(biāo)服務(wù) 組件列表中的服務(wù)組件與服務(wù)組件B的功能是相同或相似的,使得用戶可 以更有針對性地選擇出適合替代服務(wù)組件B的目標(biāo)服務(wù)組件??梢岳斫猓?還可以通過其他方式執(zhí)行步驟401,產(chǎn)生目標(biāo)服務(wù)列表,并可以以圖標(biāo)、 表格等形式來呈現(xiàn)該列表,使得該列表對于用戶更為直觀。
在如步驟401所示產(chǎn)生目標(biāo)服務(wù)列表之后,用戶就可以更為簡單地發(fā) 出定制行為。在此基礎(chǔ)上,就可以對定制行為進(jìn)行識別,產(chǎn)生定制信息。
在一種實(shí)施方式中,在產(chǎn)生定制信息的基礎(chǔ)上還可以執(zhí)行步驟404, 在其中記錄所述定制信息。具體地,可以將定制信息的至少一部分寫入客 戶端cookie中進(jìn)行記錄。在一個(gè)實(shí)施例中,定制信息中的目標(biāo)服務(wù)組件標(biāo) 識被寫入cookie中。在另 一個(gè)實(shí)施例中,目標(biāo)服務(wù)組件的標(biāo)識、輸入?yún)?shù)、 輸出參數(shù)均記錄在cookie中。可以理解,也可以根據(jù)需要釆用其他方式記 錄上述定制信息,更具體地,記錄定制信息中必要的一部分或全部。
此外,如圖所示,該方法還可以包括步驟405,在其中根據(jù)所述定制 信息驗(yàn)證定制行為是否有效。步驟405可包含多個(gè)驗(yàn)證子步驟,如圖5所 示。圖5示出圖4中步驟405的子步驟示意圖。
如圖所示,驗(yàn)證步驟可包含步驟501,驗(yàn)證定制信息中目標(biāo)服務(wù)組件
如,用戶希望以服務(wù)組件D替代服務(wù)組件B,那么首先需要驗(yàn)證D的參數(shù) 與B的^在形式上是否匹配。如果#在形式上不匹配,通常認(rèn)為,這 樣的服務(wù)組件D不適合用來替代B,定制行為無效,不再執(zhí)行服務(wù)流程的 修改。上述參數(shù)形式的驗(yàn)證主要包括參數(shù)格式的驗(yàn)證、參數(shù)類型的驗(yàn)證等
驗(yàn)證步驟還可包含子步驟502,在其中驗(yàn)證目標(biāo)服務(wù)組件是否可用。 由于終端用戶通常是在步驟401中生成的目標(biāo)服務(wù)組件列表中選擇目標(biāo)服 務(wù)附件的,因此存在這樣一種可能,由于目標(biāo)服務(wù)組件列表沒有適時(shí)更新, 導(dǎo)致其中列出的某些服務(wù)組件已經(jīng)過期、無效、無法使用。因此,有必要在進(jìn)行修改之前驗(yàn)證目標(biāo)服務(wù)組件的可用性。如果目標(biāo)服務(wù)組件當(dāng)前不可 用,則顯示出錯(cuò)誤信息,不再執(zhí)行服務(wù)流程的定制和修改。
此外,驗(yàn)證步驟還包含子步驟503, mt要替換的服務(wù)組件是否正在 被月良務(wù)流程調(diào)用。仍然結(jié)合上面的例子,假定終端用戶要將缺省服務(wù)流程 A - B - C中的服務(wù)組件B替換為服務(wù)組件D。如果用戶發(fā)出定制行為之時(shí), 服務(wù)組件B已經(jīng)被調(diào)用,并且尚未執(zhí)行完畢,那么此時(shí)顯然不能執(zhí)行服務(wù) 組件D和B的替換,否則容易發(fā)生運(yùn)行錯(cuò)誤。這種情況下,就需要判斷要 被替換的服務(wù)組件B的運(yùn)行狀態(tài)。如果服務(wù)組件B當(dāng)前正在被調(diào)用,則暫 停執(zhí)行服務(wù)流程的修改,直至服務(wù)組件B執(zhí)行完畢。除了上述的子步驟501 -503,可以理解,根據(jù)定制信息的內(nèi)容,驗(yàn)證步驟405還可能執(zhí)行其他必 要的驗(yàn)證子步驟。
上述這些步驟401 - 405均可以在客戶端執(zhí)行。為了實(shí)現(xiàn)服務(wù)流程的定 制,還需要在步驟406中,將定制信息傳送至服務(wù)端,以^更據(jù)此修^JI艮務(wù)流程。
與此相應(yīng)地,本發(fā)明實(shí)施例還提供了在服務(wù)端執(zhí)行的為用戶定制服務(wù) 流程的方法。圖6示出該方法的流程圖。如圖所示,在步驟601,接收定 制信息,其中定制信息是通過識別終端用戶的定制行為,根據(jù)該定制行為 而產(chǎn)生;在步驟602,根據(jù)所述定制信息修改所述服務(wù)流程。
如前所述,用戶定制行為的識別和定制信息的產(chǎn)生通常是在客戶端執(zhí) 行。因此,在產(chǎn)生定制信息之后,服務(wù)端首先要如步驟601所示,接收這 樣的定制信息,該定制信息是通過識別用戶定制行為,才艮據(jù)該定制^t為而 產(chǎn)生的。該步驟通常通過服務(wù)端接口來執(zhí)行。定制信息的接收可以通過現(xiàn) 有技術(shù)中各種協(xié)議和傳輸方式實(shí)現(xiàn)。
之后,在步驟602,根據(jù)所述定制信息修改所述服務(wù)流程。具體地, 服務(wù)流程通常是通過多段調(diào)用代碼來調(diào)用各個(gè)服務(wù)組件,從而將這些服務(wù) 組件連接為服務(wù)流程的。因此,修^J艮務(wù)流程的一種實(shí)現(xiàn)方式就是修改這 些調(diào)用代碼。在一個(gè)實(shí)施例中,定制信息指示出,終端用戶希望用服務(wù)組 件D來替代缺省的服務(wù)組件B。在根據(jù)上述定制信息行為修改服務(wù)流程時(shí),可以用定制信息中目標(biāo)服務(wù)組件D的標(biāo)識替代調(diào)用代碼中原有的指向?qū)ο?B,使得調(diào)用代碼指向服務(wù)組件D,這樣修改后的調(diào)用代碼就將服務(wù)組件D 連接到服務(wù)流程中。相應(yīng)地,服務(wù)流程中輸入?yún)?shù)、輸出參數(shù)也要相應(yīng)進(jìn) 行修改。
在一種實(shí)施方式中,上述方法還可以包括發(fā)逸步驟(未示出),更具 體地,包括如前所述的參數(shù)匹配性、目標(biāo)服務(wù)組件的可用性的驗(yàn)證等等。 本領(lǐng)域技術(shù)人員可以理解,!Hi步驟可以在執(zhí)行服務(wù)流程修改的步驟602 之前的任意時(shí)刻執(zhí)行。也就是說,驗(yàn)證步驟可以在客戶端執(zhí)行,例如在圖 4所示的流程中的步驟406之前執(zhí)行,也可以在服務(wù)端執(zhí)行,例如在圖6 所示的流程中的步驟602之前執(zhí)行。并且,驗(yàn)證步驟中的各個(gè)子步驟并不 必須按照圖5所示的順序來執(zhí)行。此外,各個(gè)驗(yàn)汪子步驟501 -503可以分 別單獨(dú)執(zhí)行。例如,可以在客戶端執(zhí)行步驟501,在服務(wù)端執(zhí)行驗(yàn)證子步 驟502和503,或者以其他方式來分別執(zhí)行這些驗(yàn)證子步驟。
通過圖4和圖6所示的流程,可以實(shí)現(xiàn)為終端用戶定制^^務(wù)流程的方 法。可以理解,上述方法可以通過圖2和圖3所示的裝置和單元來執(zhí)行。
本領(lǐng)域技術(shù)人員可以理解,上述的裝置和方法可以使用計(jì)算機(jī)可執(zhí)行 指令和/或包含在處理器控制代碼中來實(shí)現(xiàn),例如在諸如磁盤、CD或DVD -ROM的載體介質(zhì)、諸如只讀存儲器(固件)的可編程的存儲器或者諸 如光學(xué)或電子信號載體的數(shù)據(jù)載體上提供了這樣的代碼。本實(shí)施例的定制 服務(wù)流程的裝置及其單元、模塊可以由諸如超大規(guī)模集成電路或門陣列、 諸如邏輯芯片、晶體管等的半導(dǎo)體、或者諸如現(xiàn)場可編程門陣列、可編程 邏輯設(shè)備等的可編程硬件設(shè)備的硬件電路實(shí)現(xiàn),也可以用由各種類型的處 理器執(zhí)行的軟件實(shí)現(xiàn),也可以由上述硬件電路和軟件的結(jié)合實(shí)現(xiàn)。
雖然以上結(jié)合具體實(shí)施例對本發(fā)明的為用戶定制服務(wù)流程的裝置和方 法進(jìn)行了詳細(xì)描述,但本發(fā)明并不限于此,本領(lǐng)域普通技術(shù)人員能夠理解 可以對本發(fā)明進(jìn)行多種變換、替換和修改而不偏離本發(fā)明的精神和范圍; 本發(fā)明的保護(hù)范圍由所附權(quán)利要求來限定。
權(quán)利要求
1.一種為用戶定制服務(wù)流程的裝置,其中所述服務(wù)流程由至少一個(gè)服務(wù)組件構(gòu)成,所述裝置包括定制接口和至少一個(gè)連接接口,其中所述定制接口與所述至少一個(gè)連接接口相連,被配置為接收定制信息,并將其傳送至所述至少一個(gè)連接接口,其中所述定制信息是通過識別用戶的定制行為,根據(jù)該定制行為而產(chǎn)生的;所述至少一個(gè)連接接口與所述至少一個(gè)服務(wù)組件相連,被配置為根據(jù)所述定制信息修改所述服務(wù)流程。
2. 如權(quán)利要求1的裝置,其中所述定制信息包括要替代的 服務(wù)組件標(biāo)識、目標(biāo)服務(wù)組件標(biāo)識、目標(biāo)服務(wù)組件的輸入?yún)?shù)、目標(biāo)服務(wù)組件的輸出參數(shù)中的一個(gè)或多個(gè)。
3. 如權(quán)利要求2的裝置,其中至少一個(gè)連接接口被配置為 根據(jù)定制信息中的目標(biāo)服務(wù)組件標(biāo)識將所述服務(wù)流程中的至少一 個(gè)服務(wù)組件替換為目標(biāo)服務(wù)組件。
4. 如權(quán)利要求2的裝置,其中所述至少一個(gè)連接接口還包括 驗(yàn)證模塊,被配置為根據(jù)所述定制信息驗(yàn)證所述定制行為是否有 效。
5. 如權(quán)利要求1 - 4中任一項(xiàng)的裝置,其中所述服務(wù)組件包 括Web應(yīng)用月良務(wù)。
6. —種定制單元,包括行為識別才莫塊,;陂配置為識別用戶的定制行為; 定制信息產(chǎn)生模塊,被配置為根據(jù)上述定制行為產(chǎn)生定制信 息;以及傳送模塊,被配置為至少傳送所述定制信息。
7. 如權(quán)利要求5的定制單元,其中所述定制信息包括要替 代的服務(wù)組件標(biāo)識、目標(biāo)服務(wù)組件標(biāo)識、目標(biāo)服務(wù)組件的輸入?yún)?數(shù)、目標(biāo)服務(wù)組件的輸出參數(shù)中的一個(gè)或多個(gè)。
8. 如權(quán)利要求5的定制單元,還包括服務(wù)列表產(chǎn)生模塊,被 配置為創(chuàng)建目標(biāo)服務(wù)組件列表。
9. 如權(quán)利要求8的定制單元,其中所述服務(wù)列表產(chǎn)生模塊被 配置為根據(jù)客戶端的服務(wù)組件訪問記錄創(chuàng)建所述目標(biāo)服務(wù)組件列表。
10. 如權(quán)利要求8或9的定制單元,其中所述用戶的定制行為 包括從所述目標(biāo)服務(wù)組件列表中選擇目標(biāo)服務(wù)組件。
11. 如權(quán)利要求6的定制單元,還包括定制信息記錄模塊,被 配置為記錄所述定制信息。
12. 如權(quán)利要求11的定制單元,其中所述定制信息記錄模塊 被配置為將所述定制信息的至少 一 部分寫入c o o k i e 。
13. 如權(quán)利要求7的定制單元,還包括驗(yàn)證模塊,被配置為根 據(jù)所述定制信息驗(yàn)證定制行為是否有效。
14. 如權(quán)利要求13的定制單元,其中所述驗(yàn)證模塊被配置為 驗(yàn)證所述定制信息中目標(biāo)服務(wù)組件的輸入?yún)?shù)和/或輸出參數(shù)與要 替換的服務(wù)組件的參數(shù)形式是否匹配。
15. 如權(quán)利要求13的定制單元,其中所述驗(yàn)證模塊被配置為 驗(yàn)證目標(biāo)服務(wù)組件是否可用。
16. 如權(quán)利要求13的定制單元,其中所述驗(yàn)證模塊被配置為 驗(yàn)證要替換的服務(wù)組件是否正在被服務(wù)流程調(diào)用。
17. —種為用戶定制服務(wù)流程的方法,其中所述服務(wù)流程由至 少一個(gè)服務(wù)組件構(gòu)成,所述方法包括接收定制信息,其中所述定制信息是通過識別用戶的定制行 為,根據(jù)該定制行為而產(chǎn)生的;以及根據(jù)所述定制信息修改所迷服務(wù)流程。
18. 如權(quán)利要求17的方法,其中所述定制信息包括要替代 的服務(wù)組件標(biāo)識、目標(biāo)服務(wù)組件的標(biāo)識、目標(biāo)服務(wù)組件的輸入?yún)?數(shù)、目標(biāo)服務(wù)組件的輸出參數(shù)中的一個(gè)或多個(gè)。
19. 如權(quán)利要求17的方法,其中所述根據(jù)定制信息修改服務(wù) 流程的步驟包括根據(jù)定制信息中的目標(biāo)服務(wù)組件標(biāo)識將所述服 務(wù)流程中的至少一個(gè)服務(wù)組件替換為目標(biāo)服務(wù)組件。
20. 如權(quán)利要求17的方法,還包括根據(jù)所述定制信息驗(yàn)證 定制行為是否有效。
21. —種定制方法,包括 識別用戶的定制行為; 根據(jù)上述定制行為產(chǎn)生定制信息;以及 傳送所述定制信息。
全文摘要
本發(fā)明涉及為用戶定制服務(wù)流程的裝置和方法。其中,為用戶定制服務(wù)流程的裝置包括定制接口和至少一個(gè)連接接口,其中定制接口與至少一個(gè)連接接口相連,用于接收定制信息,并將其傳送至所述至少一個(gè)連接接口,其中所述定制信息是通過識別用戶的定制行為,根據(jù)該定制行為而產(chǎn)生的;至少一個(gè)連接接口與至少一個(gè)服務(wù)組件相連,用于根據(jù)所述定制信息修改服務(wù)流程。還提供一種定制單元,包括行為識別模塊,用于識別用戶的定制行為;定制信息產(chǎn)生模塊,用于根據(jù)定制行為產(chǎn)生定制信息;以及傳送模塊,用于至少傳送所述定制信息。還提供了與此裝置和單元對應(yīng)的方法。本發(fā)明的裝置和方法可以使得終端用戶通過簡單的定制行為實(shí)現(xiàn)服務(wù)流程的定制。
文檔編號H04L29/06GK101662463SQ20081021460
公開日2010年3月3日 申請日期2008年8月28日 優(yōu)先權(quán)日2008年8月28日
發(fā)明者孫科偉, 影 李, 景 羅, 瀅 陳 申請人:國際商業(yè)機(jī)器公司