<p id="nxp5x"><big id="nxp5x"><noframes id="nxp5x">

    <var id="nxp5x"><video id="nxp5x"></video></var>

          <em id="nxp5x"></em>

              首 頁 本刊概況 出 版 人 發行統計 在線訂閱 歡迎投稿 市場分析 1 組織交流 1 關于我們
             
            1
               通信短波
            1
               新品之窗
            1
               優秀論文
            1
               通信趨勢
            1
               特別企劃
            1
               運營商動態
            1
               技術前沿
            1
               市場聚焦
            1
               通信視點
            1
               信息化論壇
            1
            當前位置:首頁 > 技術前沿
            基于J2EE和Web Service技術的工作流管理系統設計與研究
            作者:浙江工業大學信息工程學院  沈漢標 姚明海
            來源:不詳
            更新時間:2009/9/20 19:17:00
            正文:





            在日益網絡化的今天,傳統的工作流技術不再能滿足過程重組、自動化日益增長的需要,為了順應這種需要,本文提出了一個基于J2EE技術的工作流管理系統方案。與以往的工作流管理系統相比,更具有平臺無關性,更能適應當代發展的需要。

            一、 工作流管理系統的設計方案
            初步的設計方案為:將實際系統設計成三層結構,通過使用可視化的建模工具對業務流程和組織/角色模型建模,得到流程定義和流程中活動節點角色安排的數據;然后將得到的數據放到數據庫中保存起來,初步形成工作流控制數據、相關數據、組織/角色模型數據,所有這些數據由工作流管理引擎統一進行控制;分布式消息中間件負責為用戶提供統一的消息傳輸和工作流引擎等相關的服務,而中間件工作流引擎服務就根據工作流控制數據、相關數據、組織/角色模型數據來控制流程的運轉、信息的查詢、維護和監控文件的狀態;同時,使用了接口來實現程序與平臺之間的無縫連接。

            圖1 工作流管理系統框架圖


            1.1 分布式消息處理機制的設計
            作為構建三層體系結構的分布式消息中間件,由于涉及到日益增長的大規模應用,對服務器系統資源的要求是不斷擴增的,而硬件又決定了系統資源是有限的。按通常同數據庫打交道的方法,需要每個客戶端的應用都同數據庫建立一個連接,這種情況下系統資源很快就會被大量的同一時刻的客戶應用給吞噎掉,而同時一個客戶應用的整個階段通常只有部分階段需要調用數據庫,對于一個已經處于滿負荷運轉的系統,其實大量的時間數據庫仍是處于閑置狀態,系統資源并沒有得到充分的利用。因此,這里采用使用服務進程管理(建立和關閉)數據庫連接,這些服務進程形成一個進程池,進程池中每個服務進程不停的從對應的消息隊列中取出數據,去處理一組相關的服務(主動競爭并發模式);另一方面來自于客戶端TCP連接傳送的數據需要按業務的類型,分配給進程池中不同的服務進程去處理(數據分派并發模式)。這樣同時的多個客戶端應用就與一個服務進程聯系到一塊,也即共享一條數據庫連接。


            圖2 分布式消息中間件的體系結構

            消息中間件體系結構圖如上圖。在這個系統中主要存在三組進程:
            1) 監聽器Listener進程:監聽客戶端TCP連接;
            2) WSH進程:在Client和Server之間傳遞消息的工作進程;
            3) Server進程:提供特定服務的進程。
            另外Kernel進程是監控與調節進程池各個Server進程的狀態與信息;Kernel DB是一塊共享內存,存放關鍵的信息,用于進程間數據通信。
            消息中間件的整個消息扭轉過程可簡化為:
            Client->WSH->消息隊列A-〉Server處理-〉Server提交結果->
            消息隊列B->WSH->Client
            1.2 工作流管理系統的設計
            1.2.1 模型表示方法
            在早期的WfMS中,工作流模型是通過“硬編碼”的方式嵌入到應用系統中的,這使WfMS的特性不能充分體現出來,系統缺乏應有的靈活性。在后來的WfMS當中,研究人員提出各種各樣的建模方法,如有向圖、Petri網、對象模型、語言動作理論、條件化有向圖以及基于約束條件的形式語言文法表示等等。這些建模方法都是針對某些特定的應用提出的,有的側重于對任務之間控制關系的描述;有的側重于任務之間的數據流動關系的描述。
            1.2.2 基于關系數據庫的工作流引擎
            基于數據庫的工作流引擎指的是工作流引擎中的數據模型(即機構模型和信息模型)全部通過關系結構來表達;控制工作流引擎運作的各種程序邏輯(即控制模型)也是通過常規關系數據庫管理系統中所提供的存儲過程、包以及觸發器等機制來實現;同時,事務的并發控制也通過數據庫系統所提供的機制來實現。
            從技術角度來說,使用關系結構來表達工作流引擎中的數據模型可以降低工作流引擎開發過程中的技術難度和工作量。從開發應用系統的角度來看,在同一數據庫環境下為開發者提供一個基于關系結構的工作流引擎,并且如果這個工作流引擎所提供的功能可以方便地嵌入到應用的開發環境中,則可以降低開發應用的難度。
            1.2.3 工作流運行時的特征
            要想明了工作流引擎的工作原理,就應該首先掌握工作流在運行時可能發生的變化以及變化的遷移條件,也就是工作流運行時的特征。工作流在運行時涉及到的主要是三類對象:流程模型、模型實例以及活動實例:
            流程模型:描述與某類業務流程模型相關的信息,是由可視化建模工具創建并將數據導入到關系數據庫中的靜態信息,通常在運行時不會發生改變。
            模型實例:即文件,是在工作流運行時創建的一個流程模型的具體實例。
            活動實例:即任務,是在工作流運行時創建的一個活動節點的具體實例。

            1.2.4 工作流引擎的管理
            根據職責把引擎的管理分成普通級管理和管理員級管理。
            普通級管理是引擎在流程啟動后自動進行的管理操作,它的操作對象主要是流程模型中各個活動的實例一任務,負責在運行時維護流程模型中每個任務的狀態,管理操作有:啟動一個流程實例;創建新任務;人工分派任務;自動分派任務;自動任務處理;任務終結管理;路徑檢查管理;路徑分派管理;流程實例終結管理等。當然,為了完善接口,普通管理中除了流程管理外,還應包括人員狀態管理;查詢流程模型、文件及任務的各種信息管理等。
            管理員級管理是引擎在管理員的千預下執行的管理操作,它的操作對象是流程模型的實例—文件,負責在運行時維護文件的狀態,管理操作主要有:異常文件操作管理;掛起文件操作管理;恢復文件操作管理;超時文件操作管理;刪除文件操作管理等。管理員級的管理若對整個流程模型框架沒有改動,允許在其上擴充,如增刪密碼管理功能、角色成員重定義等。

            1.2.5 工作流引擎的驅動機制
            為便于中間層的消息分派進程調用,工作流引擎被設計成一種API形式的服務,它主要是根據消息類型來驅動各種管理。針對不同類型的消息,調用不同的管理API函數,從而將各種業務的流程自動化。故而,實際上這是一種兩層的消息分派,第一層分派到引擎,第二層分派到各種控制管理。即首先將應用服務器傳送過來的消息轉換成引擎內部消息結構,再根據內部消息結構中消息類型調用各種管理。

            二、基于J2EE的工作流管理系統實現
            2.1 系統結構圖的說明
            系統設計時,存在兩處較大的外部組件:組織模型和數據庫處理接口。從管理員級角度看到的是工作流設計平臺,其中包括:
            1) 設計GUI:用戶操作界面;
            2) 角色分配:用于同組織模型交互,主要用于角色權限分配;
            3) 模板裝載:處理動態模板加載;
            4) 格式轉換:用于與外部數據交互格式的轉換,考慮統一使XML作為交換數據的存儲格式;
            5) 規則設定:對模板或流程數據設定規則;
            6) 流程設計:對流程進行設計。
            從普通級角度看到的是工作流運行平臺,包括:
            1) 流程監視器:監控流程運轉信息;
            2) 工作列表:用于將工作列表;
            3) 規則引擎:規則的驅動引擎;
            4) 模板裝載:運行引擎當然也需要對定義中的模板進行加載,并進行狀態賦值;
            5) 流程對象:一個流程就是一個對象;
            6) 流程引擎:流程運轉的解析。
            另外,由于目前JMS/WS接口在流程應用中比較多,主要用于與外部系統交互信息,在系統設計中也給予考慮,但在初期并不進行實際實現。WfMC提供的app invoke標準接口定義,在系統中給予支持。
            2.2代碼
            工作流系統中注冊工作流事件代碼(略)

            三、結束語
            基于J2EE和Web Service技術的工作流管理系統是當前工作流研究的熱點,基于此技術平臺的工作流管理系統不斷涌現。本文詳細的介紹了一個具體的工作流管理系統的設計及實現過程,但仍然有許多問題需要解決,如分布式環境下系統的事務性保證、工作流系統間的交互、工作流的仿真與分析等。
            <

             
             
               
            《通信市場》 中國·北京·復興路49號通信市場(100036) 點擊查看具體位置
            電話:86-10-6820 7724, 6820 7726
            京ICP備05037146號-8
            建議使用 Microsoft IE4.0 以上版本 800*600瀏覽 如果您有什么建議和意見請與管理員聯系
            欧美成人观看免费全部欧美老妇0