亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種采用微內(nèi)核架構實現(xiàn)的工作流管理系統(tǒng)的制作方法

文檔序號:9432265閱讀:280來源:國知局
一種采用微內(nèi)核架構實現(xiàn)的工作流管理系統(tǒng)的制作方法
【技術領域】
[0001] 本發(fā)明設及計算機領域中的一種工作流管理系統(tǒng),具體地說,設及一種通過微內(nèi) 核架構實現(xiàn)高可擴展性的工作流管理系統(tǒng)。
【背景技術】
[0002] 工作流是一類能夠完全或者部分自動執(zhí)行的業(yè)務過程,它根據(jù)一系列過程規(guī)則、 文檔、信息或任務能夠在不同的執(zhí)行者之間進行傳遞與執(zhí)行。而工作流管理系統(tǒng)是一個軟 件系統(tǒng),它完成工作流的定義和管理,并按照在計算機中預先定義好的工作流邏輯推進工 作流實例的執(zhí)行。工作流技術自20世紀90年代興起,目前已被廣泛應用于電訊業(yè)、軟件工 程、制造業(yè)、金融業(yè)、銀行業(yè)、科學試驗、衛(wèi)生保健領域、航運業(yè)和辦公自動化等領域。

【發(fā)明內(nèi)容】

[0003] 由于工作流管理系統(tǒng)的應用領域廣、業(yè)務應用的復雜度高,為滿足客戶特異化的 業(yè)務需求,大多數(shù)工作流管理系統(tǒng)通過在流程引擎調(diào)度邏輯中加入特殊處理代碼的方式來 實現(xiàn)。運種做法會導致流程調(diào)度邏輯賄腫,發(fā)生變更時,需要修改的地方多,代碼之間的相 互影響大,不易于擴展和維護。
[0004] 針對目前工作流管理系統(tǒng)擴展和維護困難的問題,本發(fā)明采用微內(nèi)核架構方法實 現(xiàn)一種工作流管理系統(tǒng),該工作流管理系統(tǒng)的流程引擎核屯、僅包含流程調(diào)度相關的邏輯, 其它功能均作為擴展組件,通過標準接口與核屯、進行交互。當業(yè)務需求發(fā)生變更時,該工作 流管理系統(tǒng)可通過增加新的擴展組件或修改原有的擴展組件實現(xiàn)業(yè)務功能,不需要更改系 統(tǒng)的流程引擎核屯、,從而減少變更對系統(tǒng)的影響,大大提高工作流管理系統(tǒng)的可擴展性和 可維護性。 陽0化]本發(fā)明主要通過采用微內(nèi)核架構方法實現(xiàn)工作流管理系統(tǒng)。微內(nèi)核(micro kernel)的概念最初來自于操作系統(tǒng)領域,指的是操作系統(tǒng)設計時將大部分功能置于內(nèi)核 之外,彼此間通過消息進行通信,而操作系統(tǒng)內(nèi)核只負責消息傳送機制的實現(xiàn)。本發(fā)明將微 內(nèi)核的設計思想延伸到工作流管理系統(tǒng)的軟件架構上,系統(tǒng)的總體結構如圖1所示,共分 為6個部分:
[0006] a.外設層
[0007] 包含可選的外圍組件。運些外圍組件用于實現(xiàn)基于流程的業(yè)務功能,可認為是流 程引擎功能的消費者之一,其本身不是工作流管理系統(tǒng)運行所必需的部分。常見的外圍組 件有:業(yè)務表單、工作催辦、業(yè)務辦理績效考核等。 陽00引b.對外接口層
[0009] 提供與工作流管理系統(tǒng)的會話交互,外界通過本層來與引擎進行交互,對流程進 行操縱和管理。本層提供的接口實現(xiàn)了WFMC規(guī)定的WAPI,包括:
[0010] 接口 1:流程定義工具; W11] 接口 2 :工作流客戶端應用; 陽01引接口 3:應用程序調(diào)用;
[001引接口 4:流程引擎互操作;
[0014] 接口5:管理及監(jiān)控工具。
[0015] C.交互代理
[0016] 負責在引擎核屯、與對外接口層之間建立通訊。通訊的方式對訪問者透明,對外接 口層無須關屯、引擎核屯、的部署位置和調(diào)用細節(jié)。交互代理對引擎核屯、的調(diào)用方式包括: JavaBean調(diào)用、RMI、EJB、WebService。
[0017] d.擴展實現(xiàn)層
[0018] 本層通過各種擴展組件實現(xiàn)對引擎核屯、功能的擴展。擴展組件提供了工作流管理 系統(tǒng)中除流程調(diào)度邏輯W外的功能的具體實現(xiàn)。擴展組件根據(jù)其定位和用途可分為=類: 支撐型、輔助型、增強型。其中:
[0019] ?支撐型擴展組件
[0020] 支撐型擴展組件所實現(xiàn)的功能對于流程引擎運行起關鍵作用,沒有運些組件流程 引擎不能正常運行。支撐型擴展組件主要有:組織模型適配組件、流程實例數(shù)據(jù)存儲服務組 件、應用適配組件、流程定義操縱和擴展組件等。
[0021] ?輔助型擴展組件
[0022] 輔助型擴展組件對于流程引擎來說是可選的,主要是輔助引擎完成一些特殊的流 程控制處理,包括特殊的流程流向條件判斷及實現(xiàn)額外的操作處理。
[0023] ?增強型擴展組件
[0024] 增強型擴展組件對于流程引擎來說是可選的,主要用于增強引擎的處理能力。增 強型擴展組件主要有:工作項的分配、執(zhí)行、提交擴展組件、事件監(jiān)聽組件、超時處理組件、 代理人處理組件、工作日歷處理組件等。 陽0對 e.引擎內(nèi)核
[00%]引擎內(nèi)核是工作流管理系統(tǒng)的中屯、,主要負責依據(jù)調(diào)度算法調(diào)度流程的運轉。引 擎內(nèi)核的調(diào)度算法采用Petri網(wǎng)對流程進行描述,Petri網(wǎng)PN= (P,T,巧是工作流網(wǎng) (WF-net),當且僅當:
[0027] (a)存在一個資庫所iGP,使得?I= 4 ;
[0028] 化)存在一個匯結庫所0GP,使得0 ? = 4 ;并且
[0029] (C)每一個節(jié)點XGPUT都位于從I到0的一條路徑上。
[0030] 其中:P是化tri網(wǎng)庫所集合,T是變遷集合,F(xiàn)是流關系集合。
[0031] f.基礎組件層
[0032] 本層包含工作流管理系統(tǒng)所依賴的第=方組件包及基礎編程框架。本層被工作 流管理系統(tǒng)中所有應用組件所共有。常見的第S方組件包有:ApacheCommons、Spring、 Struts、扣曰tis、Log4J、Dom4J等。
[0033] 通過W上的系統(tǒng)層次劃分,實現(xiàn)將引擎內(nèi)核調(diào)度計算與其它功能剝離,W達到提 高工作流管理系統(tǒng)的可擴展性和可維護性的效果。本發(fā)明中的工作流管理系統(tǒng)的運行過程 如圖2所示,包括W下步驟:
[0034] 步驟1 :啟動流程實例,創(chuàng)建流程執(zhí)行上下文。啟動流程實例由外部應用系統(tǒng)或工 作流系統(tǒng)的外設層通過對對外接口層提供的接口進行調(diào)用來發(fā)起,其中,流程執(zhí)行上下文 由流程模板信息、流程實例信息、業(yè)務數(shù)據(jù)S部分組成。流程模板信息為符合XP化標準的XML。流程實例信息必須包括流程實例唯一標識、實例狀態(tài)和創(chuàng)建者的信息。業(yè)務數(shù)據(jù)根據(jù) 實際業(yè)務需要而變化。
[0035] 步驟2:執(zhí)行擴展組件,完成流程實例初始化。引擎核屯、通知所有擴展組件,擴展 組件各自根據(jù)流程執(zhí)行上下文決定自身是否應該執(zhí)行。本步驟應至少存在一個支撐型擴展 組件為流程第一個活動創(chuàng)建工作項。
[0036] 步驟3 :執(zhí)行擴展組件,完成活動執(zhí)行前的初始化。引擎核屯、通知所有擴展組件, 擴展組件各自根據(jù)流程執(zhí)行上下文決定自身是否應該執(zhí)行。本步驟應至少存在一個支撐型 擴展組件為要執(zhí)行的工作項變更狀態(tài)為"執(zhí)行中",并更新工作列表,通知執(zhí)行者。
[0037] 步驟4 :執(zhí)行流程當前活動。引擎核屯、通知所有擴展組件,擴展組件各自根據(jù)流程 執(zhí)行上下文決定自身是否應該執(zhí)行。本步驟應至少存在一個支撐型擴展組件為要執(zhí)行的工 作項變更狀態(tài)為"已完成",并更新工作列表。
[0038] 步驟5 :執(zhí)行擴展組件,完成活動執(zhí)行后的處理。引擎核屯、通知所有擴展組件,擴 展組件各自根據(jù)流程執(zhí)行上下文決定自身是否應該執(zhí)行。
[0039] 步驟6:引擎核屯、根據(jù)流程定義及當前工作項信息計算后續(xù)可能啟動的活動,返 回活動列表。
[0040] 步驟7:執(zhí)行擴展組件,完成對后續(xù)活動列表的過濾。引擎核屯、通知所有擴展組 件,擴展組件各自根據(jù)流程執(zhí)行上下文決定自身是否應該執(zhí)行。本步驟執(zhí)行完成后返回活 動列表。
[0041] 步驟8:判斷是否存在后續(xù)活動,若存在后續(xù)活動則執(zhí)行步驟9,否則執(zhí)行步驟10。
[0042] 步驟9:引擎核屯、依次將后續(xù)活動設置為當前活動,并執(zhí)行步驟3。
[0043] 步驟10 :執(zhí)行擴展組件,完成流程實例結束前處理。引擎核屯、通知所有擴展組件, 擴展組件各自根據(jù)流程執(zhí)行上下文決定自身是否應該執(zhí)行。本步驟應至少存在一個支撐型 擴展組件實現(xiàn)將流程狀態(tài)置為"結束"的功能。
[0044]本發(fā)明的技術方案具有W下優(yōu)點:
[0045]a.對工作流管理系統(tǒng)進行擴展不影響流程調(diào)度邏輯,使工作流管理系統(tǒng)在滿足用 戶特殊需求的同時,保證系統(tǒng)運行的穩(wěn)定性;
[0046]b.工作流管理系統(tǒng)中的各種功能均作為擴展組件,通過標準的接口與流程引擎核 屯、交互,使得工作流管理系統(tǒng)中的各種功能可W隨時插入或拔除,系統(tǒng)修改維護更方便;
[0047] C.系統(tǒng)層次結構清晰,當工作流管理系統(tǒng)進行擴展或修改時,使用工作流管理系 統(tǒng)的應用不需要進行修改。
【附圖說明】 W48] 圖1 :系統(tǒng)總體結構圖
[0049] 圖2 :系統(tǒng)運行流程圖
【具體實施方式】
[0050] 為使本發(fā)明實現(xiàn)的技術手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面W本 發(fā)明中的工作流管理系統(tǒng)應用于一種辦公自動化系統(tǒng)為實施例子,進一步闡明本發(fā)明。
[0051] 辦公自動化系統(tǒng)使用工作流管理系統(tǒng)實現(xiàn)公文流轉處理的業(yè)務需求,辦公自動化 系統(tǒng)通過工作流管理系統(tǒng)的對外接口層與之進行交互。
[0052] 工作流管理系統(tǒng)通過增加擴展組件的方式實現(xiàn)辦公自動化系統(tǒng)的需求,工作流管 理系統(tǒng)本身的外設層、對外接口層、交互代理、引擎內(nèi)核W及基礎組件層均不需要作任何改 變。工作流管理系統(tǒng)需要實現(xiàn)的擴展組件包括:
[0053]
陽化5] 列表中系統(tǒng)默認的組件為工作流管理系統(tǒng)中已經(jīng)具備的組件,不需要另行開發(fā), 而列表中非系統(tǒng)默認的組件需要通過開發(fā)實現(xiàn)。
【主權項】
1. 一種采用微內(nèi)核架構實現(xiàn)的工作流管理系統(tǒng),其特征在于系統(tǒng)結構包括: (1)外設層:流程引擎與外界交互的擴展層,通過擴展使外界可以通過JMS/Web Service等多種協(xié)議與流程引擎交互; ⑵對外接口層:實現(xiàn)WFMC規(guī)定的WAPI; (3) 交互代理:實現(xiàn)WAPI與流程引擎間的通信; (4) 擴展實現(xiàn)層:流程引擎的擴展組件及其接入流程引擎的標準接口,擴展組件分為 三類:支撐型(Sustentive)、輔助型(Assistant)、增強型(Enactment); (5) 引擎內(nèi)核:實現(xiàn)流程調(diào)度邏輯; (6) 基礎組件層:為引擎運行提供基本的公共組件。2. 根據(jù)權利要求1所述的采用微內(nèi)核架構實現(xiàn)的工作流管理系統(tǒng),其特征在于:該工 作流管理系統(tǒng)的核心僅包含流程調(diào)度相關的邏輯,其它功能均作為擴展組件,通過標準接 口與核心進行交互。
【專利摘要】本發(fā)明涉及計算機領域中的一種工作流管理系統(tǒng),具體地說,涉及一種通過微內(nèi)核架構實現(xiàn)高可擴展性的工作流管理系統(tǒng)。本發(fā)明針對目前的工作流管理系統(tǒng)難于擴展和維護的問題,實現(xiàn)上采用微內(nèi)核的架構思想,流程引擎核心僅包含流程調(diào)度相關的邏輯,其它功能均作為擴展組件,通過標準接口與核心進行交互。當業(yè)務需求發(fā)生變更時,該工作流管理系統(tǒng)可通過增加新的擴展組件或修改原有的擴展組件實現(xiàn)業(yè)務功能,不需要更改系統(tǒng)的流程引擎核心,從而減少變更對系統(tǒng)的影響,大大提高工作流管理系統(tǒng)的可擴展性和可維護性。
【IPC分類】G06Q10/06, G06F9/44
【公開號】CN105183441
【申請?zhí)枴緾N201510266443
【發(fā)明人】謝小能
【申請人】京華信息科技股份有限公司
【公開日】2015年12月23日
【申請日】2015年5月22日
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1