做者: comsci 發表於 2010-10-08 09:27 原文連接 閱讀: 7 評論: 0html
本文簡要介紹了JWFDv0.96工做流系統的流程圖XML模型結構,其中帶有少許的專業語言,淺顯易懂,適合初學工做流系統的設計和開發者,在瞭解這個結構以後就須要你們把注意力集中到流程圖XML數據到後臺SQL數據庫結構的創建過程當中,以便你們理解JWFD工做流引擎的工做原理及其實現方式java
1:使用JWFD流程設計器畫出一個簡單的串行流程圖(保存爲XXXX.gxl)node
這裏使用的流程圖的數據結構是採用圖論中的(頂點,邊)模型來生成的,這方面的理論知識請參考清華大學的教程第七章-圖-第二節-圖形的存儲結構數據庫
2:保持爲GXL文件(XML)格式,能夠點擊流程圖設計器下邊的XXXX.GXL欄目,查看這個流程圖的XML數據內容,下面我詳細介紹下這個流程圖的XML數據結構的意義,由於數據庫的數據是以這個XML數據爲基礎的而生成的,所謂建模的過程就是指從設計流程圖到最後數據進入數據庫保存這一過程,而流程圖的矩陣建模,能夠參考個人另一片文章(JWFD工做流引擎設計--簡單矩陣建模和應用(初步討論) http://www.javaeye.com/topic/718562)數據結構
以流程圖的第一個節點「開始」爲例子,其它流程節點的XML結構都是一致的編輯器
(說明:一個流程圖節點的XML數據結構主要有下面所描述的6個核心屬性構成,實際上,一個商業的流程管理系統中的流程圖的節點屬性遠遠比JWFD裏面的節點屬性多,可是這些屬性都是在這6個屬性上面進行擴展而成的,具體的擴展方法我將在另外的文章中介紹)字體
<node id="node0"> spa
<attr name="Label">設計
<string>開始</string> htm
</attr>
<attr name="Bounds">
<tup>
<int>120</int>
<int>180</int>
<int>42</int>
<int>60</int>
</tup>
</attr>
<attr name="Font">
<tup>
<string>宋體</string>
<int>0</int>
<int>12</int>
</tup>
</attr>
<attr name="Icon">
<tup>
<string>resources/pc04.gif</string>
</tup>
</attr>
<attr name="Condition">
<tup>
<string>none</string>
</tup>
</attr>
</node>
屬性名稱node id :這個屬性是節點的實際名稱node0是流程圖經過建模進入數據庫以後的實際名稱, 和屬性label標籤的名稱是不一致的,這點須要注意,這個屬性值由系統自動生成
屬性名稱 label :表示該節點顯示的中文名稱,這裏是"開始",這個屬性由用戶自定義
屬性名稱 Bounds :表示這個節點在流程圖中的絕對座標數據,從上到下分別是X座標和Y座標和節點的長度與寬度,這個屬性由系統自動生成
屬性名稱 Font:表示該節點名稱所使用的字體類型和字體大小,例子裏面是宋體和12標號的字體大小
屬性名稱 Icon:表示該節點所使用的圖標icon,實際上Jgraph的默認圖標是很單調的,而JWFD裏面的圖標是我隨意選擇的,不是很正規,若是要作商業的流程系統,請用戶選擇一套比較標準的流程節點圖標(具體的圖標替換方法我會在另一篇文章中介紹)
屬性名稱 Condition:這個屬性是JWFD自定義的屬性,用於給節點添加嵌入式的公式和腳本數據,這個數據由用戶經過節點屬性編輯器自行添加和修改
這個條件表達式所編輯的數據就保存在這個屬性值中,通過系統的處理,最終這個條件表達式的數據就保存進入流程數據庫中的cond字段中,具體的數據結構請參考jwfdv0.96的數據庫結構
那麼上面介紹了一個節點的XML數據結構,可是一個完整的流程圖是由節點和鏈接節點的線段組成的,因此咱們還須要瞭解鏈接節點的邊的數據結構,纔可以完成流程的數據結構。。。下面咱們就介紹線段-邊的XML數據結構(略)
==================================================================================
所有本文的內容請下載在博客園中的JWFD官方下載的JWFD文檔的壓縮包,這裏只選擇本文的前半部.............
下載地址 http://www.cnblogs.com/comsci/favorite/260690.html