基于 Word 的工作流表單引擎設計和實現_第1頁
基于 Word 的工作流表單引擎設計和實現_第2頁
基于 Word 的工作流表單引擎設計和實現_第3頁
基于 Word 的工作流表單引擎設計和實現_第4頁
基于 Word 的工作流表單引擎設計和實現_第5頁
已閱讀5頁,還剩4頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、基于Word 的工作流表單引擎設計和實現王雁杰,唐達大連理工大學計算機系,大連 (116024E-mail :摘 要:表單是工作流系統中信息交互的主要載體,表單引擎用于創建和維護電子表單等操作。傳統的HTML 表單創建復雜,擴展性差,不能很好的滿足業務流程中的表單多變的需求。本文分析了當前工作流表單引擎的研究現狀,在對Microsoft Word對象模型深入研究基礎上,建立了表單信息模型,并結合Word 的特性,采用VBA(Visual Basic for Applications和COM(Component Object Model組件技術,給出了Word 表單引擎的體系結構和實現方案,使表

2、單不僅能夠靈活方便的創建和維護而且具有所見即所得的打印特性,為工作流系統提供了一套靈活、易用的表單解決方案。關鍵詞:工作流,表單,Word ,VBA ,COM中圖分類號:TP3931引言工作流技術是當今信息系統中應用最廣泛的技術, 廣泛應用于辦公自動化系統、電子政務應用等多個信息化應用領域。根據國際工作流管理聯盟(WfMC的定義“工作流是一類能夠完全或者部分自動執行的業務過程,根據一系列過程規則,文檔、信息或任務能夠在不同的執行者之間傳遞、執行”。表單在工作流系統中承載著各種信息的收集和發布的任務,在應用系統中存在著大量的表單驅動的業務流程,業務的靈活多變必然要求工作流表單引擎也要具有靈活、易

3、用的特性。在當今工作流的發展中,“缺少一個表單定制工具來定制流程所對應的頁面”成為新的研究課題。然而,由于UI 開發不屬于流程引擎的范疇,很多工作流產品不包含表單開發工具,或者只包含一個簡單而死板的頁面開發工具,對應用的UI 開發不能提供很好的幫助。隨著近年來Microsoft Word在辦公領域的普及,使得Word 已成為各種文檔、表單事實上的標準。本文在對Microsoft Word深入研究的基礎上,給出了基于Word 的工作流表單引擎的設計思路和實現方案,借助Word 具有的普及性、易用性等諸多優點,對于實現大量的以表單驅動的業務流程自動化,具有很高的應用價值。2Microsoft Wo

4、rd對象模型構建基于Microsoft Word的工作流表單引擎,首先要對Word 有足夠的了解。一篇Word 文檔是由若干諸如段(Paragraph,表(Table等對象構成。Word 文檔中經常操作的對象主要有以下一些:Application : 代表Word 應用程序。Documents : Word當前打開的所有文檔對象所組成的集合。Document : 代表一篇文檔。InlineShapes : 代表由InlineShape 對象組成的集合,代表文檔、區域或選定內容的所有嵌入式圖形。InlineShape : 代表文檔的文字層中的對象,只能是圖片、OLE 對象或ActiveX 控件。

5、 Paragraphs : 代表所選內容、范圍或文檔中的所有段落。Range : 該對象代表文檔中的一個范圍。每一個Range 對象由一起始和一終止字符位置定義。若要針對Microsoft Word開發解決方案,就需要與Word 對象模型1 (圖1 進行交互。 圖1 Word對象模型Fig.1 Word Object Model3表單信息模型的建立針對政府、企業需要處理的大量的基于表單的業務流程,本文提出了一種利用表單來表達工作流信息的方法, 流程運行中的各種信息, 如表單的結構、表單的數據、該表單所代表的業務類型和內容、任務創建時間、任務涉及到的參與者等信息都是記錄在表單中的。表單是這種模式

6、下的主要信息載體, 也是系統和用戶交互的主要方式。定義1(過程 一個過程是定義好的一個有向圖p=(A,L,這里A=i|i=1,n是活動集;L(i, j|i, j A是鏈接集,一個鏈接如(i, j 表示第i 個活動是第j 個活動的前置活動。定義2(表單 一個表單Fk(k=1,K, 由一系列的表單單元組成, 每個表單單元由最基本的表單元素組成, 即Fk=Um|m=1,M,Um=fl|l=1,L,f表示表單的基本元素。根據表單信息的范圍和表現形式, 可以把表單信息模型分為三層:表示層、數據層和控制層,其結構如圖2所示: 圖2 表單信息模型Fig.2 Form Information Model表示層

7、即表單的外觀,包括表單的樣式和表單域。表單樣式主要由文字、表格、圖形等元素構成。表單域是進行數據交互的接口,常用的表單域對象有:標簽(Label、文本框(TextBox、復選框(CheckBox、選項按鈕(OptionButton等。數據層包含了表單中的全部數據信息。其中,表單域數據是數據信息的主體,用于系統與用戶以及用戶之間的數據交互。表單的相關信息包含兩部分內容:用戶基本信息和用戶權限。其中,用戶的基本信息包括參與者的部分重要屬性,如姓名、角色和E-Mail 等。用戶的權限信息描述了不同的參與者對表單的操作權限,如只讀、只寫、無權、可見或不可見等。控制層用于控制表示層和數據層的實現。對表示

8、層的控制主要包括對表單樣式和表單域的添加、編輯、刪除等,對各種表單元素屬性的控制,如顏色、大小、位置等,以及對表單域對象的屬性控制,如默認值、名稱等。對數據層的控制,目的是將表單的相關數據提取出來進行處理,并存放到后臺數據庫中。4Word 表單引擎的系統設計4.1 需求分析在政府、企業中大量的以表單驅動的業務流程中,表單是處于核心地位的,表單的樣式、內容和組合方式決定了業務的種類和特點。因此,客觀上要求表單引擎在工作流管理系統中應該成為核心部件,并以此作為整個系統設計的根本原則和出發點。在軟件開發的開始階段,通常由用例圖來描述客戶的需求,用例圖用圖形化的方式表示系統需求,具有簡單、直觀的特點。

9、Word 表單引擎的用例圖如下: 圖3 用例圖Fig.3 Use-Case Diagram4.2 總體設計從總體架構上分析,工作流管理系統是以表單引擎為核心和基礎的一套懸掛式系統,表單引擎的內部結構以及與其他子系統的關系如圖4所示: 圖4 表單引擎結構Fig.4 Structure of the Form Engine表單定義工具屬于表單信息模型中的表示層。根據表單定義創建表單,包括表單樣式和表單域。表單管理器、表單調度管理器和訪問控制管理器同屬于表單信息模型中的控制層。表單管理器主要功能包括創建新表單、修改現存表單和刪除表單等操作。表單調度管理器在工作流引擎的支持下,實現表單的發布和提交。訪

10、問控制管理器在相關服務系統得支持下,對組織機構中與該業務相關的參與者進行訪問控制。表單數據屬于表單信息模型中的數據層。其中,持久化數據是指表單中的各個元素,將以模板的形式整體存入模板庫。動態數據是指表單域中的數據,在提交的同時會發送到數據庫中相應的數據表中。數據訪問基礎服務則通過ADO(ActiveX Data Objects來實現表單引擎與后臺數據庫的連接。4.3 數據庫設計根據系統的總體設計,表單引擎的數據庫結構如圖5所示: 圖5 數據庫設計Fig.5 Database Design其中,表單和數據項之間是一對多的關系,它們共同構成表單模板。表單實例和數據實例之間也是一對多的關系,它們構成

11、具體的表單實例。同樣,同一表單模板也可創建多個表單實例。5Word 表單引擎的系統設計5.1 Word電子表單的創建(1)創建表單樣式。根據相關的業務需求和規范,利用Word 所提供的功能,可以在已有的Word 文檔上進行修改,也可以重新定義一份表單。這樣完成的表單是靜態的,不具有數據交互能力。表單域實質上是ActiveX 控件,在Word 中可用OLE 編程標識符(有時也稱ProgID )創建Automation 對象。表1列出了AxtiveX 控件的OLE 編程標識符4。表1 ActiveX控件的OLE 編程標識符Tab.1 OLE programmatic identifier of t

12、he ActiveX controls控件名稱 OLE編程標識符 控件名稱 OLE編程標識符為使表單域能通過鼠標拖動而自由移動位置,需要將InlineShapes 對象轉換位Shape 對象,可以使用ConvertToShape 方法來完成圖形的類型轉換。5.2 Word電子表單的維護維護一張已創建的Word 電子表單,可使用Word 自身的功能編輯表單樣式,使用表單引擎的擴展功能修改其中的表單域。以編輯文本框為例,主要涉及到的屬性4如表2所示:表2 文本框常用屬性Tab.2 Common properties of the TextBox Object屬性名稱NameTextHeightWidthPassWordCharMul

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論