亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于微內(nèi)核的工作流引擎研究

        2011-06-06 06:56:30余周侯志松莊瑩菲左現(xiàn)剛
        關(guān)鍵詞:業(yè)務(wù)流程引擎實(shí)例

        余周,侯志松,莊瑩菲,左現(xiàn)剛

        (河南科技學(xué)院,河南新鄉(xiāng),453003)

        工作流引擎是工作流管理系統(tǒng)的核心所在,是工作流管理系統(tǒng)運(yùn)行和控制的中心,它直接決定整個(gè)系統(tǒng)的運(yùn)行效率和性能.為了應(yīng)付瞬息萬變的市場變化,企業(yè)業(yè)務(wù)流程必須跟隨市場變化做出相應(yīng)調(diào)整,然而,由于當(dāng)前現(xiàn)有工作流引擎結(jié)構(gòu)上的局限性,導(dǎo)致工作流管理系統(tǒng)不能適應(yīng)快速的市場變化,限制了企業(yè)的發(fā)展.因此,本文針對(duì)傳統(tǒng)工作流引擎的不足,遵循工作流管理聯(lián)盟的標(biāo)準(zhǔn),研究并設(shè)計(jì)一個(gè)基于微內(nèi)核的工作流引擎.

        1 現(xiàn)有工作流引擎的局限性

        工作流管理聯(lián)盟對(duì)工作流管理系統(tǒng)的定義是:是一個(gè)軟件系統(tǒng),它完成工作量的定義和管理,并按照在系統(tǒng)中預(yù)先定義好的工作流邏輯進(jìn)行工作流實(shí)例的執(zhí)行[1],工作流管理聯(lián)盟提出的工作流參考模型見圖1.

        從圖1可以看出:工作流引擎位于工作流管理系統(tǒng)的核心地位,負(fù)責(zé)解釋業(yè)務(wù)流程定義、執(zhí)行業(yè)務(wù)流程實(shí)例、控制業(yè)務(wù)活動(dòng)運(yùn)行、為參與者分配任務(wù),并完成與其他工作流引擎的交互和通信.同時(shí),工作流管理聯(lián)盟還制定了描述業(yè)務(wù)流程定義的元模型,以及流程定義之間互相轉(zhuǎn)換的流程定義語言規(guī)范,詳細(xì)規(guī)定了業(yè)務(wù)流程定義、業(yè)務(wù)活動(dòng)、業(yè)務(wù)邏輯、變遷條件和參與者等元素的描述方法[2].

        但是,現(xiàn)有的工作流引擎通常采用宏內(nèi)核結(jié)構(gòu),即一個(gè)工作流引擎就是一個(gè)系統(tǒng)內(nèi)核.宏內(nèi)核結(jié)構(gòu)的工作流引擎將業(yè)務(wù)活動(dòng)的調(diào)度、任務(wù)分配和流程實(shí)例執(zhí)行等服務(wù)集中在一個(gè)組件中.此時(shí),如果需要修改系統(tǒng)某一功能,將不可避免的影響到上述功能相對(duì)穩(wěn)定的服務(wù)組件.因此,采用宏內(nèi)核結(jié)構(gòu)實(shí)現(xiàn)的工作流引擎功能集中、結(jié)構(gòu)臃腫,增加了系統(tǒng)重構(gòu)的成本,降低了系統(tǒng)的靈活性.

        2 基于微內(nèi)核的工作流引擎

        根據(jù)工作流引擎中業(yè)務(wù)活動(dòng)調(diào)度和任務(wù)分配功能相對(duì)穩(wěn)定、獨(dú)立的特性,將這些功能從工作流引擎中抽取出來,形成工作流引擎的微內(nèi)核.此時(shí),當(dāng)某項(xiàng)工作流引擎功能需要改變時(shí),僅需修改該功能組件即可,而不會(huì)影響到工作流引擎的內(nèi)核,從而降低了系統(tǒng)的重構(gòu)成本,提高了系統(tǒng)的靈活性.

        本文參照工作流管理聯(lián)盟的規(guī)范,采用基于XML的流程定義語言描述業(yè)務(wù)流程,實(shí)現(xiàn)基于微內(nèi)核的工作流引擎.該工作流引擎采用微內(nèi)核架構(gòu),分離服務(wù)組件和調(diào)度功能,采用組件技術(shù)開發(fā)工作流引擎模塊,進(jìn)而降低模塊之間的耦合度,從結(jié)構(gòu)上提高工作流引擎的靈活性和可維護(hù)性.

        2.1 流程定義元模型

        工作流引擎最重要的職責(zé)是解釋業(yè)務(wù)流程,實(shí)現(xiàn)業(yè)務(wù)流程實(shí)例的運(yùn)行.為了實(shí)現(xiàn)這一功能,現(xiàn)實(shí)世界的企業(yè)業(yè)務(wù)運(yùn)營過程必須轉(zhuǎn)化為工作流引擎能夠理解的流程定義,工作流引擎才能解釋業(yè)務(wù)流程,創(chuàng)建相應(yīng)的流程實(shí)例,完成業(yè)務(wù)流程在計(jì)算機(jī)世界的自動(dòng)執(zhí)行.

        工作流模型是業(yè)務(wù)流程的抽象描述,是現(xiàn)實(shí)世界業(yè)務(wù)流程向計(jì)算機(jī)內(nèi)部表示轉(zhuǎn)換的工具.工作流模型采用簡單直觀的形式對(duì)復(fù)雜的流程進(jìn)行抽象,為人們提供一個(gè)描述世界的參考性框架.在一個(gè)工作流模型中,除了需要提供描述業(yè)務(wù)流程結(jié)構(gòu)的流程元素外,還需要提供表示流程執(zhí)行邏輯和流程業(yè)務(wù)功能的變遷和動(dòng)作.因此,工作流模型必須包含一個(gè)用來描述工作流模型的基本元模型.流程定義元模型是現(xiàn)實(shí)世界中業(yè)務(wù)流程在計(jì)算機(jī)內(nèi)部的結(jié)構(gòu)化表示方法,用來建模并生成一個(gè)能被工作流引擎解釋并執(zhí)行的流程定義.所謂的元模型就是描述模型的模型.在工作流管理系統(tǒng)中,流程定義元模型是工作流模型中描述流程定義內(nèi)在聯(lián)系的模型,反映了工作流模型中所有流程元素的結(jié)構(gòu)功能和內(nèi)在聯(lián)系.使用流程定義元模型,可以建立一個(gè)與具體實(shí)現(xiàn)無關(guān)的流程定義.

        為了簡潔有效的描述業(yè)務(wù)流程,實(shí)現(xiàn)業(yè)務(wù)流程在現(xiàn)實(shí)世界與計(jì)算機(jī)世界的無縫轉(zhuǎn)換,在參考工作流管理聯(lián)盟規(guī)范的基礎(chǔ)上,開發(fā)并定義一個(gè)流程定義元模型.在流程定義元模型中,工作流定義、活動(dòng)、參與者、變遷條件等實(shí)體對(duì)象的關(guān)系如圖2所示.

        圖1 工作流參考模型

        圖2 流程定義元模型

        從圖2可以看出:流程定義元模型的核心是活動(dòng).流程定義與活動(dòng)、流程定義與工作流相關(guān)數(shù)據(jù)都是一對(duì)多的關(guān)系.也就是說:一個(gè)流程定義可以由多個(gè)活動(dòng)實(shí)體和一系列的工作流相關(guān)數(shù)據(jù)組成.參與者、工作流相關(guān)數(shù)據(jù)、被調(diào)用應(yīng)用程序,以及變遷條件與活動(dòng)之間都是多對(duì)多的關(guān)系.即:一個(gè)活動(dòng)可以引用多個(gè)不同的角色、使用多個(gè)工作流相關(guān)數(shù)據(jù)、調(diào)用多種類型的應(yīng)用程序工具,并能在不同的變遷條件中導(dǎo)航.同時(shí),同一個(gè)參與者、工作流相關(guān)數(shù)據(jù)、變遷條件或應(yīng)用程序工具也可以被多個(gè)活動(dòng)所使用.工作流元模型的屬性要素主要由以下幾種:

        (1)工作流類型定義:用來描述業(yè)務(wù)流程,反映業(yè)務(wù)流程的目的和目標(biāo).其主要屬性有:流程定義的名稱、版本號(hào)、開始/結(jié)束條件和安全、審查、控制數(shù)據(jù)等.

        (2)活動(dòng):活動(dòng)對(duì)應(yīng)業(yè)務(wù)流程中的活動(dòng)和任務(wù),反映了企業(yè)業(yè)務(wù)運(yùn)營的功能實(shí)現(xiàn)和功能操作.活動(dòng)可以由人工執(zhí)行,也可以自動(dòng)執(zhí)行,或者調(diào)用相關(guān)的應(yīng)用程序以完成業(yè)務(wù)流程指定的工作.活動(dòng)的主要屬性包括活動(dòng)的名稱、類型以及該活動(dòng)的約束條件等.

        (3)變遷條件:用來在活動(dòng)和任務(wù)之間導(dǎo)航,決定活動(dòng)或任務(wù)的執(zhí)行屬性,反映企業(yè)業(yè)務(wù)的運(yùn)營規(guī)則.

        (4)工作流相關(guān)數(shù)據(jù):描述業(yè)務(wù)流程涉及到的數(shù)據(jù),包括流程控制數(shù)據(jù)、流程相關(guān)數(shù)據(jù)和應(yīng)用數(shù)據(jù).

        (5)參與者:用來對(duì)組織結(jié)構(gòu)進(jìn)行分類,簡化流程任務(wù)的分配.參與者是活動(dòng)的具體執(zhí)行者,它可以是人,也可以是能夠自動(dòng)執(zhí)行的應(yīng)用程序.

        (6)被調(diào)用程序:描述與業(yè)務(wù)流程協(xié)作,共同完成企業(yè)業(yè)務(wù)運(yùn)營的工具和手段.

        2.2 基于微內(nèi)核的工作流引擎的系統(tǒng)架構(gòu)

        依據(jù)服務(wù)組件和調(diào)度功能分離的原則,將業(yè)務(wù)活動(dòng)調(diào)度和任務(wù)分配等相對(duì)穩(wěn)定的功能抽取出來,構(gòu)建系統(tǒng)的核心層.工作流引擎的架構(gòu)如圖3所示.

        圖3 工作流引擎架構(gòu)

        如圖3示,基于微內(nèi)核的工作流引擎分為四個(gè)層次,各個(gè)層次的功能如下:

        (1)接口層:接口層是工作流引擎的外部接口.外部應(yīng)用程序通過該接口與工作流引擎進(jìn)行交互,實(shí)現(xiàn)業(yè)務(wù)流程的操作與管理.該接口符合工作流管理聯(lián)盟的工作流管理規(guī)范,可實(shí)現(xiàn)工作流產(chǎn)品之間的無縫連接.本層次可分為應(yīng)用程序接口模塊和管理與監(jiān)控接口兩部分.其中應(yīng)用程序接口模塊提供與工作流服務(wù)有關(guān)的接口,外部應(yīng)用程序可通過此接口訪問工作流引擎提供的服務(wù);管理與監(jiān)控接口模塊用于工作流服務(wù)的管理,比如啟動(dòng)、掛起或刪除流程實(shí)例.

        (2)內(nèi)核層:本層次是工作流引擎的核心所在,提供工作流的活動(dòng)調(diào)度機(jī)制和任務(wù)分配機(jī)制.該層次由微內(nèi)核、工作流執(zhí)行模塊、流程實(shí)例模塊和活動(dòng)管理模塊四個(gè)模塊組成.微內(nèi)核負(fù)責(zé)調(diào)度業(yè)務(wù)活動(dòng),實(shí)現(xiàn)流程實(shí)例的執(zhí)行,并將業(yè)務(wù)任務(wù)分配給參與者;工作流執(zhí)行模塊實(shí)現(xiàn)流程實(shí)例運(yùn)行的基本操作,如:啟動(dòng)、掛起、激活或結(jié)束流程實(shí)例;流程實(shí)例模塊負(fù)責(zé)流程實(shí)例的管理工作,并通過服務(wù)層將流程實(shí)例持久化到數(shù)據(jù)庫中,以保證流程實(shí)例的持久有效;活動(dòng)模塊實(shí)現(xiàn)業(yè)務(wù)活動(dòng)的管理和持久化.

        (3)服務(wù)層:服務(wù)層是內(nèi)核層的擴(kuò)展和工作流引擎服務(wù)的具體實(shí)現(xiàn),可分為三個(gè)模塊:運(yùn)行支持模塊,運(yùn)行輔助模塊,運(yùn)行優(yōu)化模塊.運(yùn)行支持模塊的主要功能是流程定義解析和流程實(shí)例持久化.根據(jù)流程定義創(chuàng)建流程實(shí)例時(shí),首先,流程定義解析功能對(duì)流程定義進(jìn)行分析,提取創(chuàng)建流程實(shí)例所需的數(shù)據(jù)并對(duì)流程實(shí)例進(jìn)行初始化操作,然后將已初始化流程實(shí)例提交到內(nèi)核層,內(nèi)核層接管流程實(shí)例,實(shí)現(xiàn)流程實(shí)例的調(diào)度執(zhí)行.流程實(shí)例持久化服務(wù)為內(nèi)核層提供存儲(chǔ)服務(wù),負(fù)責(zé)將工作流相關(guān)數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中,用于確保工作流服務(wù)的持久有效.運(yùn)行輔助模塊擴(kuò)展工作流引擎的服務(wù)功能,用于增強(qiáng)工作流引擎的功能.該模塊主要的功能有事件監(jiān)聽處理、異常處理、條件處理和活動(dòng)回退(rollback)等.運(yùn)行優(yōu)化模塊對(duì)工作流引擎進(jìn)行優(yōu)化,用于提高流程實(shí)例的執(zhí)行效率,與工作流引擎的功能無關(guān).

        (4)基礎(chǔ)設(shè)備層:為工作流引擎提供公共的服務(wù)組件.系統(tǒng)運(yùn)行日志、工作日管理等均位于該層次.

        3 結(jié)論

        本文在探討現(xiàn)有工作流引擎設(shè)計(jì)局限性的基礎(chǔ)上,設(shè)計(jì)了一個(gè)基于微內(nèi)核的工作流引擎.基于微內(nèi)核的工作流引擎將調(diào)度與服務(wù)分離,內(nèi)核層獨(dú)立穩(wěn)定,服務(wù)與具體實(shí)現(xiàn)無關(guān),當(dāng)引擎提供的服務(wù)需要修改時(shí),只需重構(gòu)引擎的服務(wù)實(shí)現(xiàn)層,而不必修改內(nèi)核部分,從而降低了系統(tǒng)的重構(gòu)成本;當(dāng)引擎需要增加新的功能時(shí),僅需擴(kuò)展工作流引擎接口,使得系統(tǒng)具備了良好的擴(kuò)展性和靈活性.同時(shí),該工作流引擎采用基于組件的開發(fā)技術(shù),組件之間通過定義良好的接口進(jìn)行通信,組件耦合度低,當(dāng)某個(gè)組件發(fā)生錯(cuò)誤時(shí),只需修改該組件即可,有效的降低了維護(hù)成本,提高了系統(tǒng)的靈活性.

        [1]The WorkflowReference Model[EB/OL].(1995-1-19).[2011-04-20].http://www.wfmc.org/standards/docs/tc003v11.pdf

        [2]Layna F.WorkflowHandbook 2005[M].Florida:Future Strategies Inc.2005:19-21.

        [3]ProcessDefinitionInterface-XMLProcessDefinitionLanguage[EB/OL].(2008-10-10)[2011-04-20].http://www.wfmc.org/Downloaddocument/WFMC-TC-1025-Oct-10-08-A-Final-XPDL-2.1-Specification.html.

        [4]Alexander W.Software Structure and Portabilityofthe FiascoMicrokernel[M].Dresden:Technical UniversityofDresden.2003.

        [5]Brown AW,Wallnau K C.Engineering of component-based systems[C].Component-Based Software Engineering:Selected Papers fromthe Software EngineeringInstitute.Los Alamitos,CA:IEEE Computer SocietyPress,1996:7-15.

        [6]DlogoMR,Ferreira J J.pintoFerreira.Developinga reusable engine[J].Journal ofsystems Architecture.June,2004,50:309-324.

        [7]Brown AW.Large-Scale Component Based Development[M].Prentice Hall:Upper saddle River,2000.

        [8]Workflow Management Coalition.Terminology&Glossary[EB/OL].(1999-02-10)[2011-04-20].http://www.wfmc.org/standards/docs/TC-1011_term_glossary_v3.pdf.

        猜你喜歡
        業(yè)務(wù)流程引擎實(shí)例
        RPA機(jī)器人助業(yè)務(wù)流程智能化
        STK業(yè)務(wù)流程優(yōu)化的探究
        電子測試(2018年23期)2018-12-29 11:11:28
        企業(yè)財(cái)務(wù)管理、業(yè)務(wù)流程管理中整合ERP之探索
        藍(lán)谷: “涉藍(lán)”新引擎
        商周刊(2017年22期)2017-11-09 05:08:31
        基于財(cái)務(wù)業(yè)務(wù)流程再造的ERP信息系統(tǒng)構(gòu)建探析
        中國商論(2016年34期)2017-01-15 14:24:22
        無形的引擎
        河南電力(2015年5期)2015-06-08 06:01:46
        基于Cocos2d引擎的PuzzleGame開發(fā)
        完形填空Ⅱ
        完形填空Ⅰ
        One?。牛睿纾椋睿濉。蹋澹妫糁皇O乱粋€(gè)引擎
        亚洲无码美韩综合| 欧美性巨大╳╳╳╳╳高跟鞋| 国产成人久久精品77777综合| 国产午夜精品福利久久| 色哟哟精品中文字幕乱码| 99久久婷婷国产亚洲终合精品| 一本久久伊人热热精品中文字幕 | 免费精品一区二区三区第35| 欧美精品AⅤ在线视频| 日本一区中文字幕在线播放| 久久亚洲精品中文字幕| 国产成人av性色在线影院色戒| 亚洲国产香蕉视频欧美 | 日本免费一区二区三区在线播放| 啦啦啦中文在线观看日本| 97久久久久人妻精品专区| 国产美女亚洲精品一区| 精品国产一区二区三区av免费| 国产精品亚洲а∨无码播放不卡| 精品人妻少妇一区二区不卡| 青青草视频原手机在线观看| 在线视频中文字幕一区二区三区| 亚洲av无码精品蜜桃| 2022Av天堂在线无码| 日韩一区二区中文字幕视频| 国产狂喷水潮免费网站www| 成人看片黄a免费看那个网址| 亚洲AⅤ樱花无码| 不卡视频在线观看网站| 大胸少妇午夜三级| 999国产精品视频| 国产91大片在线观看| 日本顶级metart裸体全部| 无码人妻精品一区二区三区在线 | 99久久精品一区二区国产| 亚洲av永久无码精品网址| 一本大道东京热无码中字| 成人性生交大片免费看i| 亚洲av永久无码精品古装片| 色先锋资源久久综合5566| 日韩狼人精品在线观看|