《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > WFMS中自動執行分布式引擎的實現
WFMS中自動執行分布式引擎的實現
王 偉,張 鋼
天津大學 計算機科學與技術系,天津300072
摘要: 介紹工作流管理系統中自動執行分布式引擎的實現及總體流程。
Abstract:
Key words :

摘   要: 介紹工作流管理系統中自動執行分布式引擎的實現及總體流程。
關鍵詞: WFMS  分布式引擎  自動執行  XML  解析器

  隨著網絡技術和市場經濟的發展,信息管理變得越來越重要。尤其是在企業管理中,由于資源的擴充,員工的增加,情況的變動,使企業時刻處于變化中,所以就需要有一種管理系統使得企業具有自適應和重配置的能力,于是工作流技術應運而生。工作流就是業務流程的計算機化或自動化,必須有一種對工作流進行管理和控制的工具,即工作流管理系統。工作流管理系統是一種能夠完整地定義、管理和執行工作流的系統,這些功能通過一組軟件的執行來實現,而這組軟件的執行順序由一種計算機化的工作流邏輯表示來完成。工作流是一項快速發展的技術,各種行業都在逐漸地采用工作流技術。其主要特點是過程的自動化處理,特別是對那些與IT應用程序和工具交互相關的過程進行自動處理。工作流技術正廣泛用于保險、銀行、法院和行政管理等環境。
1  FlowStep介紹
  FlowStep是一個基于Web的分布式工作流管理系統。主要由工作流控制臺、XML文件解析器和工作流引擎三個部分組成。這三個組成部分部署于一個共同的分布式環境中。
  工作流控制臺是FlowStep系統提供給各類用戶的基于Web瀏覽器的管理界面。工作流控制臺具備在任務表中顯示、處理和刪除任務項的功能。任務表中的各條記錄對應著每一次實例化后某一手工型活動的實例,即任務。
  不管是使用建模工具,還是直接進行工作流程定義,都要生成XML文件,其中的每個任務都成為一個活動,被分解為步幅XML文件。最主要的作用是對當前要執行的任務的XML文件進行解析,從中取得這次任務的參數信息,根據這些信息,由引擎來執行當前任務。XML文件解析器所負責的工作應該是屬于工作流執行服務的一個組成部分。
  工作流引擎是FlowStep系統的核心部分,直接對應著參考模型體系結構中的工作流執行服務部分,它的部分功能分給了XML文件解析器去完成。工作流引擎是過程定義的解釋器,它是工作流執行服務的核心。其主要功能包括:解釋過程定義;創建過程實例并控制其執行;調度各項活動,控制過程實例間的轉換,包括串行或并行的操作、工作流相關數據的解釋等;為用戶工作表添加工作項等。
2  現有工作流管理系統的缺陷
  目前市場上很多工作流管理系統并沒有實現真正的分布式引擎。集中式引擎已經過時,不能滿足現代企業的要求,還有一些略帶分布式性質的工作流管理系統,如:工作流引擎惟一存在于一臺主機,流程處理器收到任務信息,根據任務類型,將任務分發給相應的處理引擎線程,這些引擎都存在于一臺主機上,增加了服務器的負擔。由于各個線程都在運行,隨時準備接收任務,也使得系統變得更加復雜。
對于一個大型企業(或者是跨國公司),其銷售部、研發部、客戶支持部可能分布在不同的城市(甚至是不同的國家)。若有一個業務流程需要這三個部門協作完成,三個部門的相關資源都在自己的部門,則集中式的工作流引擎便不能完成這項工作, 因此工作流必然向分布式發展。
3  分布式引擎的概念和不足
  分布式引擎使用一組分布在不同節點上的工作流引擎共同協作來完成整個工作流實例的執行。每個工作流引擎完成其中一部分實例的執行,不同工作流引擎之間通過可靠的通信機制實現協作。分布式的工作流執行服務中,每個工作流引擎只控制過程執行的一部分,并與這部分過程中的活動所涉及的用戶及應用工具進行交互。實現分布式引擎,企業就可以根據部門劃分引擎,使得各個部門之間即合作又不互相干擾。
但是,目前的工作流管理系統WFMS中除了要實現分布式引擎,還需要實現任務的自動順序執行。因為每個工作流程中都存在很多不同類型的任務,如圖1所示。如果分布式引擎只是執行完相應的任務,再由主引擎繼續分配任務給相應引擎,這樣就增加了很多消息的傳送,不但增加了流程執行時間,還給系統增加了復雜度,所以采用一種自動執行任務的機制是很有必要的。

4  自動執行分布式引擎的實現
  如圖2所示,結合FlowStep舉例說明自動執行分布式引擎的實現。對于一個企業來說,企業數據可能包含文檔、人員和聯系郵件,因此可以將文檔管理、人員管理、郵件管理分為三個引擎分別放在client1、client2、client3三臺主機上,各自執行不同的任務。在client0上設置一個master主控工作流引擎,用戶使用建模工具所定義的工作流過程將統一以數據庫的形式保存在服務器上,master工作流引擎也布置在這個服務器上,管理工作流定義數據庫。建模得到的流程定義需要轉換為XML語言表示的文件才可以被工作流引擎解釋執行。若無建模工具,則直接由XML語言進行工作流程定義。

  在自動執行分布式引擎的實現中,消息傳遞是一個比較重要的機制。實現了分布式,就意味著除了用戶與引擎之間外,引擎與引擎之間的消息傳遞變得比較頻繁,FlowStep直接采用JMS的消息傳遞方式。
  Java消息服務(JMS)是SUN提出的旨在統一各種MOM系統接口的規范,它包含點對點(Point to Point,PTP)和發布/訂閱(Publish/Subscribe,Pub/Sub)兩種消息模型,提供可靠消息傳輸、事務和消息過濾等機制。JMS(Java Messaging Service)的工作機制為:一個發送者將消息發送到一個目的地;另一個接收者從這個目的地得到這個消息,該目的地充當橋梁的作用。發送者和接收者不需要知道對方的信息,只需要知道消息的目的地和消息的格式。JMS的目的就是要提供給消息系統用戶一個固定的接口,與消息提供者無關。這樣,客戶端的應用程序可以在不同的機器和操作系統中使用。
  FlowStep采用的JMS消息傳輸是點對點隊列方式,即消息從一個發送者發送到一個接收者。WebLogic服務器會充當消息服務器,在收到新消息后將其保存到一個文件中;消息的接收方沒有必要一直監聽消息端口,而是可以自由地完成當前的任務,直到隊列中沒有新的消息激活該模塊為止。
  master工作流引擎主要用來記錄各個執行工作流引擎的配置情況,并對執行工作流引擎的狀態進行監控,另外還應具有故障處理的能力。需要注意的是master和slave工作流引擎必須具有對XML文件進行解析的功能,這樣才能對任務進行識別并執行。
  當工作流程被定義的時候,主控工作流引擎解析流程XML文件,得到第一個要執行的任務,不同的任務由不同的標識符來表示。如果第一個要執行的任務是文檔方面的(如圖3所示), master工作流引擎解析得到<docmanage>后,將流程XML文件傳遞給client1的文檔管理引擎,由文檔管理引擎來執行。文檔管理引擎內部根據需要也定義了子引擎,如文檔編輯、文檔處理、文檔屬性,分別標識為<docedit>、<doc>、<docpropertity>。文檔管理引擎解析XML文件的過程中,識別到這些標識符之后,便交由相應子引擎來執行,一旦文檔引擎識別到</docmanage>,則說明當前任務結束。繼續識別到下一個標識符為<mailmanage>,于是向郵件管理引擎發送消息,并將流程XML文件傳送給郵件管理引擎繼續解析執行,一直執行下去,直到整個流程文件執行完畢,向master工作流引擎返回成功消息。中間如果發生錯誤,則向主引擎發送消息,由主引擎進行處理。

  圖4顯示的底層數據庫主要用來存儲各個引擎處理的數據。使用一個集中的數據庫而不是在各個引擎上分別建立數據庫,以便使引擎之間可以互相訪問各自數據庫并且方便數據庫的維護。
 

5  總體流程
  (1)web瀏覽器提供一個可視化界面,使用戶可以清晰地看到工作流的過程。
  (2)master工作流引擎先將得到的建模定義轉化為XML文件(可以為直接的過程定義XML文件),然后根據解析得到的任務類型,將XML文件和任務分配到首先要執行的任務引擎。
  (3)相應引擎執行任務,執行完畢后根據下一個任務標識符將XML文件發送到下一個引擎執行。
  (4)每個引擎執行過程中都會訪問底層數據庫服務器,進行數據的讀取和存儲。
6  總  結
  隨著經濟的發展,企業對管理系統的要求也越來越高,自動執行分布式引擎的管理系統才是真正可以適應現代企業需求的。對于一個企業來說,能夠快速方便的增加或者刪除任務處理引擎是比較重要的。這樣,隨著企業機構及職能的變化,可以及時更新管理系統,快速投入使用,節約時間和成本,使得企業管理更加靈活。
參考文獻
1   范玉順,羅海濱,林慧蘋等.工作流管理技術基礎——實現企業業務過程重組、過程管理與過程自動化的核心技術.北京:清華大學出版社,施普林格出版社,2001
2   陳鵬飛,張鋼,王慶節.工作流管理原型系統的設計與實現.  微處理機,2003;(5)
3   Tolksdorf R.Workspaces:A Web-Based Workflow Management System.IEEE Internet Computing,2002;(9)
4   張宏展,蔡宗琰,吳欣.實戰J2EE與WebLogic Server應用開發.北京:電子工業出版社,2004
5   方美琪.XML及其在電子商務中的應用.北京:清華大學出版社,2003

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 免费观看a视频 | 成年人免费黄色片 | 超清波多野结衣精品一区 | 国产91成人精品亚洲精品 | 欧美在线黄色 | 精品一区二区在线欧美日韩 | 久久久久久久久久久视频国内精品视频 | 欧美成人综合 | 国内自拍偷拍视频 | 视频一区在线播放 | 久久久久久久性潮 | 亚洲国产最新在线一区二区 | 欧美成人三级伦在线观看 | 欧美另类视频在线观看 | 国产精品久久久久久影院 | 国产激情一区二区三区成人91 | 国产精品亚洲第一区柳州莫青 | 久久视频这里只有精品 | 国产三级a三级三级三级 | 日本欧美国产精品 | 国内久久久 | 美女黄网站色一级毛片 | 成人三级在线观看 | 天堂8中文在线 | 国产理论在线观看 | 69视频成人| 久久手机在线视频 | 欧美老妇免费做爰视频 | 手机看片国产日韩 | 欧美1区二区三区公司 | 九九爱精品 | 黄色理论视频 | 4455永久在线毛片观看 | 国产精品久久久精品视频 | 天天爱天天做天天爽天天躁 | 国产一级成人毛片 | 国产第一草草影院 | 男女牲高爱潮免费视频男女 | 国产精品国产三级国产在线观看 | 欧美一级专区免费大片俄罗斯 | 欧美亚洲日本视频 |