89. 基于Notes/Domino的文档工作流系统(一)
Notes/Domino作為一個數據庫系統和開發平臺,具有許多與眾不同的特點。這些特點使得它適于開發某些類型的應用系統(同時就不是開發其他一些類型系統的適宜平臺),這其中就包括工作流。這里指的并不是如工作流管理聯盟(Workflow Management Coalition, WfMC)制定的工作流標準(Workflow Reference Model)那樣通用的工作流,而是一類以文檔為中心的主要活動為用戶審批的工作流。Notes的文檔型數據庫、客戶端與服務器架構、自帶的用戶目錄和登錄校驗、與郵件系統的集成以及快速開發模型等設施和特性都為政府辦公和企業管理涉及到的各種流程的電子化的開發提供了巨大的便利。在Notes平臺上開發的工作流系統司空見慣,以至于很多有經驗的開發人員都有自己的作品。我在長期的工作中,也開發了自己的系統。在接下來的幾篇文章中,就將介紹這個系統的功能、特色、使用方法以及設計結構。最后會提供整個數據庫的下載供大家學習使用。
需要指出的是,用Notes開發工作流的優勢和名聲主要是建立在本世紀初,那時R5已具備上述的所有功能,而使用其他語言從頭開發一個功能完備、安全可靠的客戶端難度和工作量都很大,而且還有客戶端應用程序更新的麻煩。Web應用程序距誕生不久,不夠完善和成熟。J2EE、PHP、ASP、JavaScript等當時主流的Web開發語言遠未達到今天對應技術這樣發達的程度。時至今日,Notes平臺的上述優勢在與其他開發語言和數據庫比較時,都已不明顯,甚至落后。采用主流技術開發的工作流在功能和適用范圍上都已趕上和超過Notes平臺上的系統。Notes的缺點和局限決定了使用它很難開發出符合WorkflowReference Model標準那樣的通用工作流。盡管如此,由于Notes的用戶基礎以及XPages技術的推出,基于Notes平臺的工作流仍然可以繼續滿足特定的用戶群。
這里介紹的工作流基本情況為:工作流的名稱、節點和操作等配置保存在一組文檔中,方便在運行時創建和修改。工作流可運行于Notes客戶端或瀏覽器(需XPages支持)。客戶端版本有長期的應用實踐可證明可靠性,XPages版本也實施若干年。
功能(features)包括:
- 工作流的節點和操作可靈活自定義,包括每個節點具體有什么操作,沒有任何預設的名稱或數量上的限制。每個節點的用戶、特權用戶、每個操作的目標節點、操作的訪問權限等等都可以自定義設置。
- 操作的配置中包含字段校驗和郵件內容以盡量減少額外編寫代碼的需要。
- 許多配置可寫入公式。
- 支持兩種模式的單節點多人審批:“與”模式下某個節點的多名用戶都審批完才進入下一節點;“或”模式下某個節點的多名用戶只要有一名審批完即轉到下一節點。
- 客戶端和瀏覽器上運行的工作流共享配置數據,操作風格也完全一致。
- 具體工作流可通過擴展基類添加復雜的業務邏輯。
- 默認狀態下每個流程文檔的當前用戶以用戶名形式保存,因而可以在My Work視圖下看到需要自己處理的工作流。
- 定時發送HTML的匯總提醒郵件。
?演示
作為演示的是一個采購工作流。總體界面如下。左邊的導航分為兩類:Purchase Order下所列是普通用戶能訪問的,包括我創建的采購單My Purchase Order,等待我處理的采購單My Work,為流程中的一個特殊節點設置的Final Review,按狀態分類顯示所有采購單的Purchase Order,為導出到CSV設置好列的Exporting PO以及查看流程圖的View Flow Chart。Setting下所列是系統管理員和開發人員需要訪問的視圖,具體能看到哪些可根據權限設置,包括設置一般關鍵字參數的Settings,計算采購單號所用的Flow Number,配置流程參數的Flow Settings,保存各種運行日志的Log,顯示沖突文檔的Conflicts,顯示所有文檔的All Documents。
采購單主界面如下。表單上面兩個折疊小節都是只有開發人員才能看見的與文檔流程和權限有關的信息。標題下面的一行分別顯示當前采購單所處的狀態、處理人以及單號。
采購單的具體信息依據負責人和權限分布于多標簽頁表格的不同頁里。
最后一個標簽頁里顯示的是流程記錄。
所有的流程審批操作都是從工具欄的Action…按鈕觸發的,只有采購單的當前處理人或者管理員能看見該按鈕,點擊后會在彈出的對話框中看見為該節點設置的可用操作,也可以輸入意見。
定時代理按照設定的頻率向采購單各個節點的處理人發送匯總郵件。例如,用戶甲是IT經理,有三張采購單處于WaitingFor IT Approval的狀態,他就會收到一封郵件,正文中以表格形式列出三張采購單的基本信息。這樣可以免去通知郵件太多和太頻繁的問題。因為是演示,下圖中所有的通知郵件都發到同一個人的郵箱中。
如果以客戶端操作工作流,郵件中每一行的采購單信息使用notes://relativePath/dbReplicaID/docUNID格式的Notes鏈接,用戶單擊可直接在客戶端內打開該采購單。如果是采用XPages的工作流,鏈接就指向該采購單對應的Web頁面。
下一篇文章繼續演示XPages工作流的操作界面和配置。
總結
以上是生活随笔為你收集整理的89. 基于Notes/Domino的文档工作流系统(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中小软件开发企业将在云计算时代获新生
- 下一篇: 国考“同意报考证明”难倒考生