中國人民銀行石家莊中心支行 陳力勇
傳統(tǒng)的企業(yè)管理軟件,一般都是根據不同的企業(yè)進行定制的管理軟件。這些定制的管理軟件各不相同,各個企業(yè)的軟件之間無法相互復用,企業(yè)管理軟件缺乏變化的靈活性。不同的企業(yè)有著不同的管理模式和不同的管理流程,甚至不同單位的同一工作的工作流程也不盡相同。隨著企業(yè)的發(fā)展,企業(yè)管理的進步,企業(yè)管理軟件會根據新需求而不能適應現(xiàn)有管理流程,需要對軟件大動干戈,甚至是重新編寫企業(yè)管理軟件,這樣不僅僅影響企業(yè)的正常工作,而且無形之中擴大了軟件成本。隨著計算機技術的飛速發(fā)展,計算機管理系統(tǒng)應該適應企業(yè)的這一變化。為了適應這一現(xiàn)象,我們可以將業(yè)務邏輯和過程邏輯相分離,在業(yè)務邏輯不變的情況下,只需要修改過程邏輯就可以解決問題,而不需要對管理軟件大動干戈。將工作流技術與業(yè)務系統(tǒng)結合是工作流技術的核心思想。
Lotus軟件是IBM公司開發(fā)的一款辦公電子協(xié)作平臺。其中Domino/Notes產品由于其在協(xié)作平臺市場上占據絕對優(yōu)勢,目前已經成為業(yè)界的一種群件標準。越來越多的企事業(yè)應用Lotus Domino/Notes軟件平臺開發(fā)辦公自動化系統(tǒng),將Lotus Domino/Notes軟件名聲越來越大。很多行業(yè)內外的人一想到辦公自動化系統(tǒng),就會到了Lotus,而提起了Lotus軟件,就一定會想起辦公自動化系統(tǒng)。以至于有一種說法,Lotus就是OA,OA就是Lotus。這個說法,一方面體現(xiàn)了Lotus軟件在中國協(xié)作市場受到認同和推廣的普遍事實;另一方面,也是因為許多技術和非技術人員對于Lotus軟件的內涵和應用還了解得不夠深入和全面。
Lotus Domino/Notes不僅僅是一款優(yōu)秀的辦公電子協(xié)作平臺,而且它還具有可靠的安全特性,它有層層的安全控制機制,共八層。從上層到最底層的安全機制分別是:域安全、區(qū)段安全、文檔安全、表單視圖安全、數(shù)據庫安全、服務器安全、會話安全、網絡信道安全共八層安全機制。
任何一個工作流程都是需要一個人或者一組人完成一系列的任務,這些任務如收發(fā)電子郵件,自動跟蹤項目計劃等等。工作流應用程序應該滿足能夠自動完成這些任務。本文以群件系統(tǒng)Lotus Domino/Notes為平臺,按照軟件工程思想設計并實現(xiàn)基于B/S架構的辦公自動化系統(tǒng)項目。由于語言的跨平臺性,我們選擇JAVA作為開發(fā)語言。
工作流管理信息系統(tǒng)的設計,首先步驟應該是工作流建模,將信息存儲到流程信息數(shù)據庫中,通過JDBC協(xié)議與工作流引擎進行通訊。工作流引擎作為一個遠程服務器對象,定義了流程操作的接口,客戶端用戶可以通過JAVA RMI,即JAVA Remote Method Invocation遠程方法調用實現(xiàn)與工作流引擎的通訊。工作流引擎封裝了RMI遠程方法調用對象,如果要為工作流引擎開發(fā)新功能,直接在接口中增加新的接口即可,很容易實現(xiàn)功能擴展。在Domino服務器Notes應用數(shù)據庫中,部署RMI的遠程接口,RMI服務器對象編譯所得的客戶端stub,可序列化對象DocState等等。它的工作步驟是:首先工作流引擎調用RMI服務器對象與本地主機上進行綁定,客戶端調用按名稱查詢遠程RMI對象并獲得其引用,然后通過InterfaceEngine接口中提供的方法,對工作流引擎進行操作。
Web對客戶端的調用方法有兩種,一種是通過輸入URL地址直接運行。另一種是頁面提交方式,該方式是通過調用webQuerySave來部署。
在DominoR6版本中,附帶了文檔集模板和工作室模板,它們是兩個應用模板。軟件中模板的擴展名為.ntf。我們可以根據具體工作流需要直接采用Domino軟件所提供的現(xiàn)有模板。
文檔集模板是doclbw6.ntf,主要職責是使用特定的評審流程,將文檔鏈接以郵件的形式發(fā)送給一個或者一組收件人。其中評審方式分為兩種,一種叫串行評審,一種叫并行評審。前者不希望所有收件人同時評審文檔。后者只要一個收件人備注了文檔,則會通知其他所有收件人更新這一現(xiàn)象。
工作室模板是teamrm6.ntf。文檔集模板而工作室模板的職責是自動發(fā)送并歸檔簡報或者便簽。
如下步驟是一個評審活動的郵件收發(fā)步驟。User01為標記評審用戶,checker01為評審用戶。步驟如下所示:
a.首先建立用戶user01和checker01。
b.首先創(chuàng)建一個文檔集數(shù)據庫。服務器為默認安裝服務器,標題為“測試工作流1”,文件名為doclib6.nsf,勾選“顯示高級模板”和“繼承以后的設計更改”。點擊“確定”按鈕。
c.會彈出“存取控制列表:測試工作流1”的對話框。點擊“-Default-”,屬性列權限為“作者”,檢查它的存取控制列表,勾選“創(chuàng)建文檔”、“刪除文檔”、“創(chuàng)建個人代理”、“創(chuàng)建個人文件夾/視圖”、“復制或拷貝文檔”。點擊“確定”按鈕。
d.切換到用戶user01,打開數(shù)據庫,創(chuàng)建一個未評閱的文檔,并制定一個評閱者checker01。然后點擊“提交評閱”按鈕;此時可以通過Designer查看此操作的代碼。
e.切換到checker01用戶,打開checker01用戶的郵件數(shù)據庫。收件箱中會有一封郵件,打開查看是剛才user01發(fā)送的評閱文檔。郵件中標記紅色五角星符號的為未讀郵件。其中文檔的“Send”方法,專門負責發(fā)送文檔。
f.打開未讀郵件,在郵件正文中會有文檔鏈接。通過單擊鏈接,可以打開“文檔集數(shù)據庫”中未評閱的文檔。打開附件,閱讀文檔內容,并編輯文檔輸入評審意見,輸入完成后,單擊“評閱完成”按鈕。會提示“user01此文檔完成評閱的通知已發(fā)出”的字樣。該步驟中所用的關鍵代碼“AppendDocLink”是附加文檔鏈接的意思。
g.切換到user01用戶,打開user01的郵箱,會收到一封未讀郵件,點擊查看剛才評閱的文檔及其評閱意見。
以上步驟就完成了一個文檔的評審工作,如果評審人員不只是一個,可以增加評審人員。如果數(shù)據庫的主要職責是為了收發(fā)郵件,則還需要在Domino目錄中創(chuàng)建“函件收集數(shù)據庫”文檔。需要注意的是每個存儲該數(shù)據庫副本的服務器也都必須在Domino目錄中包含此文檔。只有包含了此文檔,數(shù)據庫才能正常收發(fā)郵件。
Lotus Domino軟件是非常強大的,主要代理有ReadACL代理,OnSubmit代理,SearchProc代理,Claim代理,Remind代理,Suspend代理,TerminateProc代理,Reassign代理等等代理。ReadACL代理指的是在系統(tǒng)啟動時,自動讀入各人員的組織模型和操作權限。OnSubmit代理還可以創(chuàng)建一個自動答復代理,自動答復已收到的郵件。SearchProc代理可以自動搜索到流程中的執(zhí)行文檔。Claim代理是自動開展某項任務的執(zhí)行以及同步任務的處理,可以通過選擇“討論數(shù)據庫”功能,使用代理發(fā)送通知。Remind代理是應用在有時需要創(chuàng)建一個定時代理,定時通知每項任務的負責人,可以使用代理郵寄通知功能。Suspend代理是強制掛起一項任務。TerminateProc代理是強制終止一項任務。Reassign代理是為某項任務重新設置執(zhí)行者。
用Lotus Domino群件設計實現(xiàn)工作流管理信息系統(tǒng)雖然比較容易上手,但是需要設置的內容還是很多的。一個工作流應用程序從開始的文檔生成,到文檔流傳到不同負責人手中進行評審,再到不同執(zhí)行者手中進行具體實施,每個階段,相關人員負責與文檔相關的特定任務。將很多信息文檔、人員、職能有機的組織、協(xié)調管理是工作流主要解決的問題。工作流的應用使得用戶能夠方便快捷的獲取自己所需的數(shù)據文檔,為領導決策和工作人員日常工作提供了方便的服務。同時,需要注意的是工作流管理信息系統(tǒng)的應用對于辦公人員的計算機水平有一定的要求,在應用之前需要進行必要的培訓。
[1]Rose M Kelleher,Thomas A Jones.武坤等譯.Lotus Domino/Notes R5 web高級編程(第1版)[M].北京:機械工業(yè)出版社,2000.
[2]范玉順.工作流管理技術基礎[M].北京:清華大學出版社,2001.
[3]王少鋒,王克宏.基于Java RMI技術的工作流管理系統(tǒng)的設計[J].計算機集成制造系統(tǒng),2000.
[4]楊新倫,等.基于LotusNotes/Domino的辦公自動化解決方案[J].廣西工學院學報,2000,1.
[5]武坤,等.Lotus Domino/Notes R5y應用教程[M].北京:機械工業(yè)出版社,2000,5.
[6]Kyle Brown Notes與Domino5實用大全[M].中國水利水電出版社,2001.
[7]羅林.Notes編程疑難詳解[J].人民郵電出版社,2000.