對于企業(yè)的辦公自動化系統(tǒng)來說,其業(yè)務(wù)內(nèi)容往往涉及到多個部門、多個層面和多個領(lǐng)域,所有這些業(yè)務(wù)工作往往都需要多人和多個部門,每個部門或個人在完成他們各自工作的同時,也需要與其他部門或個人進行通力協(xié)作,這樣才可以將所有的相關(guān)業(yè)務(wù)圓滿完成。本文以Agent技術(shù)為核心,針對基于多Agent的辦公自動化系統(tǒng)進行了研究和設(shè)計。
1 辦公自動化系統(tǒng)的特點
企業(yè)的業(yè)務(wù)過程分成兩種,一種是部門內(nèi)部的私有業(yè)務(wù)過程,另一種是部門間的協(xié)調(diào)業(yè)務(wù)過程。兩種業(yè)務(wù)過程交錯運行、相輔相成、互相協(xié)作,從而構(gòu)成企業(yè)內(nèi)的系統(tǒng)工作體系。(1)私有業(yè)務(wù)過程:私有業(yè)務(wù)過程是指在部門內(nèi)部,利用部門現(xiàn)有的各種資源和自己的組織結(jié)構(gòu),在沒有外部部門協(xié)作的情況下來完成的各種業(yè)務(wù)過程。(2)協(xié)調(diào)業(yè)務(wù)過程:協(xié)調(diào)業(yè)務(wù)過程是指由某個部門主導(dǎo),經(jīng)過其他外部部門通力協(xié)作,使用外部部門的組織和資源來共同完成的業(yè)務(wù)過程。協(xié)調(diào)業(yè)務(wù)過程是以部門之間的業(yè)務(wù)通信和關(guān)聯(lián)數(shù)據(jù)為核心的。
2 基于多Agent的辦公自動化系統(tǒng)的架構(gòu)
軟件總線技術(shù)是建立在軟件重用的思想上,包括構(gòu)件的重用、軟件系統(tǒng)結(jié)構(gòu)的重用等。各種符合軟件接口規(guī)范的構(gòu)件在軟件總線上可以實現(xiàn)即插即用(Plug-and-Play)。在這個架構(gòu)中,每個部門都有自己的Agent,各種Agent都可以掛接到總線上去,實現(xiàn)即插即用。每個Agent在完成自身工作即私有業(yè)務(wù)的同時,通過協(xié)作協(xié)助其他的Agent完成相應(yīng)的協(xié)調(diào)業(yè)務(wù)。
2.1 總線配置管理
總線配置管理是系統(tǒng)的中央控制模塊,它主要完成對各個Agent的配置管理和各Agent之間的通信協(xié)調(diào)。在配置管理模塊中,有三個主要單元:其一是登記控制單元,主要是對各Agent及其工作能力(如能夠處理何種業(yè)務(wù)等)以及相關(guān)的消息處理接口進行登記;其二是消息控制單元,主要是接收和發(fā)送各種Agent之間的通信消息;其三是任務(wù)協(xié)調(diào)單元,主要是根據(jù)各個Agent的工作能力,尋找合適的Agent,通過調(diào)用消息控制單元向相關(guān)的Agent發(fā)送協(xié)作消息,以異步的方式完成協(xié)調(diào)任務(wù)。
2.2 公共數(shù)據(jù)黑板
所謂公共數(shù)據(jù)黑板就是建立一個公共的數(shù)據(jù)存儲區(qū)域。協(xié)調(diào)任務(wù)的主導(dǎo)者(即主導(dǎo)Agent)將協(xié)作請求以規(guī)范的格式寫入公共數(shù)據(jù)黑板;協(xié)調(diào)任務(wù)的協(xié)助者(即協(xié)助Agent)通過監(jiān)控公共數(shù)據(jù)黑板,發(fā)現(xiàn)有自己可以處理的請求,則讀入那種請求并完成相關(guān)任務(wù),同時將結(jié)果以規(guī)范的方式寫入公共數(shù)據(jù)黑板;主導(dǎo)Agent通過監(jiān)控公共數(shù)據(jù)黑板,發(fā)現(xiàn)自己的協(xié)作請求已被完成,則讀入相關(guān)結(jié)果,繼續(xù)完成自己的協(xié)作業(yè)務(wù)。
2.3 權(quán)限配置Agent
權(quán)限配置Agent是一個公共的Agent,主要完成不同業(yè)務(wù)Agent對公共數(shù)據(jù)黑板的存取權(quán)限的配置、多個Agent互訪權(quán)限的配置以及不同業(yè)務(wù)Agent可以訪問的業(yè)務(wù)權(quán)限的配置等。各Agent以Web服務(wù)的方式為其余各個管理模塊提供公共操作接口。
2.4 業(yè)務(wù)Agent
業(yè)務(wù)Agent是各個部門完成私有業(yè)務(wù)和協(xié)調(diào)業(yè)務(wù)的基本單元,它是以業(yè)務(wù)和業(yè)務(wù)處理為核心的,如人事管理Agent、采購和銷售管理Agent等等。業(yè)務(wù)是由業(yè)務(wù)模式所描述的,包含業(yè)務(wù)的操作表單、表單實例、顯示模式、處理方式等,可以采用模式描述語言如UML或XML語言等實現(xiàn)。在該系統(tǒng)中,每個業(yè)務(wù)Agent都是一個獨立的工作單元,處理不同的業(yè)務(wù);同時它們又可以掛接在系統(tǒng)的軟件總線中去,同其他業(yè)務(wù)Agent協(xié)同辦公。
3 業(yè)務(wù)Agent的兩種通信模式
3.1 數(shù)據(jù)供應(yīng)模式:請求與反饋
當(dāng)一個業(yè)務(wù)Agent想要從其他的業(yè)務(wù)Agent那里獲得某種幫助的時候,首先它需要向系統(tǒng)的總線配置管理模塊發(fā)出一個請求消息,該消息可以指明提供者,也可以不指明。如果消息中沒有指明提供者,則總線配置管理模塊可以根據(jù)這一請求尋找合適的提供者。任何一個Agent都可以成為提供者,但必須向總線配置管理模塊進行注冊。這樣,總線配置管理模塊就可以根據(jù)已有的注冊信息迅速地找到提供者,并將請求轉(zhuǎn)發(fā)給提供者,然后將獲得的幫助以消息的方式反饋給請求者。
3.2 事件報告模式:發(fā)布與預(yù)約
業(yè)務(wù)Agent是通過發(fā)布有關(guān)數(shù)據(jù)或共享數(shù)據(jù)的添加、改變或刪除的事件消息來傳遞數(shù)據(jù)的更新消息的。如果某個業(yè)務(wù)Agent需要隨時得到這些數(shù)據(jù)的更新信息,就需要Agent來預(yù)約。預(yù)約的方法就是向總線配置管理模塊發(fā)送一個或多個預(yù)約消息。每當(dāng)一個業(yè)務(wù)Agent發(fā)布事件后,總線配置管理模塊都會將這一消息按照預(yù)約的清單發(fā)送給每個預(yù)約Agent。
4 結(jié)束語
總之,隨著計算機Agent技術(shù)的不斷發(fā)展和成熟,Agent技術(shù)將不斷地在各個領(lǐng)域得到廣泛的研究與應(yīng)用。本文介紹了一種基于多Agent的辦公自動化系統(tǒng)架構(gòu)設(shè)計方法,為充分利用企業(yè)的現(xiàn)有資源和解決異構(gòu)下的軟件集成和擴展提供了一條新的思路。