本站小編為你精心準備了企業信息微型流系統設計參考范文,愿這些范文能點燃您思維的火花,激發您的寫作靈感。歡迎深入閱讀并收藏。
中小企業作為最大的企業群體,在企業信息化建設方面存在迫切需求的同時,也對信息化解決方案提出了獨特的要求。一方面中小企業希望系統能靈活易用,支持快速部署。另一方面又希望信息化服務的價格比較低廉,而且大量傳統中小企業對軟件的高額開發和維護成本缺少足夠的認識,這樣在信息化解決方案中盡可能地使用一些輕量級的解決方案。
我們在長期的中小企業信息化實踐中,逐漸采用了一套微型的工作流系統,在開發和部署輕量級的前提下,為中小企業的信息化保留了足夠的靈活性和可用性。微型工作流系統同樣提供了比較完整的工作流體系結構,主要包括:數據存儲,流程引擎,表單生成器,可視化流程設計器。
一、數據存儲設計
工作流系統的數據存儲設計主要考慮流程數據存取模型,即如何組織流程模板中定義的數據,如何存取流程數據。設計的另外一個方面是設計工作流系統本身運行所需要的其他數據。
1.數據存儲設計概述
數據存儲設計中對工作流系統必不可少的數據表分為三個部分:
(1)組織機構表
(2)流程系統支撐表
流程注冊表:存放目前系統中部署的流程及其信息;
流程任務表:存放系統中所有的流程任務;
通知信息表:存放系統郵件,系統通知等;
流程角色表:存放所有流程中的角色;
角色用戶映射表:存放角色映射的具體用戶。
(3)流程數據表
流程數據表:流程數據表用來存放已部署流程的流程數據;
簽批數據表:存放所有流程簽批數據。
2.流程數據存取模型
流程支持的數據類型很多,為了增加系統的靈活性,系統通過配置文件來決定數據類型在流程數據庫創建時使用的數據字段類型。這個特性還可以規避數據庫類型對系統的限制,在部署不同數據庫時可以修改該配置文件來映射到該數據庫的自動類型定義。比如使用Oracle數據庫時可以如下定義:
text=varchar2(500)
list=varchar2(32)
其中等式左邊是模板中使用的數據類型,右邊是創建流程數據表時使用的數據庫字段類型。
二、模板系統
模板是表達流程的載體,其表達能力,擴充能力和可讀性在微型工作流應用中顯得非常重要。我們采用XML標注語言作為模板描述語言。XML目前在數據交換,配置文件等應用方面應用非常廣泛,幾乎所有的開發平臺都很好的支持XML,同時XML作為標注語言非常易于擴充,方便編輯和部署。模板系統包括兩個大的方面:流轉關系和數據描述。
為了方便說明,下面是截取的模板的DTD片段:
流程模板中定義如下關系:順序,并行,條件分支,跳轉。
Sequence:定義順序關系。
Parallel:定義并行關系。
If:定義條件分支。
任務包括兩種:task元素定義人工執行任務,agent元素定義各種自動執行的任務,而且可以通過agent元素擴展流程中的各種個性化需求。比如目前最常用的一些功能都可以通過定義不同的agent元素,引入到工作流定義中:操作外部業務數據,Email發送,短信提醒,文件操作等。
三、流程引擎
引擎作為系統運轉的核心,我們可以將引擎系統分為如下三個主要部分:模板加載器,流程管理器,流程驅動器。
1.模板加載器
模板加載器的功能是分析模板文件,將模板配置的流程變為內部模型存儲在流程管理器中。由于流程支持流轉方式的嵌套,比如并行流作為順序流的一個環節,而條件分支流又作為并行流的一個環節。引擎內部使用樹結構作為流程內部的存儲實體,下面是一個內部存儲結構的示意圖:
圖流程內部存儲結構(Inter-StructureOfWorkflowTemplate)
從圖中可以看出,該存儲結構是一種遞歸的形式,所以模板的解析算法也采用了遞歸的方法。
2.流程管理器
流程管理器主要完成已配置流程的內部模型維護和管理。系統啟動時會有一個加載所有已配置模板的過程,在該過程中模板加載器會將所有的模板進行解析和轉換,將轉換完成的內部模型注冊到流程管理器中,流程管理器保證和維護了流程模板的最新版本在內存中的映像。
3.流程驅動器
流程驅動器的主要功能是按照流程內部模型驅動流程實例流轉。通過上述的內部模型存儲結構可以看出,流程內部模型是一個樹狀結構,所有的葉節點是可執行環節,非葉節點是邏輯控制的容器類節點。
流程驅動器也采用單體模式設計,所有操作都是線程安全的。
四、表單生成器
表單生成器解決工作任務執行時如何創建給用戶的工作表單的問題,主要包含兩個大的方面:表單布局和表單數據操作。表單布局是小型工作流系統和大型工作流系統的重要區別之一。本系統的表單布局和大型工作流系統有如下重要區別:
1.用戶不能自定義表單布局,僅僅能在模板中通過Style屬性控制控件樣式;
2.用戶不能添加自定義的圖形,圖標等內容;
3.用戶在流程部署后不能調整數據的順序。
五、可視化流程設計器
本系統也提供了一個可視化的流程設計器。流程設計器為模板提供了一個圖形化的編輯功能。雖然直接編輯模板是最方便快捷的方式,不過對用戶的計算機水平有較高的要求,在一般的中小企業中沒有專門的IT人員,所以需要提供一個可視化的流程設計器來簡化模板的配置工作。
六、結束語
本文討論了在中小企業的應用中可用的一種工作流系統設計。實踐中我們采用.net平臺完成了整個系統的開發,采用技術完成了表單生成器。整個系統的開發規模為10個人月,在實踐中取得了很好的效果,下面是實踐中的具體情況:
1.企業規模:600人
2.部署流程規模:40個
3.流程平均部署時間:3天
4.日均處理流程數:>120個
5.日均處理任務數:>1000個
用戶通過部署工作流系統大大縮短了流程的部署時間,同時大大降低了開發和擁有成本。