監(jiān)理公司管理系統(tǒng) | 工程企業(yè)管理系統(tǒng) | OA系統(tǒng) | ERP系統(tǒng) | 造價(jià)咨詢(xún)管理系統(tǒng) | 工程設(shè)計(jì)管理系統(tǒng) | 甲方項(xiàng)目管理系統(tǒng) | 簽約案例 | 客戶(hù)案例 | 在線(xiàn)試用
X 關(guān)閉

Activiti5工作流在協(xié)同OA辦公系統(tǒng)中的應(yīng)用

申請(qǐng)免費(fèi)試用、咨詢(xún)電話(huà):400-8352-114

文章在介紹工作流概念的基礎(chǔ)上,分析了開(kāi)源工作流管理系統(tǒng)Activiti5(Activiti BPM Platform)的體系結(jié)構(gòu)和模塊劃分。并從實(shí)際出發(fā),以廣西廣電網(wǎng)絡(luò)OA系統(tǒng)中的流程為例,詳細(xì)介紹了在Activiti5中設(shè)計(jì)與部署流程的幾種主流方法。

1 引言

    隨著現(xiàn)代信息技術(shù)的迅速發(fā)展,利用OA(Office Automation,辦公自動(dòng)化)系統(tǒng)來(lái)提高效率成為多數(shù)政府和企業(yè)的首選,即通過(guò)OA來(lái)實(shí)現(xiàn)各個(gè)成員和部門(mén)之間的協(xié)同辦公、信息流轉(zhuǎn)與資源共享等。由于政府公文審批和企業(yè)業(yè)務(wù)處理都是以流程的形式進(jìn)行,所以工作流技術(shù)成為了OA系統(tǒng)中必不可少的部分。

2 廣西廣電網(wǎng)絡(luò)OA系統(tǒng)工作流應(yīng)用現(xiàn)狀和問(wèn)題分析

    近年來(lái),工作流技術(shù)在廣西廣電網(wǎng)絡(luò)公司的OA系統(tǒng)中已廣泛應(yīng)用。工作流技術(shù)的應(yīng)用改進(jìn)了OA的業(yè)務(wù)流程、實(shí)現(xiàn)了業(yè)務(wù)過(guò)程的協(xié)調(diào)控制、提高了業(yè)務(wù)處理效率。同時(shí),廣西廣電網(wǎng)絡(luò)現(xiàn)有OA系統(tǒng)的工作流技術(shù)亦存在以下兩大問(wèn)題:(1)硬編碼工作流無(wú)法適應(yīng)流程的需求的靈活變更。部分業(yè)務(wù)流程和流程表單的定義是硬編碼在程序中的規(guī)則,一旦業(yè)務(wù)流程需要調(diào)整,開(kāi)發(fā)人員需要進(jìn)行繁雜的修改工作,對(duì)靈活多變的流程顯得無(wú)能為力。(2)設(shè)計(jì)模型和實(shí)施模型存在較大差異。曾經(jīng)在OA系統(tǒng)中引入的開(kāi)源工作流引擎(Enhydra Shark、OSWorkflow和早期的jBPM),發(fā)揮了一定作用,但其業(yè)務(wù)分析人員的設(shè)計(jì)模型和開(kāi)發(fā)人員的實(shí)施模型之間存在較大差異,開(kāi)發(fā)人員往往難以完全根據(jù)設(shè)計(jì)模型來(lái)實(shí)現(xiàn)工作流,增加了流程的實(shí)施難度。因此,如何提高OA系統(tǒng)中工作流對(duì)流程需求變化的快速響應(yīng)能力,如何解決業(yè)務(wù)分析人員和IT開(kāi)發(fā)人員之間模型的不一致性成為擺在OA和工作流系統(tǒng)設(shè)計(jì)和開(kāi)發(fā)人員面前的新課題。

    為解決流程硬編碼和設(shè)計(jì)模型與實(shí)施模型之間存在較大差異這兩大問(wèn)題,新的工作流系統(tǒng)應(yīng)能夠?qū)崿F(xiàn)以下兩點(diǎn):(1)針對(duì)流程硬編碼問(wèn)題,新的工作流應(yīng)能夠?qū)崿F(xiàn)以圖形化操作的形式對(duì)流程和表單進(jìn)行定義并生成流程定義文件,將生成的定義文件部署到工作流系統(tǒng)即可完成流程的新建或修改。(2)針對(duì)設(shè)計(jì)模型與實(shí)施模型的差異問(wèn)題,新的工作流系統(tǒng)應(yīng)能夠以業(yè)務(wù)分析人員使用的業(yè)務(wù)流程設(shè)計(jì)語(yǔ)言BPMN2.0來(lái)實(shí)現(xiàn)流程建模,達(dá)到設(shè)計(jì)模型和實(shí)施模型的統(tǒng)一,使IT開(kāi)發(fā)人員不必再參與到流程建模當(dāng)中。

    本文將針對(duì)上述問(wèn)題,介紹并引入一個(gè)基于Activiti5(Activiti BPM Platform)的工作流管理系統(tǒng),全面解決現(xiàn)
存問(wèn)題,并以廣西廣電網(wǎng)絡(luò)OA系統(tǒng)中重大安全播出期保障檢查流程為例,講解流程的設(shè)計(jì)和部署等關(guān)鍵環(huán)節(jié),為OA系統(tǒng)中工作流的設(shè)計(jì)提供了一種良好的解決方案。

3 工作流技術(shù)和Activiti5工作流管理平臺(tái)

    工作流(Workflow),是對(duì)工作流程及其各操作步驟之間業(yè)務(wù)規(guī)則的抽象、概括、描述。工作流建模,即將工作流程中的工作如何前后組織在一起的邏輯和規(guī)則在計(jì)算機(jī)中以恰當(dāng)?shù)哪P瓦M(jìn)行表示并對(duì)其實(shí)施計(jì)算。工作流要解決的主要問(wèn)題是:為實(shí)現(xiàn)某個(gè)業(yè)務(wù)目標(biāo),在多個(gè)參與者之間,利用計(jì)算機(jī),按某種預(yù)定規(guī)則自動(dòng)傳遞文檔、信息或者任務(wù)。工作流需要依靠工作流管理系統(tǒng)(Workflow Management System,WfMS)來(lái)實(shí)現(xiàn),它的主要功能是通過(guò)計(jì)算機(jī)技術(shù)的支持去定義、執(zhí)行和管理工作流,協(xié)調(diào)工作流執(zhí)行過(guò)程中工作之間以及群體成員之間的信息交互。常見(jiàn)的工作流管理系統(tǒng)的結(jié)構(gòu)如圖1所示:

 

圖1 工作流管理系統(tǒng)的結(jié)構(gòu)

    當(dāng)新的流程需求出現(xiàn)時(shí),流程的分析和設(shè)計(jì)的工作通常由業(yè)務(wù)分析人員來(lái)進(jìn)行。BPMN2.0提供了一種面向業(yè)務(wù)分析人員的建模符號(hào),特別是對(duì)于流程模型,它提供了具有執(zhí)行語(yǔ)義的模型。BPMN給業(yè)務(wù)分析人員提供了類(lèi)似流程圖的設(shè)計(jì)體驗(yàn),與流程圖不同的是,BPMN2.0包含大量的約束和語(yǔ)義,使設(shè)計(jì)模型只要添加必要的實(shí)現(xiàn)細(xì)節(jié)就能夠成為一個(gè)可以直接被工作流系統(tǒng)解釋執(zhí)行的實(shí)施模型。隨著B(niǎo)PMN2.0近年來(lái)的飛速發(fā)展和普及,它已經(jīng)成為流程設(shè)計(jì)領(lǐng)域的事實(shí)標(biāo)準(zhǔn)。本文使用Activiti5工作流管理平臺(tái)作為OA中工作流系統(tǒng)的核心。Activiti5是一個(gè)由jBPM3、jBPM4發(fā)展而來(lái)的開(kāi)源輕量級(jí)工作流管理平臺(tái),其強(qiáng)調(diào)流程服務(wù)的可嵌入性和可擴(kuò)展性,目前由jBPM的創(chuàng)建者Tom Baeyens主導(dǎo)開(kāi)發(fā)和維護(hù)。

    Activiti的流程引擎是從jBPM4繼承并強(qiáng)化而來(lái)的PVM(Process Virtual Machine,流程虛擬機(jī))。Activiti的前
輩jBPM3雖然在Java社區(qū)取得了巨大成功,但其不支持流程語(yǔ)言規(guī)范的短板始終被人詬病,它采用了自創(chuàng)的jPDL而不是當(dāng)今業(yè)務(wù)分析人員使用的BPMN2.0,節(jié)點(diǎn)的運(yùn)行時(shí)行為與jPDL里定義的節(jié)點(diǎn)類(lèi)型是一一綁定的,這造成了流程引擎與特定流程語(yǔ)言的綁定,要支持其他的流程設(shè)計(jì)語(yǔ)言變得非常困難。PVM 的提出使得流程引擎與流程定義語(yǔ)言解耦,通過(guò)一套通用的流程模型并配以可定制的節(jié)點(diǎn)運(yùn)行期行為實(shí)現(xiàn)了對(duì)多種流程定義語(yǔ)言的支持。PVM 可以解釋BPMN2.0、jPDL、xPDL和BPEL等各種流程定義語(yǔ)言定義的流程格式,使Activiti易于與其他異構(gòu)工作流引擎對(duì)接,有優(yōu)秀的集成能力。Activiti延續(xù)了jBPM3、jBPM4 的社區(qū)支持,更新周期 3個(gè)月,目前最新版本為Activiti5.14。Activiti提供了兩個(gè)圖形化流程和流程表單設(shè)計(jì)器,分別是基于Web并利用SVG實(shí)現(xiàn)的Activiti Modeler和Eclipse plugin形式的Activiti Designer。Activiti5的體系結(jié)構(gòu)如圖2所示。

 

圖2 Activiti5體系結(jié)構(gòu)

    Activiti Engine是Activiti項(xiàng)目的核心。它是一個(gè)Java編寫(xiě)的流程引擎執(zhí)行以流程建模語(yǔ)言定義的流程。上文提到的PVM是Activiti Engine的一部分,Activiti Engine通過(guò)PVM來(lái)解釋包括BPMN2.0在內(nèi)的各種建模語(yǔ)言定義的流程文件。同時(shí),Activiti Engine還負(fù)責(zé)對(duì)工作流實(shí)例控制和統(tǒng)計(jì)數(shù)據(jù)收集,包括任務(wù)分發(fā)、事務(wù)管理、報(bào)表生成等等。

    Activiti Explorer 是一個(gè)Web應(yīng)用程序供用戶(hù)訪問(wèn)Activiti Engine。它提供UI以進(jìn)行流程流轉(zhuǎn)、任務(wù)管理、流程實(shí)例檢驗(yàn)、系統(tǒng)管理和數(shù)據(jù)統(tǒng)計(jì)報(bào)表展示,Activiti Modeler也可以經(jīng)由Activiti Explorer來(lái)訪問(wèn)。

    Activiti Modeler提供了從Web來(lái)管理Activiti流程的方案。通過(guò)Activiti Modeler流程建模人員可以用瀏覽器建立BPMN2.0標(biāo)準(zhǔn)的流程模型并部署執(zhí)執(zhí)行。同時(shí),Activiti Modeler還包括一個(gè)Web表單編輯器。

    Activiti Designer是一個(gè)Eclipse插件,它允許在IDE環(huán)境內(nèi)用BPMN2.0建立流程模型。相對(duì)Web的Activiti Modeler,它支持更多Activiti的擴(kuò)展功能,使流程建模人員能夠進(jìn)行更細(xì)粒度的配置以發(fā)揮的流程和引擎的全部能力。Activiti KickStart的是一個(gè)基于Web的入門(mén)級(jí)建模工具,用Activiti引擎可用構(gòu)件的子集提供快速創(chuàng)建簡(jiǎn)單業(yè)務(wù)流程的能力。通過(guò)Kickstart用戶(hù)可以使用更加通俗的概念建模,即使不了解BPMN或者其他建模語(yǔ)言也可以建立簡(jiǎn)單流程。通過(guò)KickStart創(chuàng)建的的流程是和BPMN 2.0兼容的,它可作為學(xué)習(xí)BPMN2.0建模的起點(diǎn)。

    Activiti5的流程設(shè)計(jì)器Activiti Modeler和Activiti Designer,將是解決流程硬編碼和設(shè)計(jì)模型與實(shí)施模型存在差異這兩大問(wèn)題的關(guān)鍵,針對(duì)流程硬編碼問(wèn)題,Activiti5的流程設(shè)計(jì)器能夠在WEB端以圖形化操作的方式對(duì)流程和表單進(jìn)行定義并生成流程定義文件,并將生成的定義文件部署到工作流系統(tǒng)即可完成流程的新建或修改;對(duì)于設(shè)計(jì)模型與實(shí)施模型的差異問(wèn)題,Activiti5的流程設(shè)計(jì)器使用業(yè)務(wù)分析人員的業(yè)務(wù)流程設(shè)計(jì)語(yǔ)言BPMN2.0來(lái)實(shí)現(xiàn)流程建模,達(dá)到設(shè)計(jì)模型和實(shí)施模型的統(tǒng)一,使IT開(kāi)發(fā)人員不必再參與到流程建模當(dāng)中。

發(fā)布:2007-04-13 10:27    編輯:泛普軟件 · xiaona    [打印此頁(yè)]    [關(guān)閉]
相關(guān)文章:

泛普協(xié)同OA其他應(yīng)用

信息管理系統(tǒng) 桌面日程安排軟件 日程管理軟件 知識(shí)管理系統(tǒng) 時(shí)間管理軟件 目標(biāo)管理軟件 計(jì)劃軟件 任務(wù)管理軟件 工作流管理系統(tǒng) 工作計(jì)劃軟件 工作日志管理軟件 工作任務(wù)管理軟件 協(xié)同管理軟件 協(xié)同OA