同劍飛
(西安外事學院現代教育技術中心,西安,710077)
基于J2EE的工作流引擎的探索與實現
同劍飛
(西安外事學院現代教育技術中心,西安,710077)
隨著我國信息化的不斷發展,生產企業的自動化程度不斷提高。以發達電子通信產業和IT網絡技術為支持平臺的工作流引擎技術隨之誕生,它不僅能夠提高系統的工作效率,并且,能夠實現企業中并行任務執行過程的線性化。基于此,本文研究了基于J2EE技術的工作流引擎的實現,以期為企業的自動化程度的提高提供技術上的參考。
J2EE;工作流引擎;企業
信息技術和電子商務的快速發展以及對它們的需求給應用程序開發人員帶來了新的壓力。近幾年,計算機技術發展有了新的突破,越來越多的企業對信息化建設更加重視。企業若想在激烈的市場競爭中生存下來,無法拒絕信息技術帶來得諸多優勢。而完成系統管理的自動化,將大大提高工作效率,有效進行信息分類,更好地向管理者及客戶展現所需信息。J2EE平臺提供了一個基于組件的方法來加快設計、開發、裝配及部署企業應用程序,實現了用更少的資金、更少的資源來更快地設計、開發企業應用程序。
1.1 J2EE技術的概念
J2EE( Java 2 Platform Enterprise Edition)是一套與傳統應用開發全然不同的技術架構,主要是利用Java技術將多層次企業級應用平臺構建出來,這是由SUN公司提出的的一系列規范和標準。這種技術的提出大大提高了企業管理的自動化。
1.2 J2EE體系結構
J2EE平臺能提供多層分布式應用模型,這就意味著應用邏輯將根據功能為不同的部分。由于J2EE各組件具有不同的功能,從而會分布于不同的層中,各層中的組件獨立完成對應的功能,類似于企業中不同人員擔任著不同的職責,各部門分工合作,各盡其責。J2EE系統也在分層系統中實現了職責的分離,簡化了原本復雜的管理系統,將之前相對混亂的模式做出了相應地改變,這更有助于團隊對其進一步的開發、拓展。
一般地,J2EE的體系結構是按層劃分的,而且廣泛地采用四層分布式。以下就是各層的具體功能闡釋。
1)客戶層(Client Tier)。直接與客戶打交道,實現二者之間的交互,對客戶的輸入數據進行接收,并將系統的業務數據直接顯示給客戶,驗證數據格式是否具備合法性,最終使客戶層在客戶機器上長期駐留。
2)Web表示層(Web Presentation Tier)。Web組件JSP(Java Server Pages)和Servlet(服務器端的Java應用程序)在Web的表示層上運行,而Web則在服務器上運行,也就是說Web層即容器。此外,此外,業務層的業務數據用Web組件對其進行讀取,并將它所顯示業務數據需求發送給客戶。
3)業務層(Business Tiser)。運行EJB組件,如會話EJB組件、消息驅動EJB組件及JPA組件,不僅要對實際應用的業務邏輯進行模型化,而且要完成數據庫的業務處理和持久化,這些才是企業級應用的核心所在。
4)信息數據庫層(Information Data Tier)。一般指的是系統數據庫,該數據庫會對J2EE應用系統中的所有數據進行保存。
采用4層分層體系結構,簡潔了冗長繁瑣的計算機體系,使得系統分工明確,特點鮮明,在看似獨立的系統上完成程序的統一,以便于整體團隊的開發合作,提高企業效率。
2.1 相關概念
1993年國際管理工作流管理聯盟(WFMC)對工作流相關定義做了設定。工作流本質上是一系列企業的經營過程,對于這個過程的執行,它可以部分或是完全的自動執行,而且可以在不同的執行者之間依據既定的一系列過程程序,進行信息、文檔以及任務之間的傳遞及執行。
2.2 活動管理過程
工作流活動的管理過程主要分為過程建模、運行控制以及人機交互三部分,這三部分之間關系密切,每一部分都需要慎重對待。相關內容如下:
(1)過程建模。指的是在工作流組成活動或是過程執行前,將其定義與建模工作完成。
(2)運行控制。指的是在操作過程中,如何對工作流過程的執行活動實施調度。需要做到合理科學并有效對其進行管理。
(3)人機交互。指的是主要負責人機對話和實時交互。
3.1 工作流引擎概念和工作步驟
3.1.1 概念
工作流引擎(Workflow Engine ),指作為為應用系統提供具體解決方案的應用系統中的一部分,工作流能根據各自不同的任務和角色分工、條件的差異程度,信息傳遞的路由和內容的流程,將會被自動進行判斷。
工作流引擎在本質上是一套軟件系統,可以對工作流的執行進行創建、定義或是管理,對過程的定義進行解釋,實現與工作流參與者之間的交互對話,對各種外部的IT工具和應用軟件進行必要的調用。
3.1.2 工作步驟
具體運行的工作流引擎其活動具體分為三步:第一階段是初始建模。初始建模就是對實際操作過程中的業務操作流程利用工作流的特定建模工具,將工作流轉換為計算機可以進行模擬處理的模型。第二階段是模型的實例化階段。對具體業務流程進行實例化,為辦理流轉時的具體業務流程提供相關的控制數據和資源。第三階段工作流的執行階段。完成業務流程的具體執行,完成人機交互。
3.1.3 Fire Workflow工作流引擎的優勢
(1)采用了Fire workflow工作流引擎的系統,可以根據算法機動掌握流程的控制、流轉。
(2)為了使企業用一個完整的企業級應用系統取代各種實際應用系統,采用Fire workflow工作流引擎的系統,
(3)具備了Fire workflow功能,更加簡潔、靈活的管理軟件的數據庫結構定義功能。
(4)為了使企業開發與現有應用系統的接口,選擇集成Fire workflow工作流引擎的系統。
在本質上,基于J2EE的工作流引擎是一個基于Web的工作流管理系統——Web WFMS,采用標準接口,以工作流參考模型為基準,系統與工作流應用程序之間的數據可達成共享,還能建立協同機制-----數據交互和處理。在Windows Server下系統的服務器軟件環境得以運行,關系數據庫SQL Server用來實現Web Server,數據庫中對工作流系統的數據進行保存,瀏覽器方式幫助系統客戶端實現,系統與服務器之間的交互采用標準化的HTTP協議。系統的總體架構,如圖4-1所示:

圖4-1 系統的實現架構
作為企業的一項長期必備的工作,一個高效的工作流引擎的正確使用,將使得企業的信息化建設更上一個新臺階,幫助企業實現自身的價值目標。
[1] [美]Craig A.Berry(著)邱仲潘(譯).實用J2EE設計模式編程指南.電子工業出版社2004
[2] 童春杰,等.基于J2EE的分布式體系及應用.計算機應用研究,2002,10:31-34
[3] 夏冬.白樹仁.鄧惠建.基于J2EE的工作流管理系統模型[J],計算機工程與科學,2006,28(3):123-133
Research and implementation of workflow engine based on J2EE
Tong Jianfei
(The modern education technology center of Xi'an External affairs Institute,Xi'an,710077)
With the continuous development of China's informationization,automation production enterprises continuously improve the chengdu.Based on the developed electronic communications industry and the IT network technology for the workflow engine technology support platform was born,it not only can improve the efficiency of the system,and,to the parallel task execution process of linear realization enterprise.Based on this,this paper studies the realization of workflow engine based on J2EE technology,in order to improve the degree of automation of enterprises to provide technical reference.
J2EE;Workflow Engine;company