對于企業的辦公自動化系統來說,其業務內容往往涉及到多個部門、多個層面和多個領域,所有這些業務工作往往都需要多人和多個部門,每個部門或個人在完成他們各自工作的同時,也需要與其他部門或個人進行通力協作,這樣才可以將所有的相關業務圓滿完成。本文以Agent技術為核心,針對基于多Agent的辦公自動化系統進行了研究和設計。
1 辦公自動化系統的特點
企業的業務過程分成兩種,一種是部門內部的私有業務過程,另一種是部門間的協調業務過程。兩種業務過程交錯運行、相輔相成、互相協作,從而構成企業內的系統工作體系。(1)私有業務過程:私有業務過程是指在部門內部,利用部門現有的各種資源和自己的組織結構,在沒有外部部門協作的情況下來完成的各種業務過程。(2)協調業務過程:協調業務過程是指由某個部門主導,經過其他外部部門通力協作,使用外部部門的組織和資源來共同完成的業務過程。協調業務過程是以部門之間的業務通信和關聯數據為核心的。
2 基于多Agent的辦公自動化系統的架構
軟件總線技術是建立在軟件重用的思想上,包括構件的重用、軟件系統結構的重用等。各種符合軟件接口規范的構件在軟件總線上可以實現即插即用(Plug-and-Play)。在這個架構中,每個部門都有自己的Agent,各種Agent都可以掛接到總線上去,實現即插即用。每個Agent在完成自身工作即私有業務的同時,通過協作協助其他的Agent完成相應的協調業務。
2.1 總線配置管理
總線配置管理是系統的中央控制模塊,它主要完成對各個Agent的配置管理和各Agent之間的通信協調。在配置管理模塊中,有三個主要單元:其一是登記控制單元,主要是對各Agent及其工作能力(如能夠處理何種業務等)以及相關的消息處理接口進行登記;其二是消息控制單元,主要是接收和發送各種Agent之間的通信消息;其三是任務協調單元,主要是根據各個Agent的工作能力,尋找合適的Agent,通過調用消息控制單元向相關的Agent發送協作消息,以異步的方式完成協調任務。
2.2 公共數據黑板
所謂公共數據黑板就是建立一個公共的數據存儲區域。協調任務的主導者(即主導Agent)將協作請求以規范的格式寫入公共數據黑板;協調任務的協助者(即協助Agent)通過監控公共數據黑板,發現有自己可以處理的請求,則讀入那種請求并完成相關任務,同時將結果以規范的方式寫入公共數據黑板;主導Agent通過監控公共數據黑板,發現自己的協作請求已被完成,則讀入相關結果,繼續完成自己的協作業務。
2.3 權限配置Agent
權限配置Agent是一個公共的Agent,主要完成不同業務Agent對公共數據黑板的存取權限的配置、多個Agent互訪權限的配置以及不同業務Agent可以訪問的業務權限的配置等。各Agent以Web服務的方式為其余各個管理模塊提供公共操作接口。
2.4 業務Agent
業務Agent是各個部門完成私有業務和協調業務的基本單元,它是以業務和業務處理為核心的,如人事管理Agent、采購和銷售管理Agent等等。業務是由業務模式所描述的,包含業務的操作表單、表單實例、顯示模式、處理方式等,可以采用模式描述語言如UML或XML語言等實現。在該系統中,每個業務Agent都是一個獨立的工作單元,處理不同的業務;同時它們又可以掛接在系統的軟件總線中去,同其他業務Agent協同辦公。

3 業務Agent的兩種通信模式
3.1 數據供應模式:請求與反饋
當一個業務Agent想要從其他的業務Agent那里獲得某種幫助的時候,首先它需要向系統的總線配置管理模塊發出一個請求消息,該消息可以指明提供者,也可以不指明。如果消息中沒有指明提供者,則總線配置管理模塊可以根據這一請求尋找合適的提供者。任何一個Agent都可以成為提供者,但必須向總線配置管理模塊進行注冊。這樣,總線配置管理模塊就可以根據已有的注冊信息迅速地找到提供者,并將請求轉發給提供者,然后將獲得的幫助以消息的方式反饋給請求者。
3.2 事件報告模式:發布與預約
業務Agent是通過發布有關數據或共享數據的添加、改變或刪除的事件消息來傳遞數據的更新消息的。如果某個業務Agent需要隨時得到這些數據的更新信息,就需要Agent來預約。預約的方法就是向總線配置管理模塊發送一個或多個預約消息。每當一個業務Agent發布事件后,總線配置管理模塊都會將這一消息按照預約的清單發送給每個預約Agent。
4 結束語
總之,隨著計算機Agent技術的不斷發展和成熟,Agent技術將不斷地在各個領域得到廣泛的研究與應用。本文介紹了一種基于多Agent的辦公自動化系統架構設計方法,為充分利用企業的現有資源和解決異構下的軟件集成和擴展提供了一條新的思路。