[摘要] 目前大多數(shù)工作流管理系統(tǒng)都是獨(dú)立地管理單個(gè)工作流,而忽視了工作流之間的資源約束關(guān)系,基于Agent的工作流管理系統(tǒng)能夠有效地解決這個(gè)問題。本文討論了基于Agent的工作流管理系統(tǒng),包括Agent技術(shù)、工作流參考模型、基于Agent技術(shù)工作流管理系統(tǒng)模型以及系統(tǒng)實(shí)現(xiàn)方案的設(shè)計(jì)思想。
[關(guān)鍵詞] Agent 工作流管理系統(tǒng) 參考模型
工作流管理系統(tǒng)是利用計(jì)算機(jī)技術(shù)和信息技術(shù)作支持,使企業(yè)等組織機(jī)構(gòu)的業(yè)務(wù)流程實(shí)現(xiàn)自動(dòng)化。當(dāng)前,大多數(shù)工作流管理系統(tǒng)都是獨(dú)立地管理單個(gè)工作流,忽視了工作流之間的資源約束關(guān)系,而基于Agent的工作流管理系統(tǒng)能夠有效地解決這個(gè)問題。
Agent具有某種程度的類人性,其本意就是要代替人(或協(xié)助人)完成某些工作。工作流管理系統(tǒng)作為一種群件系統(tǒng)與Agent系統(tǒng)有著某種相似的特點(diǎn),都滿足分布式的協(xié)同工作系統(tǒng),因此Agent系統(tǒng)非常適合應(yīng)用于工作流管理系統(tǒng),尤其是設(shè)計(jì)分布式工作流控制結(jié)構(gòu)。
一、Agent技術(shù)
關(guān)于Agent目前還沒有統(tǒng)一的明確定義,一般來說,Agent是指可以代替用戶完成簡(jiǎn)單、重復(fù)的操作,具有一定代理性的智能化軟件?;贏gent的工作流管理系統(tǒng),組織機(jī)構(gòu)內(nèi)的每個(gè)資源(包括人員、設(shè)備和數(shù)據(jù)庫等)都有一個(gè)Agent與之相關(guān)聯(lián)。按其實(shí)現(xiàn)的功能不同,Agent可以分為以下3類:
1.接口Agent:其主要功能是管理人員資源,在其他Agent看來,它是代表用戶參與活動(dòng)的主體。
2.任務(wù)Agent:其主要功能是解釋過程定義、控制過程實(shí)例的執(zhí)行(包括創(chuàng)建、激活、暫停和終止等)、活動(dòng)的調(diào)度、工作流控制數(shù)據(jù)的維護(hù),以及與執(zhí)行中的管理和監(jiān)控等等。當(dāng)啟動(dòng)一個(gè)工作流時(shí),與之相對(duì)應(yīng)就創(chuàng)建一個(gè)任務(wù)Agent。
3.資源Agent:與除人員資源以外的其他資源相關(guān)聯(lián),如打印機(jī)、數(shù)據(jù)庫。當(dāng)接口Agent或任務(wù)Agent要訪問數(shù)據(jù)資源或使用某個(gè)設(shè)備時(shí),它就向與之相關(guān)的資源Agent發(fā)送請(qǐng)求,資源Agent負(fù)責(zé)管理該項(xiàng)資源,它執(zhí)行請(qǐng)求并將操作結(jié)果返回給請(qǐng)求者。
利用Agent可以有效地解決工作流系統(tǒng)中的資源沖突、執(zhí)行中的模式僵化,以及用戶被動(dòng)地處理工作項(xiàng)問題
二、工作流管理系統(tǒng)模型
一個(gè)工作流管理系統(tǒng)主要有兩個(gè)組成模塊:業(yè)務(wù)流程建模模塊和工作流執(zhí)行控制模塊。在業(yè)務(wù)流程建模階段,工作流管理人員使用過程建模工具對(duì)實(shí)際業(yè)務(wù)流程進(jìn)行分析、建模,將業(yè)務(wù)流程表示為計(jì)算機(jī)可處理的形式化表示。
工作流管理系統(tǒng)的體系結(jié)構(gòu)可以是集中式,也可以是分布式。
集中式工作流控制結(jié)構(gòu)主要由一個(gè)工作流引擎和多個(gè)客戶應(yīng)用組成,另外還有其它部件如建模工具、管理和監(jiān)控工具等,這種控制結(jié)構(gòu)較為簡(jiǎn)單,適用于小規(guī)模的群體協(xié)作活動(dòng)。
分布式工作流控制結(jié)構(gòu)是由分布在不同站點(diǎn)的多個(gè)工作流引擎組成,多個(gè)工作流引擎共同解釋執(zhí)行一個(gè)過程定義,這種控制結(jié)構(gòu)比較復(fù)雜,工作流引擎之間在執(zhí)行過程中要交換應(yīng)用數(shù)據(jù)和控制信息,當(dāng)數(shù)據(jù)分布存儲(chǔ)于不同地點(diǎn)時(shí)涉及到數(shù)據(jù)表示和數(shù)據(jù)一致性維護(hù)問題。
盡管如此,現(xiàn)有的工作流系統(tǒng)仍然存在著適用范圍窄、靈活性差、擴(kuò)展能力不足,以及對(duì)意外的情況不能及時(shí)處理等問題,因此,具有自組織、自學(xué)習(xí)和協(xié)同工作能力的智能工作流系統(tǒng)是工作流的一個(gè)發(fā)展方向。由于Agent具有自主性、交互性、主動(dòng)性等智能特點(diǎn)。因此將Agent技術(shù)結(jié)合到工作流管理中將解決工作流的上述不足,非常適合構(gòu)造結(jié)構(gòu)復(fù)雜、靈活、智能的工作流管理系統(tǒng)。
三、基于Agent的工作流管理系統(tǒng)
1.在工作流管理系統(tǒng)中引入Agent
工作流系統(tǒng)的開發(fā)中可在兩方面引入Agent技術(shù):
(1)利用Agent技術(shù)開發(fā)工作流的管理者。工作流管理者要能夠向每個(gè)工作站下達(dá)工作流程和進(jìn)度計(jì)劃,主動(dòng)引導(dǎo)各個(gè)工作站按照工作流程和進(jìn)度計(jì)劃推動(dòng)工作,并受理和評(píng)價(jià)個(gè)工作站進(jìn)展情況的報(bào)告,以及集中管理各類數(shù)據(jù)。
(2)利用Agent開發(fā)工作流行為的執(zhí)行者。工作流中,人和Agent共同完成一個(gè)行為的情況是較多的,人是在Agent輔助下完成工作,給人提供相關(guān)的重要信息。即開發(fā)一種能給各環(huán)節(jié)設(shè)計(jì)人員提供指導(dǎo)和幫助功能的軟件Agent。
2.基于Agent的工作流管理系統(tǒng)模型
基于Agent 的工作流管理系統(tǒng)模型主要由四部分組成:工作流服務(wù)器,Agent服務(wù)器,工作表服務(wù)器和多個(gè)具體的Agent組成的Agent族。其結(jié)構(gòu)如圖所示。
四、系統(tǒng)模型實(shí)現(xiàn)方案的設(shè)計(jì)思想
1.Agent的表示
基于Agent 的工作流管理系統(tǒng)模型中,Agent可以表示為一個(gè)五元組描述的實(shí)體,即Agent=
N為Agent的名稱,具有惟一性,并可描述Agent的類型。
I為Agent的界面定義,描述呈現(xiàn)在用戶面前的人機(jī)界面和通信接口(包括通信協(xié)議和I/O接口),一般應(yīng)遵循界面與Agent功能相分離的原則。
S為Agent的狀態(tài)集,是描述Agent內(nèi)部狀態(tài)的集合,Agent的行為實(shí)際上是由一狀態(tài)轉(zhuǎn)移到另一狀態(tài)的過程。
T為Agent的事務(wù)集,定義Agent的行為,體現(xiàn)Agent的職能,并包含推理機(jī)制。
K為Agent的知識(shí)源,描述Agent行為所需要的知識(shí)、數(shù)據(jù)、推理規(guī)則以及有關(guān)資源,體現(xiàn)為數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫和知識(shí)庫等。
2.工作流管理系統(tǒng)的表示
在Agent定義的基礎(chǔ)上,可以用一個(gè)四元組描述工作流管理系統(tǒng),即WfMS =< Agents,Goals,KnowledgeBase,Relations>。其中:
Agents為Agent集合,每個(gè)Agent具有一定解決問題的能力;Goals為目標(biāo)集,描述所需要完成的共同任務(wù);KnowledgeBase為知識(shí)庫,描述協(xié)同工作完成任務(wù)所需要的知識(shí);Relations為關(guān)系集,描述Agent之間的協(xié)作關(guān)系及其他關(guān)系。實(shí)際上,設(shè)計(jì)一個(gè)基于Agent的工作流管理系統(tǒng)核心就是定義一組Agent,建立它們之間的聯(lián)系,確定它們的共同目標(biāo)的過程。
3.Agent的通信機(jī)制
與傳統(tǒng)的分布式計(jì)算中各計(jì)算實(shí)體間的通信不同,Agent通信是建立在知識(shí)級(jí)別的,而實(shí)現(xiàn)這種通信手段便是使用Agent通信語言,可使Agent間的通信效率大大高于傳統(tǒng)的分布式計(jì)算中的通信。KQML(Knowledge Query and Manipulation Language)是一種用于信息和知識(shí)交換的語言和協(xié)議,KQML從形式、內(nèi)容、語義、實(shí)現(xiàn)和可靠性等方面對(duì)Agent間通信給予保證,在Agent間交換含有語義的控制信息和知識(shí),從而在基于知識(shí)的層次上描述訪問請(qǐng)求,提高了對(duì)象的定址方式和能力。目前,KQML是獲得最為廣泛應(yīng)用的Agent通信語言,被稱為事實(shí)上的標(biāo)準(zhǔn)。因此可選用KQML作為Agent間的通信方式。
4.系統(tǒng)模型的實(shí)現(xiàn)環(huán)境
基于Agent的工作流管理系統(tǒng)模型實(shí)現(xiàn)的環(huán)境可以在基于J2EE體系下采用java技術(shù)作為主要的實(shí)現(xiàn)語言,這是因?yàn)閖ava“一次編譯,到處運(yùn)行”的平臺(tái)無關(guān)性特點(diǎn)非常適合用來進(jìn)行工作流管理系統(tǒng)的開發(fā)。還可以選擇一個(gè)支持移動(dòng)Agent的執(zhí)行環(huán)境,如選擇IBM公司的Aglet。Aglet是由IBM日本公司用純java開發(fā)的移動(dòng)Agent平臺(tái),供人們開發(fā)或執(zhí)行移動(dòng)Agent系統(tǒng)。到目前為止,Aglet是最為成功和全面的系統(tǒng),主要表現(xiàn)在提供了一個(gè)簡(jiǎn)單而全面的移動(dòng)Agent編程模型,并為Agent間提供了動(dòng)態(tài)和有效的通信機(jī)制,還提供了一套詳細(xì)且易用的安全機(jī)制。
五、結(jié)束語
工作流管理系統(tǒng)必須是一個(gè)開放的系統(tǒng),具有很強(qiáng)的互操作能力。Agent技術(shù)將會(huì)成為工作流管理系統(tǒng)的關(guān)鍵技術(shù)。Agent作為代理能夠協(xié)助或替代用戶或系統(tǒng)執(zhí)行某些功能。Agent技術(shù)的應(yīng)用,將會(huì)給工作流管理系統(tǒng)帶來更好的發(fā)展前景。
參考文獻(xiàn):
[1]The Workflow Management Coalition:Workflow Standard-Interoperability Abstract Specification, DocumentNumber WFMC-TC-1012, 20 October 1996, Version 1.0
[2]范玉順:工作流管理技術(shù)基礎(chǔ)[M].清華大學(xué)出版社,施普林格出版社,2001~4
[3]史美林等:計(jì)算機(jī)支持的協(xié)同工作理論與應(yīng)用[M],電子工業(yè)出版社,2000~12
[4]朱云龍薛勁松李紅信等:基于Agent的工作流協(xié)調(diào)模型的研究.小型微型計(jì)算機(jī)系統(tǒng),2000,21(7):737~739