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

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

申請免費試用、咨詢電話:400-8352-114

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

1 引言

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

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

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

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

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

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

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

 

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

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

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

 

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

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

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

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

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

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

發(fā)布:2007-04-13 10:27    編輯:泛普軟件 · xiaona    [打印此頁]    [關(guān)閉]
相關(guān)文章:
目標(biāo)計劃管理軟件
聯(lián)系方式

成都公司:成都市成華區(qū)建設(shè)南路160號1層9號

重慶公司:重慶市江北區(qū)紅旗河溝華創(chuàng)商務(wù)大廈18樓

咨詢:400-8352-114

加微信,免費獲取試用系統(tǒng)

QQ在線咨詢

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

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