欧美色欧美亚洲高清在线观看,国产特黄特色a级在线视频,国产一区视频一区欧美,亚洲成a 人在线观看中文

  1. <ul id="fwlom"></ul>

    <object id="fwlom"></object>

    <span id="fwlom"></span><dfn id="fwlom"></dfn>

      <object id="fwlom"></object>

      工作流技術(shù)研究

      時(shí)間:2019-05-14 23:37:06下載本文作者:會(huì)員上傳
      簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《工作流技術(shù)研究》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《工作流技術(shù)研究》。

      第一篇:工作流技術(shù)研究

      工作流技術(shù)研究(1)(2008-09-10 19:29:14)

      標(biāo)簽:工作流管理系統(tǒng) 工作流參考模型 雜談 分類:工作流

      工作流技術(shù)從起源到現(xiàn)在已有三十年的發(fā)展歷史,為了規(guī)范工作流技術(shù)的管理,1993年成立了工作流管理聯(lián)盟(WfMC)。WfMC統(tǒng)一了工作流的定義,制定了工作流產(chǎn)品結(jié)構(gòu)和工作流參考模型等一系列的標(biāo)準(zhǔn)。本文針對(duì)工作流及其參考模型作簡(jiǎn)單的介紹。

      首先,先了解一下工作流的相關(guān)定義。

      一、工作流相關(guān)定義

      定義1 工作流(Workflow):工作流的概念定義很多,其中被廣泛引用的是工作流管理聯(lián)盟關(guān)于工作流的定義,該組織為工作流管理系統(tǒng)的相關(guān)術(shù)語(yǔ)、體系結(jié)構(gòu)及應(yīng)用編程接口等方而制定了一系列的業(yè)界標(biāo)準(zhǔn)。工作流管理聯(lián)盟給出的工作流定義是:全部或者部分,由計(jì)算機(jī)支持或自動(dòng)處理的業(yè)務(wù)過(guò)程,它已根據(jù)一系列過(guò)程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。工作流是指整個(gè)或部分經(jīng)營(yíng)過(guò)程在計(jì)算機(jī)支持下的全自動(dòng)化或半自動(dòng)化。工作流是企業(yè)中各種流的載體,它帶動(dòng)了信息流、物料流、資金流的流動(dòng),并決定了它們的流速和流量。通過(guò)工作流,考察信息、物料、資金等隨過(guò)程的變化情況,從而可以方便地對(duì)一些關(guān)鍵指標(biāo)進(jìn)行跟蹤和計(jì)算。其文

      檔、信息或任務(wù)可以遵循一組程序上的規(guī)則從一個(gè)參與者傳送到另一個(gè)參與者。

      定義2 工作流管理:工作流管理(Workflow Management, WFM)是人與計(jì)算機(jī)共同工作的自動(dòng)化協(xié)調(diào)、控制和通訊,在計(jì)算機(jī)化的業(yè)務(wù)過(guò)程上,通過(guò)在網(wǎng)絡(luò)上運(yùn)行軟件,使所有命令的執(zhí)行都處于受控狀態(tài)。在工作流管理下,工作量可以被監(jiān)督,分派工作到不同的用戶達(dá)成平衡。

      定義3 工作流管理系統(tǒng)(WFMS—Workflow Management System):工作流管理系統(tǒng)是這樣的一個(gè)系統(tǒng),詳細(xì)定義、管理并執(zhí)行工作流,系統(tǒng)通過(guò)運(yùn)行一些軟件來(lái)執(zhí)行工作流,它運(yùn)行在一個(gè)或多個(gè)工作流引擎上,這些引擎解釋對(duì)過(guò)程的定義,與工作流的參與者(包括人或軟件)相互作用,并根據(jù)需要調(diào)用其他的軟件工具或應(yīng)用。這些軟件的執(zhí)行順序由工作流邏輯的計(jì)算機(jī)表示形式(計(jì)算機(jī)化的業(yè)務(wù)規(guī)則——過(guò)程定義)驅(qū)動(dòng)。總體來(lái)說(shuō),實(shí)際企業(yè)中運(yùn)作的工作流管理系統(tǒng),是一個(gè)人與計(jì)算機(jī)結(jié)合的系統(tǒng)。

      它的基本功能體現(xiàn)在幾個(gè)方面:

      ? 定義工作流,包括具體的活動(dòng)、規(guī)則等。

      ? 遵循定義創(chuàng)建和運(yùn)行實(shí)際的工作流。

      ? 監(jiān)察、控制、管理運(yùn)行中的業(yè)務(wù),例如任務(wù)、工作量與進(jìn)度的檢察等。

      定義4工作流機(jī):為工作流實(shí)例提供運(yùn)行時(shí)期的執(zhí)行環(huán)境的軟件服務(wù)器或引擎。工作流機(jī)能處理:

      ? 解釋過(guò)程定義

      ? 控制過(guò)程實(shí)例—?jiǎng)?chuàng)建、激活、掛起、終止等

      ? 為過(guò)程的活動(dòng)導(dǎo)航,可能要包含順序或者平行的操作、最后時(shí)間期限、對(duì)工作流相關(guān)數(shù)據(jù)進(jìn)行解釋

      ? 參與者簽名和退出

      ? 確定任務(wù)項(xiàng)目,實(shí)現(xiàn)用戶意圖;提供接口,支持用戶交互

      ? 維護(hù)工作流控制數(shù)據(jù)和工作流相關(guān)數(shù)據(jù),在應(yīng)用程序間或者用戶間傳遞工作流相關(guān)數(shù)據(jù)

      ? 提供調(diào)用外部程序的接口,連接所有工作流相關(guān)數(shù)據(jù)

      ? 提供控制、管理和審查功能

      工作流機(jī)可以控制過(guò)程集、子過(guò)程、或通過(guò)對(duì)象類型的范圍、及其屬性定義好運(yùn)行范圍的實(shí)例。在一個(gè)由多個(gè)工作流機(jī)構(gòu)成的工作流執(zhí)行服務(wù)器中,要把過(guò)程進(jìn)行劃分,分配給工作流機(jī)??梢园凑者^(guò)程類型來(lái)劃分,某個(gè)工作流機(jī)負(fù)責(zé)控制相應(yīng)類型過(guò)程;按照功能進(jìn)行劃分,某個(gè)工作流機(jī)負(fù)責(zé)控制過(guò)程的一些部分,這些部分所需要的用戶或者資源,都在此工作流機(jī)的控制范圍內(nèi)。也可以按照其他的一些機(jī)制來(lái)劃分。

      定義5 業(yè)務(wù)過(guò)程(business process):就是活動(dòng)的集合,這些活動(dòng)均關(guān)聯(lián)于特定的托付事項(xiàng)(commitment),為過(guò)程的產(chǎn)出增值。相對(duì)于“工作流”,業(yè)務(wù)過(guò)程是一個(gè)更一般化的統(tǒng)稱,而工作流這個(gè)詞,則已經(jīng)不能僅從字面含義或原理上去理解,它已經(jīng)被賦予了更深一層的特定含義——專指基于信息技術(shù)規(guī)劃、運(yùn)作、管理的業(yè)務(wù)過(guò)程。

      定義6 自動(dòng)與協(xié)調(diào):“自動(dòng)”(automate)是工作流的一個(gè)特征,但這主要是指它自動(dòng)進(jìn)行的特征,而不是說(shuō)沒(méi)有人的參與。工作流實(shí)際上是一個(gè)人與計(jì)算機(jī)協(xié)調(diào)的混合過(guò)程,在一個(gè)實(shí)際的工作流中,通??傆行┎襟E是人完成的。協(xié)調(diào)是工作流管理的一個(gè)目標(biāo)或者特征,這包括了人與人、人與計(jì)算機(jī),計(jì)算機(jī)軟件之間等多種層面的含義。

      定義7 監(jiān)察與控制:監(jiān)察(Monitoring)與控制(Contorl)是工作流系統(tǒng)的重要功能與特征。這不僅包括對(duì)正在發(fā)生的業(yè)務(wù)過(guò)程(工作流),還包括它的定義或改

      變(比如BPR的過(guò)程)。這是工作流系統(tǒng)帶給我們的明顯好處之一。定義8 標(biāo)準(zhǔn)化:工作流的概念被明確提出并得到重視的同時(shí),人們就認(rèn)識(shí)到了“標(biāo)準(zhǔn)化”在其中的重要性,有關(guān)工作流的標(biāo)準(zhǔn)開(kāi)發(fā)和推廣,基本是與“工作流”的開(kāi)發(fā)和推廣同步進(jìn)行的。在這方面目前的權(quán)威性機(jī)構(gòu),是“工作流管理聯(lián)盟”(Workflow Management Coalition, WfMC)。它成立于1993年8月,目前已擁有 130 余個(gè)成員,成員包括工作流產(chǎn)品的供應(yīng)者、應(yīng)用者,有關(guān)大學(xué)和研究機(jī)構(gòu)和個(gè)人,是一個(gè)國(guó)際性的非贏利組織。定義9 工作流與重規(guī)劃:從邏輯上,對(duì)工作流的關(guān)注和研究可以看作是對(duì)業(yè)務(wù)過(guò)程重規(guī)劃(BPR)的一種深化。BPR的觀點(diǎn),要求我們將眼光投向?qū)嶋H業(yè)務(wù)進(jìn)行的過(guò)程,但這個(gè)過(guò)程應(yīng)當(dāng)是什么樣的,怎樣分析、構(gòu)造?工作流就是一個(gè)具體的、操作性的答案,它可以令我們從神秘的、難以預(yù)測(cè)和控制的“頭腦風(fēng)暴式”的“藝術(shù)的”業(yè)務(wù)過(guò)程創(chuàng)造,變成解析的、技術(shù)的、可控制和預(yù)測(cè)的工程化過(guò)程,如此,才真正體現(xiàn)出

      re-engineering 中 engineering 的意義。

      工作流與 BPR 的概念,已經(jīng)被幾乎所有的研究者聯(lián)系在一起研究和應(yīng)用。在這個(gè)領(lǐng)域有一個(gè)非常活躍的組織,即國(guó)際工作流與重規(guī)劃協(xié)會(huì)(Workflow And

      Reengineering International Association, WARIA)。

      工作流管理系統(tǒng)是一個(gè)真正的“人—機(jī)”系統(tǒng),用戶是系統(tǒng)中的基本角色,是直接的任務(wù)分派對(duì)象,他或她可以直接看到計(jì)算機(jī)針對(duì)自己列出的“任務(wù)清單”,跟蹤每一項(xiàng)任務(wù)的狀態(tài),或繼續(xù)一項(xiàng)任務(wù),而不必從一個(gè)模塊退出,進(jìn)入另一個(gè)模塊,搜索相應(yīng)任務(wù)的線索。前者是面向功能或?qū)ο蟮模笳呤侵苯用嫦蛴脩舻?。這樣,用戶的任務(wù)

      分派和任務(wù)的完成狀態(tài),可以被最大程度地計(jì)算機(jī)化和受到控制。

      現(xiàn)在的典型工作流產(chǎn)品是客戶—服務(wù)軟件。而日益增長(zhǎng)的重要途徑是通過(guò)萬(wàn)維網(wǎng)界面,它可以令客戶或遠(yuǎn)程的職員更好地參與。工作流的定義經(jīng)常是借助于圖形化

      工具,依照業(yè)務(wù)過(guò)程實(shí)例的情況定義相應(yīng)工作的安排。

      二、目標(biāo)領(lǐng)域

      使用工作流管理系統(tǒng)的目的之一是作為企業(yè)應(yīng)用系統(tǒng)集成(EAI)的平臺(tái)。在當(dāng)前大部分企業(yè)級(jí)IT架構(gòu)中,各種各樣的異構(gòu)(heterogeneous)應(yīng)用和數(shù)據(jù)庫(kù)運(yùn)行在企業(yè)內(nèi)網(wǎng)中。在這些系統(tǒng)被應(yīng)用到組織時(shí),都有一個(gè)清晰的目標(biāo)。例如,客戶管理、文檔管理、供應(yīng)鏈、訂單、支付、資源計(jì)劃等等。讓我們稱這些系統(tǒng)為專門(mén)應(yīng)用(dedicated applications)。每一個(gè)專門(mén)應(yīng)用都包含它們所支持業(yè)務(wù)流程的領(lǐng)域知識(shí)。這些專門(mén)應(yīng)用中的自動(dòng)化流程,被拼裝到企業(yè)中更大的非自動(dòng)化流程中。每當(dāng)一個(gè)這樣的專門(mén)應(yīng)用安裝并投入使用,都會(huì)帶來(lái)涉及其他多個(gè)應(yīng)用的新功能需求。企業(yè)應(yīng)用系統(tǒng)集成(EAI)就是通過(guò)使用多個(gè)專門(mén)應(yīng)用滿足軟件新需求的方法。有時(shí),這只需要在兩個(gè)應(yīng)用之間提供數(shù)據(jù)通訊的通道。專門(mén)應(yīng)用將很多業(yè)務(wù)流程硬編碼在軟件中。可以這么說(shuō),在你購(gòu)買(mǎi)專門(mén)應(yīng)用時(shí),你是購(gòu)買(mǎi)了一組固定的自動(dòng)化業(yè)務(wù)流程。而工作流管理系統(tǒng)是不必事先知道問(wèn)題域的相關(guān)信息的。工作流系統(tǒng)將業(yè)務(wù)流程描述作為輸入并管理流程實(shí)例的執(zhí)行,這使得它比專門(mén)應(yīng)用更靈活(當(dāng)然你也要花精力編寫(xiě)業(yè)務(wù)流程的規(guī)格化描述)。這就是為什么說(shuō)工作流系統(tǒng)和專門(mén)系統(tǒng)是相互補(bǔ)充的。工作流系統(tǒng)可以用來(lái)管理全局的業(yè)務(wù)流程。如果專門(mén)應(yīng)用支持你所需要的業(yè)務(wù)流程,那么使用專門(mén)應(yīng)用。在此討論的工作流系統(tǒng)的第一種使用方式就是:結(jié)合所有的專門(mén)應(yīng)用,使用工作流系統(tǒng)構(gòu)建一個(gè)EAI平臺(tái)。

      工作流系統(tǒng)能夠發(fā)揮很大價(jià)值的第二個(gè)使用方式是:協(xié)助涉及多人相關(guān)任務(wù)工作流軟件的開(kāi)發(fā)。為了達(dá)到這個(gè)目的,大部分工作流系統(tǒng)都有一個(gè)方便的機(jī)制,來(lái)生成執(zhí)行任務(wù)的表單。對(duì)于專注于ISO 或者CMM認(rèn)證的組織,采用這種方式使用工作流系統(tǒng)能夠顯著提高生產(chǎn)率。不用將過(guò)程用文字的形式寫(xiě)在紙上,工作流系統(tǒng)使你通過(guò)

      流程定義建模實(shí)現(xiàn)過(guò)程的自動(dòng)化(如使用基于Web的應(yīng)用)。

      工作流系統(tǒng)的第三種使用方式是:將工作流引擎嵌入到其他應(yīng)用中。在前面我們談到,專門(mén)應(yīng)用將指定問(wèn)題域相關(guān)的業(yè)務(wù)流程固化在軟件中。開(kāi)發(fā)專門(mén)應(yīng)用的公司也可以將工作流引擎嵌入到他們的軟件中。在這里,工作流引擎只是作為一個(gè)軟件組件,對(duì)于應(yīng)用的最終用戶是不可見(jiàn)的。將工作流引擎嵌入到應(yīng)用中的主要原因是為了重用

      (不重復(fù)發(fā)明輪子)和應(yīng)用軟件的可維護(hù)性。

      三、工作流參考模型

      WfMC定義的工作流參考模型包括若干基本部件和5個(gè)基本接口(部件之間的箭頭表示部件之間的接口),如圖1所示。工作流執(zhí)行服務(wù)器周圍的接口是 WAPI(Workflow APIs),通過(guò)這些接口可以訪問(wèn)工作流系統(tǒng)的服務(wù),這些接口還控制工作流控制軟件與其他系統(tǒng)組件間的交互。在5個(gè)接口中的許多功能,都是被2個(gè)或更多個(gè)接口同時(shí)擁有的,因此WAPI可以看作是統(tǒng)一的服務(wù)接口,可以交叉使用這5個(gè)接口來(lái)支持工作流管理功能,而不是單獨(dú)的使用其中某個(gè)接口。

      首先,我們粗況的了解一下參考模型中的基本部件,然后再對(duì)這些基本部件進(jìn)行簡(jiǎn)單分析。

      (1)過(guò)程定義:負(fù)責(zé)給出工作流程的定義,并以一定的數(shù)據(jù)格式提供給工作流引擎解釋。

      (2)工作流執(zhí)行服務(wù):工作流管理系統(tǒng)的核心,提供了過(guò)程實(shí)例執(zhí)行的運(yùn)行環(huán)境。工作流執(zhí)行服務(wù)借助于一個(gè)或多個(gè)工作流引擎,激活并解釋工作流流程定義,用來(lái)創(chuàng)建、管理、執(zhí)行工作流實(shí)例。并同外部的應(yīng)用程序進(jìn)行交互,完成工作流過(guò)程實(shí)例的創(chuàng)建執(zhí)行與管理職能。

      (3)管理和監(jiān)視工具:負(fù)責(zé)監(jiān)控工作流的執(zhí)行,對(duì)工作流管理系統(tǒng)中過(guò)程實(shí)例的狀態(tài)進(jìn)行監(jiān)控與管理,如用戶管理、角色管理、審計(jì)管理、資源控制等。

      (4)工作流客戶應(yīng)用:執(zhí)行者訪問(wèn)工作流的界面,活動(dòng)參與者通過(guò)這樣的應(yīng)用程序參加工作流活動(dòng),獲取自己的任務(wù)。

      (5)工作流引擎:過(guò)程定義的解釋器,它是工作流執(zhí)行服務(wù)的核心。

      (6)被調(diào)應(yīng)用程序:工作流執(zhí)行服務(wù)在過(guò)程實(shí)例的運(yùn)行過(guò)程中,調(diào)用的、用以對(duì)應(yīng)用數(shù)據(jù)進(jìn)行處理的程序。在過(guò)程定義中包含這種應(yīng)用程序的詳細(xì)信息如類型、地

      址信息等。

      (7)其他工作流執(zhí)行服務(wù):在大型的工作流管理系統(tǒng)中,工作流可能需要多個(gè)工作流引擎共同完成,甚至需要其他異質(zhì)的工作流執(zhí)行服務(wù)來(lái)輔助完成,這涉及到工

      作流管理系統(tǒng)之間的互聯(lián)。

      其中過(guò)程定義通常包括一些獨(dú)立的活動(dòng)步驟,相關(guān)的計(jì)算機(jī)和用戶通過(guò)一系列的活動(dòng)步驟操作或制定規(guī)則以管理流程的步驟。

      參考模型中定義的五類工作流接口。

      (1)接口1(工作流定義轉(zhuǎn)換):工作流服務(wù)和工作流建模工具間的接口,包括工作流模型的解釋和讀寫(xiě)操作。

      (2)接口2(客戶端應(yīng)用程序接口):工作流服務(wù)和客戶應(yīng)用之間的接口,這是最主要的接口規(guī)范,它約定所有客戶方應(yīng)用與工作流服務(wù)之間的功能操作方法。

      (3)接口3(應(yīng)用程序調(diào)用接口):工作流引擎和直接調(diào)用的應(yīng)用程序之間的直接接口。

      (4)接口4(工作流機(jī)協(xié)作接口):工作流管理系統(tǒng)之間的互操作接口。

      (5)接口5(管理和監(jiān)視接口):工作流服務(wù)和工作流管理工具之間的接口。

      在實(shí)際的應(yīng)用中,很多商用和開(kāi)源的工作流系統(tǒng)都沒(méi)有嚴(yán)格遵照這個(gè)標(biāo)準(zhǔn),或者說(shuō)沒(méi)有統(tǒng)一。一個(gè)原因是WfMC的標(biāo)準(zhǔn)對(duì)于很多細(xì)節(jié)沒(méi)有明確說(shuō)明,在實(shí)現(xiàn)時(shí)各個(gè)系統(tǒng)出現(xiàn)了各自的實(shí)現(xiàn)。另一個(gè)原因是,工作流系統(tǒng)與業(yè)務(wù)系統(tǒng)關(guān)系密切,受業(yè)務(wù)系統(tǒng)的限制或約束太大,因此支持不同業(yè)務(wù)的工作流在細(xì)節(jié)上差異很大,標(biāo)準(zhǔn)不易統(tǒng)一,做

      一個(gè)通用的工作流系統(tǒng)難度比較大。

      3.1過(guò)程定義

      1過(guò)程定義工具(Process Definition Tools)

      過(guò)程定義是用來(lái)創(chuàng)建一個(gè)計(jì)算機(jī)可以處理的形式的過(guò)程描述??赡芤孕问竭^(guò)程定義語(yǔ)言、對(duì)象關(guān)系模型、簡(jiǎn)單的系統(tǒng)、腳本、或者在參與者間進(jìn)行信息傳遞的路徑集為基礎(chǔ)。工作流定義工具,可能作為工作流產(chǎn)品的一部分、也可能作為業(yè)務(wù)過(guò)程分析產(chǎn)品的一部分來(lái)提供給用戶,作為業(yè)務(wù)過(guò)程分析產(chǎn)品一部分,會(huì)有其他的組件來(lái)負(fù)責(zé)處理業(yè)務(wù)過(guò)程的分析或者模型,這時(shí),必須要有兼容的轉(zhuǎn)換格式,與運(yùn)行時(shí)期的工作流軟件進(jìn)行過(guò)程定義的相互轉(zhuǎn)換。有許多不同的工具可以用來(lái)分析、建模、描述業(yè)務(wù)過(guò)程;這樣的工具有很大的不同從非正式的(鉛筆和紙)到成熟的、十分專業(yè)。工作流模型不關(guān)心這些工具的特性,也不關(guān)心在過(guò)程建立時(shí)期他們是如何交互的。在以前指出過(guò),這些工具可以作為工作流產(chǎn)品的一部分來(lái)提供,或者一個(gè)單獨(dú)的產(chǎn)品,例如BPR工具集。

      有的工作流產(chǎn)品提供了其自己的過(guò)程定義工具,從而過(guò)程定義一般是保留在工作流產(chǎn)品范圍內(nèi)的,并且可能或者不能被讀/寫(xiě)信息的編程接口所訪問(wèn)。而使用單獨(dú)的過(guò)程定義和執(zhí)行服務(wù)器產(chǎn)品,過(guò)程定義能夠在不同的產(chǎn)品間進(jìn)行轉(zhuǎn)換,并可以被其他產(chǎn)品訪問(wèn)。

      設(shè)計(jì)活動(dòng)和最后的過(guò)程模型輸出,稱為過(guò)程定義。在運(yùn)行時(shí)期過(guò)程定義可以被工作流機(jī)解釋。

      過(guò)程分析工具、建模工具和定義工具,都要有在一個(gè)組織結(jié)構(gòu)中模擬過(guò)程的能力(盡管這不是工作流參考模型規(guī)定必須有的)。如果組織模型集成到了這些工具中,那么過(guò)程定義將包含組織相關(guān)對(duì)象。這些都是與系統(tǒng)相關(guān)的控制數(shù)據(jù),例如角色:活動(dòng)者間的關(guān)系,可能會(huì)在過(guò)程執(zhí)行期間被引用。工作流定義轉(zhuǎn)換(接口 1)

      在建?;蚨x工具與運(yùn)行時(shí)期工作流管理軟件間的接口,被稱為過(guò)程定義導(dǎo)入/導(dǎo)出接口。這個(gè)接口的特點(diǎn)是:轉(zhuǎn)換格式和API調(diào)用,從而支持過(guò)程定義信息間的互相轉(zhuǎn)換。這個(gè)接口也支持已完成的過(guò)程定義間的互相轉(zhuǎn)換,或過(guò)程定義的一部分。例如,過(guò)程定義的改變或者活動(dòng)中屬性的改變。

      使用標(biāo)準(zhǔn)的過(guò)程定義格式有很多好處:

      首先,把建立階段與運(yùn)行時(shí)期環(huán)境進(jìn)行了分離,可以使用一個(gè)建模工具來(lái)產(chǎn)生過(guò)程定義,這個(gè)過(guò)程定義可以作為很多個(gè)不同工作流運(yùn)行時(shí)期產(chǎn)品的輸入。從而用戶

      可以單獨(dú)地選擇建模工具和工作流運(yùn)行時(shí)期產(chǎn)品。

      其次,可以為幾個(gè)工作流機(jī)輸出過(guò)程定義,這幾個(gè)工作流機(jī)合作來(lái)構(gòu)成分布式的工作流執(zhí)行服務(wù)器。

      WFMC在此部分作了以下兩個(gè)方面的工作:

      (1)提出了一個(gè)元模型,可以用來(lái)表示過(guò)程定義中的對(duì)象、對(duì)象間的關(guān)系和屬性。這個(gè)元模型為不同的產(chǎn)品間的過(guò)程定義相互轉(zhuǎn)換奠定了基礎(chǔ),并形成了一套轉(zhuǎn)換

      格式。

      (2)工作流系統(tǒng)間或工作流系統(tǒng)與過(guò)程定義產(chǎn)品間的API調(diào)用,提供了公共的方法來(lái)訪問(wèn)工作流過(guò)程定義。訪問(wèn)可能是讀、讀/寫(xiě)或者只寫(xiě)操作,并且操作標(biāo)準(zhǔn)對(duì)

      象集合(在元模型中定義的對(duì)象集合),或者產(chǎn)品自己的對(duì)象集合。

      3基本元模型(A Basic Meta-Model)

      WFMC開(kāi)發(fā)了一個(gè)過(guò)程定義的元模型。元模型中定義了基本的對(duì)象類型集,來(lái)滿足簡(jiǎn)單的過(guò)程定義相互轉(zhuǎn)換?;蛘哂虚_(kāi)發(fā)者具體擴(kuò)展,或者在增加的功能中定義另

      外的一致性級(jí)別來(lái)增加更多的對(duì)象類型。

      需要為下邊的類型定義特殊的屬

      性:

      工作流類型定義(Workflow Type Definition)

      ? 工作流過(guò)程名

      ? 版本號(hào)

      ? 過(guò)程開(kāi)始/結(jié)束條件

      ? 安全、審查、控制數(shù)據(jù)

      活動(dòng)(Activity)

      ? 活動(dòng)名

      ? 活動(dòng)類型

      ? 進(jìn)入動(dòng)作和離開(kāi)動(dòng)作

      ? 其他約束

      轉(zhuǎn)移條件(Transition Conditions)

      ? 執(zhí)行條件

      工作流相關(guān)數(shù)據(jù)(Workflow relevant data)

      ? 數(shù)據(jù)名與路徑

      ? 數(shù)據(jù)類型

      角色(Role)

      ? 名稱與組織實(shí)體

      ? 應(yīng)用程序調(diào)用(Invoked Application)

      ? 類型和名稱

      ? 執(zhí)行參數(shù)

      ? 本地或者訪問(wèn)路徑

      在分布式工作流服務(wù)器中,可能要在過(guò)程定義時(shí),為每個(gè)工作流機(jī)分配活動(dòng),可以作為活動(dòng)的一個(gè)附加屬性。過(guò)程定義能影響安全性與管理。定義的交換格式,要支持符號(hào)命名方案,這些符號(hào)可以映射到工作流執(zhí)行服務(wù)器中的實(shí)際名稱與地址。這種映射可以使用動(dòng)態(tài)地址定位機(jī)制來(lái)實(shí)現(xiàn)(例如,目錄服務(wù)器),也可以使用其他的外部過(guò)程定義機(jī)制實(shí)現(xiàn)。也有其他的一些行業(yè)在相關(guān)的方面作研究,例如過(guò)程建模和CASE轉(zhuǎn)換工具;WFMC提出的方法也適用與其他行業(yè),預(yù)

      先定義適當(dāng)?shù)霓D(zhuǎn)換格式。

      4訪問(wèn)過(guò)程定義的 API(APIs to access Process Definitions)

      用來(lái)支持訪問(wèn)過(guò)程定義數(shù)據(jù)的API命令集。希望規(guī)范中包含下邊列出的通用類型功能。命令集應(yīng)該提供命令操作表,和操作的對(duì)象、屬性,包括:

      建立會(huì)話(Session Establishment)

      ? 連接/斷開(kāi)參與系統(tǒng)間的會(huì)話

      工作流定義操作(Workflow Definition Operationis)

      ? 從過(guò)程定義庫(kù)或者其他資源中,獲得工作流過(guò)程的名稱列表

      ? 選擇工作流過(guò)程定義,為更多的對(duì)象級(jí)操作提供會(huì)話句柄

      ? 讀/寫(xiě)上層工作流過(guò)程定義對(duì)象

      工作流定義對(duì)象操作(Workflow Definition Object Operations)

      ? 創(chuàng)建、恢復(fù)、刪除工作流定義中的對(duì)象

      ? 恢復(fù)、設(shè)置、刪除對(duì)象的屬性

      3.2工作流執(zhí)行服務(wù)

      1什么是工作流執(zhí)行服務(wù)器

      由一個(gè)或多個(gè)工作流機(jī)構(gòu)成的軟件服務(wù)器,用來(lái)創(chuàng)建、管理、執(zhí)行工作流實(shí)例。應(yīng)用程序可能會(huì)通過(guò)WAPI來(lái)與這個(gè)服務(wù)交互。

      在模型中,過(guò)程與活動(dòng)控制邏輯間有一個(gè)邏輯上的分離,活動(dòng)控制邏輯構(gòu)成工作流執(zhí)行服務(wù)器;過(guò)程與應(yīng)用工具間、與終端用戶任務(wù)間也有一個(gè)邏輯上的分離,應(yīng)用工具和任務(wù)建立起對(duì)每個(gè)相關(guān)活動(dòng)的處理。這種邏輯上的分離,為制定更多的行業(yè)標(biāo)準(zhǔn)提供了機(jī)會(huì),也為在工作流程序中集成用戶具體的應(yīng)用工具提供了機(jī)會(huì)。

      使用下邊兩個(gè)接口中的一個(gè),就可以使工作流機(jī)訪問(wèn)外部資源:

      客戶端應(yīng)用程序接口(The client application interface),通過(guò)這個(gè)接口工作流機(jī)可以與任務(wù)表處理器交互,代表用戶資源來(lái)組織任務(wù)。然后由任務(wù)表處理器負(fù)責(zé),從任務(wù)表中選擇、推進(jìn)任務(wù)項(xiàng)。由任務(wù)表處理器或者終端用戶來(lái)控制應(yīng)用工具的活動(dòng)。

      應(yīng)用程序調(diào)用接口(The invoked application interface),允許工作流機(jī)直接激活一個(gè)應(yīng)用工具,來(lái)執(zhí)行一個(gè)活動(dòng)。典型的是調(diào)用以后臺(tái)服務(wù)為主的應(yīng)用程序,沒(méi)有用戶接口;當(dāng)執(zhí)行活動(dòng)要用到的工具,需要與終端用戶交互,通常是使用客戶端應(yīng)用程序接口來(lái)調(diào)用那個(gè)工具,這樣可以為用戶安排任務(wù)時(shí)間表提供更多的靈活性。

      在分布式的工作流執(zhí)行服務(wù)器中,每個(gè)工作流機(jī)控制過(guò)程執(zhí)行的一部分,并與這部分過(guò)程中的活動(dòng)所要用到的用戶、應(yīng)用工具進(jìn)行交互。在分布式的執(zhí)行服務(wù)器中有公共的名稱空間與管理范圍的,從而過(guò)程定義、用戶/應(yīng)用程序的名稱在一致的標(biāo)準(zhǔn)下被處理。分布式工作流系統(tǒng),在工作流機(jī)間采用特殊的協(xié)議和信息轉(zhuǎn)換格式,來(lái)同步工作流機(jī)的操作、過(guò)程交換和活動(dòng)控制信息。也許工作流相關(guān)數(shù)據(jù)也要在工作流機(jī)間進(jìn)行傳遞。在單一的工作流執(zhí)行服務(wù)器中,這些操作都是由開(kāi)發(fā)商自己定義的。

      在工作流機(jī)間需要一個(gè)標(biāo)準(zhǔn)的交換格式,來(lái)實(shí)現(xiàn)異種產(chǎn)品間的調(diào)用。使用接口4,執(zhí)行服務(wù)器可以把活動(dòng)或者子過(guò)程轉(zhuǎn)移到另外一個(gè)(異種)執(zhí)行服務(wù)器中執(zhí)行。在工作流參考模型中,這被稱作“工作流機(jī)交互(Workflow Engine Interchange)”。

      2過(guò)程和活動(dòng)狀態(tài)變遷(Process and Activity Transitions)

      工作流執(zhí)行服務(wù)可以看作是一個(gè)狀態(tài)變遷機(jī)器,過(guò)程或者活動(dòng)的實(shí)例在響應(yīng)外部事件、工作流機(jī)負(fù)責(zé)的控制判斷后,其狀態(tài)發(fā)生改變。

      下圖描述了過(guò)程實(shí)例的基本狀態(tài)變遷方案:

      在上圖中,發(fā)生狀態(tài)轉(zhuǎn)移(用箭頭表示)來(lái)響應(yīng)WAPI的命令;過(guò)程定義中的轉(zhuǎn)移條件滿足,也可能發(fā)生狀態(tài)轉(zhuǎn)移。

      初始化(Initiated)—過(guò)程實(shí)例被創(chuàng)建,包括與過(guò)程狀態(tài)相關(guān)的日期、工作流相關(guān)數(shù)據(jù),但是過(guò)程還沒(méi)有滿足條件,不能執(zhí)行。

      運(yùn)行(Running)—過(guò)程實(shí)例已經(jīng)執(zhí)行,過(guò)程中的活動(dòng)如果條件滿足就可以執(zhí)行。

      激活(Active)—過(guò)程中的一個(gè)或者多個(gè)活動(dòng)已經(jīng)被執(zhí)行。

      掛起(Suspended)—過(guò)程實(shí)例被靜止,并且過(guò)程中的活動(dòng)不能執(zhí)行,直到過(guò)程返回到運(yùn)行狀態(tài)。

      結(jié)束(Completed)— 過(guò)程實(shí)例滿足結(jié)束條件;所有的完成后操作都將被執(zhí)行(例如記錄日志、或者統(tǒng)計(jì)信息),并且銷毀過(guò)程實(shí)例。

      終止(Terminated)— 過(guò)程實(shí)例在正常結(jié)束前被停止;所有的完成后操作都將被執(zhí)行(例如記錄錯(cuò)誤信息、或者恢復(fù)數(shù)據(jù)),并且銷毀過(guò)程實(shí)例。

      活動(dòng)是不能被中斷的,例如工作流執(zhí)行服務(wù)器一旦開(kāi)始了一個(gè)活動(dòng),就不能掛起或者終止這個(gè)活動(dòng)。這就意味著,只有在所有運(yùn)行中的活動(dòng)結(jié)束后,并且過(guò)程返回到運(yùn)行狀態(tài),才能對(duì)過(guò)程執(zhí)行掛起、重啟、終止等命令。另外,可能需要把幾個(gè)活動(dòng)放在一起作為“原子單元”,這些原子單元要執(zhí)行就全部被執(zhí)行完,如果中途出現(xiàn)異常則返回到開(kāi)始點(diǎn),重新執(zhí)行??芍袛嗷顒?dòng)的處理辦法和原子活動(dòng)單元的重新啟動(dòng)能力,需要進(jìn)一步的考慮,這超出了WFMC的初期工作范圍。

      忽略那些額外的復(fù)雜事物,活動(dòng)實(shí)例的基本狀態(tài)和轉(zhuǎn)移如下圖:

      一個(gè)活動(dòng)的基本狀態(tài)有:

      初始化—過(guò)程實(shí)例中的活動(dòng)已經(jīng)被創(chuàng)建,但是還沒(méi)有激活(例如,活動(dòng)的進(jìn)入條件沒(méi)有滿足),并且沒(méi)有任務(wù)需要處理。

      激活 —?jiǎng)?chuàng)建好的任務(wù),分配這個(gè)活動(dòng)來(lái)處理。

      掛起—活動(dòng)實(shí)例被靜止,并直到活動(dòng)返回到初始化狀態(tài),才能為其分配任務(wù)。

      結(jié)束 —活動(dòng)實(shí)例執(zhí)行完成。

      當(dāng)然,一個(gè)產(chǎn)品也可以實(shí)現(xiàn)一些其他的狀態(tài)類型,或者使用不同基本狀態(tài)和轉(zhuǎn)移來(lái)代表上圖中的狀態(tài)和轉(zhuǎn)移。參考模型沒(méi)有指定工作流系統(tǒng)的內(nèi)部行為,但是狀態(tài)

      轉(zhuǎn)移闡明了,API命令集的影響范圍的基本觀點(diǎn)。工作流應(yīng)用編程接口與數(shù)據(jù)交換(Workflow Application programming Interface & Interchange)

      WAPI可以被看作是一套由工作流執(zhí)行服務(wù)器支持的API調(diào)用和數(shù)據(jù)交換集合,這個(gè)集合在在工作流執(zhí)行服務(wù)器的邊界處,負(fù)責(zé)與其他資源交互。盡管結(jié)構(gòu)中涉及到了WAPI中的5個(gè)接口,但是每一個(gè)接口中的許多功能都是公共的(即,同時(shí)被2個(gè)或者多個(gè)接口共同擁有)。

      WAPI的主要功能由API調(diào)用組成。同時(shí)在WFMC也定義了接口間的,數(shù)據(jù)轉(zhuǎn)換格式,例如過(guò)程定義。工作流控制,工作流相關(guān)數(shù)據(jù)和工作流應(yīng)用數(shù)據(jù)

      工作流執(zhí)行服務(wù)器維護(hù)內(nèi)部控制數(shù)據(jù),來(lái)確定過(guò)程實(shí)例或活動(dòng)實(shí)例的狀態(tài),并支持其他內(nèi)部狀態(tài)信息。這種內(nèi)部控制數(shù)據(jù)不能被訪問(wèn),也不能進(jìn)行轉(zhuǎn)換。但是有些信息內(nèi)容是要對(duì)外提供的,來(lái)響應(yīng)某些特殊操作(例如,查詢過(guò)程狀態(tài)等)。同種工作流執(zhí)行服務(wù)器可能在工作流機(jī)間交換這些信息,通過(guò)使用具體的內(nèi)部對(duì)話。

      工作流控制數(shù)據(jù)—由工作流管理系統(tǒng)和(或)工作流機(jī)管理的內(nèi)部數(shù)據(jù)。

      工作流管理系統(tǒng)使用工作流相關(guān)數(shù)據(jù)來(lái)判斷轉(zhuǎn)移條件是否滿足,并選擇下一個(gè)要執(zhí)行的活動(dòng)。這些數(shù)據(jù)能被工作流應(yīng)用程序訪問(wèn),這些數(shù)據(jù)也需要通過(guò)工作流執(zhí)行軟件在活動(dòng)間傳遞。當(dāng)在同種環(huán)境下進(jìn)行操作時(shí),如果過(guò)程的執(zhí)行要在2個(gè)或者多個(gè)工作流中進(jìn)行,那么這些數(shù)據(jù)就要在工作流機(jī)間進(jìn)行傳遞;這個(gè)過(guò)程可能需要名稱映射

      或者數(shù)據(jù)轉(zhuǎn)化。

      工作流相關(guān)數(shù)據(jù)—工作流管理系統(tǒng)用來(lái)判斷過(guò)程中狀態(tài)轉(zhuǎn)移是否可以執(zhí)行的數(shù)據(jù)。過(guò)程實(shí)例中的每個(gè)活動(dòng)中可能都需要進(jìn)行數(shù)據(jù)操作。因此,工作流模型必須能夠在所有的處理活動(dòng)間的“情形數(shù)據(jù)”交換。在一些環(huán)境中,可能需要情形數(shù)據(jù)在不同的工具數(shù)據(jù)格式間進(jìn)行轉(zhuǎn)換,例如,把文檔從一種格式轉(zhuǎn)成另外一種格式。(有的系統(tǒng)中,數(shù)據(jù)轉(zhuǎn)換是工作流執(zhí)行服務(wù)器來(lái)完成的;有的系統(tǒng)中直接把數(shù)據(jù)轉(zhuǎn)換定義成過(guò)程中的一個(gè)活動(dòng)來(lái)執(zhí)行)

      工作流應(yīng)用程序數(shù)據(jù)—應(yīng)用程序的具體數(shù)據(jù),并且不能被工作流管理系統(tǒng)訪問(wèn)。

      工作流應(yīng)用程序數(shù)據(jù)不能被工作流執(zhí)行軟件所使用,只與應(yīng)用程序或者用戶任務(wù)的執(zhí)行相關(guān)。就像工作流相關(guān)數(shù)據(jù)一樣,在同種執(zhí)行服務(wù)器中應(yīng)用程序數(shù)據(jù)會(huì)在工

      作流機(jī)間進(jìn)行傳遞,來(lái)保證活動(dòng)的正常執(zhí)行。

      應(yīng)用程序與其需要用到的工作流相關(guān)或應(yīng)用程序數(shù)據(jù)間的關(guān)系,會(huì)在工作流定義中說(shuō)明。在一些情況下,可能是隱含關(guān)系(例如,在一些系統(tǒng)中情形數(shù)據(jù)會(huì)作為活動(dòng)導(dǎo)航的一部分,傳遞到下一個(gè)活動(dòng)中),然而在其他情況下(例如訪問(wèn)共享對(duì)象存儲(chǔ)),就需要明確定義對(duì)象的名字和應(yīng)用程序的訪問(wèn)路徑。在參考模型中,把前一種情況

      稱為“直接數(shù)據(jù)交換”,后一種稱為“間接數(shù)據(jù)交換”。數(shù)據(jù)交換(Data Interchange)

      工作流相關(guān)數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的交換,都需要訪問(wèn)WAPI,來(lái)支持在3個(gè)運(yùn)行時(shí)期功能中的協(xié)同工作:

      ? 任務(wù)表處理器(Interface 2)

      ? 應(yīng)用程序調(diào)用(Interface 3)

      ? 工作流機(jī)交換(Interface 4)

      本節(jié)講述數(shù)據(jù)交換的基本原理;提出了API命令集,包括從工作流機(jī)中接收/返回工作流相關(guān)數(shù)據(jù)的具體調(diào)用;并為直接數(shù)據(jù)交換和間接數(shù)據(jù)交換定義了,與上述

      API命令集不同的命令集。

      由Email驅(qū)動(dòng)的工作流系統(tǒng)是一種典型的應(yīng)用程序數(shù)據(jù)的直接交換,這樣的系統(tǒng)中,應(yīng)用程序數(shù)據(jù)物理地在活動(dòng)間進(jìn)行傳遞。這種情況下,不需要明確定義活動(dòng)與應(yīng)用程序數(shù)據(jù)間的關(guān)系;應(yīng)用程序數(shù)據(jù)作為標(biāo)準(zhǔn)工作流活動(dòng)導(dǎo)航的一部分進(jìn)行傳遞,并且在應(yīng)用程序調(diào)用時(shí)在本地直接與程序相關(guān)。需要在活動(dòng)間提供數(shù)據(jù)格式轉(zhuǎn)換時(shí),應(yīng)用程序需要定義與之相關(guān)的數(shù)據(jù)類型,可以作為一個(gè)屬性來(lái)定義(這個(gè)屬性信息可能存放在軟件執(zhí)行環(huán)境中,或者能被整個(gè)工作流執(zhí)行服務(wù)器訪問(wèn),例如地址目錄)。這樣,使用同種工作流應(yīng)用程序構(gòu)造的系統(tǒng),就能夠根據(jù)每個(gè)應(yīng)用程序所定義的數(shù)據(jù)類型進(jìn)行數(shù)據(jù)轉(zhuǎn)換。需要采用一些協(xié)議來(lái)傳遞和保存數(shù)據(jù)類型信息,例如使用 X.400 對(duì)象標(biāo)識(shí)符,或者Internet mail MIME機(jī)制。

      一些類型的工作流系統(tǒng)(例如,使用共享文檔存儲(chǔ)實(shí)現(xiàn)的),在活動(dòng)間不能從物理上傳遞應(yīng)用程序數(shù)據(jù)。在這些系統(tǒng)中,應(yīng)用程序要使用適當(dāng)?shù)脑L問(wèn)路徑才能進(jìn)行數(shù)據(jù)訪問(wèn)。這樣,必須要有統(tǒng)一的訪問(wèn)路徑命名方案,必須是有效的訪問(wèn)權(quán)限,并且由激活的過(guò)程實(shí)例來(lái)控制訪問(wèn)權(quán)限。在這種情況下,如果需要,在建模時(shí),數(shù)據(jù)格式轉(zhuǎn)換

      也可以作為一個(gè)活動(dòng)。

      同種系統(tǒng)中可能使用私有的對(duì)象命名協(xié)定和訪問(wèn)權(quán)限,但是異種系統(tǒng)需要一個(gè)公共的方案。在異種系統(tǒng)中,在過(guò)程定義時(shí)必須包含對(duì)應(yīng)用程序數(shù)據(jù)對(duì)象存儲(chǔ)的訪問(wèn)

      路徑,或者在活動(dòng)間的導(dǎo)航必須包含訪問(wèn)路徑的傳遞。

      同種工作流產(chǎn)品進(jìn)行協(xié)調(diào)工作,其必須采用相同的應(yīng)用程序數(shù)據(jù)交換方法,或者通過(guò)一個(gè)網(wǎng)關(guān)機(jī)制進(jìn)行協(xié)作,網(wǎng)關(guān)機(jī)制通過(guò)適當(dāng)?shù)膮f(xié)議,可以在兩種不同的數(shù)據(jù)交換方法間進(jìn)行映射,也可以處理對(duì)象命名與數(shù)據(jù)類型轉(zhuǎn)換的不同。以后還需要對(duì)這部分進(jìn)行細(xì)化,但有可能制定一個(gè)交換標(biāo)準(zhǔn),來(lái)包含上述的兩種情況。

      工作流應(yīng)用程序或相關(guān)數(shù)據(jù)交換的方法,都是通過(guò)3個(gè)接口來(lái)處理的;下邊列出了這3個(gè)接口:

      客戶端應(yīng)用程序接口—工作流相關(guān)數(shù)據(jù)可以包含在任務(wù)中。工作流相關(guān)數(shù)據(jù)也可以通過(guò)共享的對(duì)象存儲(chǔ)形式來(lái)間接傳遞。

      應(yīng)用程序調(diào)用接口—依靠應(yīng)用程序調(diào)用接口進(jìn)行數(shù)據(jù)轉(zhuǎn)換,可能需要在調(diào)用服務(wù)中把數(shù)據(jù)包含在具體應(yīng)用程序協(xié)議中。激活的工作流應(yīng)用程序可以使用,讀/寫(xiě)工作

      流相關(guān)數(shù)據(jù)的API,或者用這些API來(lái)構(gòu)造通用應(yīng)用程序代理。

      工作流機(jī)協(xié)作接口—與客戶端應(yīng)用程序接口相似,盡管在不同的系統(tǒng)中支持不同的應(yīng)用程序數(shù)據(jù)交換方法,但是網(wǎng)關(guān)功能的使用,需要在兩種方法間進(jìn)行映射,也

      要處理名稱問(wèn)題。

      3.3工作流客戶應(yīng)用:

      1工作流客戶端應(yīng)用程序(Workflow Client Applications)

      任務(wù)表處理器是在需要調(diào)用人類資源的活動(dòng)時(shí)用來(lái)與終端用戶進(jìn)行交互的軟件。任務(wù)表處理器可以作為工作流產(chǎn)品的一部分提供給用戶,也可以由用戶自己開(kāi)發(fā)。在其他情況中,工作流可能要與普通的辦公系統(tǒng)進(jìn)行集成,例如Email,來(lái)為終端用戶提供一個(gè)統(tǒng)一的任務(wù)管理系統(tǒng)。這就要求在工作流執(zhí)行服務(wù)器與工作流客戶端應(yīng)用程序

      間有一個(gè)非常靈活的通信機(jī)制,來(lái)構(gòu)建各種可能遇到的運(yùn)行系統(tǒng)。在工作流模型中,通過(guò)客戶端應(yīng)用程序與工作流機(jī)間的定義良好的接口進(jìn)行交互。在這個(gè)接口中包含任務(wù)表—由工作流機(jī)分配給用戶的任務(wù)序列。最簡(jiǎn)單的情況是,工作流機(jī)訪問(wèn)任務(wù)表,來(lái)把任務(wù)分配給用戶;任務(wù)表處理器訪問(wèn)任務(wù)表,向任務(wù)表中添加任務(wù)項(xiàng)。有許多不同的產(chǎn)品來(lái)實(shí)現(xiàn)任務(wù)表的交互。

      任務(wù)表中任務(wù)項(xiàng)的激活(例如,啟動(dòng)應(yīng)用程序,連接工作流相關(guān)數(shù)據(jù)),可能是由工作流客戶端應(yīng)用程序或者終端用戶控制的。在工作流客戶端應(yīng)用程序與工作流執(zhí)行服務(wù)器間定義了一系列的方法,用來(lái)向任務(wù)表中添加任務(wù)項(xiàng)、從任務(wù)表中刪除完成的活動(dòng)、激活臨時(shí)掛起的活動(dòng),等。

      任務(wù)表處理器也可以調(diào)用應(yīng)用程序,或者直接調(diào)用,或者由終端用戶調(diào)用。通常希望,任務(wù)表處理器的應(yīng)用程序調(diào)用范圍能夠受到運(yùn)行環(huán)境的限制,盡管這樣會(huì)給

      模型帶來(lái)通用性的限制,但這種情況是一直存在的。

      與任務(wù)表相關(guān)的部分活動(dòng)的數(shù)據(jù),是任務(wù)表處理器用來(lái)調(diào)用應(yīng)用程序所必須的信息。當(dāng)應(yīng)用程序數(shù)據(jù)是強(qiáng)類型時(shí),在任務(wù)表處理器中要存放一個(gè)聯(lián)接,用來(lái)實(shí)現(xiàn)程序的調(diào)用。在其他情況中,在任務(wù)表處理器與工作流機(jī)間要進(jìn)行完全的應(yīng)用程序名稱和地址信息的交換;這時(shí),工作流客戶端應(yīng)用程序也可能實(shí)現(xiàn)一些應(yīng)用程序調(diào)用接口(接

      口3)中的功能,來(lái)獲得必要的信息。

      任務(wù)表中可能要包含一個(gè)過(guò)程中的幾個(gè)不同實(shí)例的相關(guān)任務(wù),或者包含幾個(gè)不同過(guò)程中的一個(gè)共同活動(dòng)項(xiàng)。一個(gè)任務(wù)表處理器可能要與幾個(gè)不同的工作流機(jī)、幾個(gè)不同的工作流執(zhí)行服務(wù)器進(jìn)行交互。(按照每個(gè)產(chǎn)品的實(shí)現(xiàn),為每個(gè)過(guò)程單獨(dú)維護(hù)一個(gè)物理上分開(kāi)的任務(wù)表,或者任務(wù)表處理器把幾個(gè)不同的任務(wù)表聯(lián)合到一起,呈現(xiàn)給終端

      用戶)

      因此,客戶端工作流應(yīng)用程序與工作流機(jī)間的接口必須十分靈活,來(lái)滿足下邊的幾方面功能的實(shí)現(xiàn)多樣性:

      ? 過(guò)程和活動(dòng)表示符

      ? 資源名和地址

      ? 數(shù)據(jù)引用和數(shù)據(jù)結(jié)構(gòu)

      ? 可選擇的通訊機(jī)制 工作流客戶端應(yīng)用程序接口(接口 2)

      滿足上述需求的方法,在標(biāo)準(zhǔn)API集后,可以為從工作流應(yīng)用程序到工作流機(jī)和任務(wù)表的訪問(wèn)提供一致的形式,而不管產(chǎn)品的實(shí)現(xiàn)特性。

      API與其參數(shù)可以映射到幾個(gè)不同的通信機(jī)制上,來(lái)適應(yīng)各種不同的工作流實(shí)現(xiàn)模型。

      WFMC在其文檔中,分開(kāi)發(fā)布API規(guī)范;下邊是對(duì)客戶端應(yīng)用程序API使用的一個(gè)概述,分成幾個(gè)不同的功能。提供了對(duì)單獨(dú)或者多個(gè)過(guò)程活動(dòng)實(shí)例的操作命令,就像任務(wù)表一樣。

      建立會(huì)話(Session Establishment)

      ? 連接/斷開(kāi)參與系統(tǒng)間的會(huì)話

      工作流定義操作(Workflow Definition Operations)

      ? 對(duì)工作流過(guò)程定義名稱或者屬性的恢復(fù)/查詢功能

      過(guò)程控制功能(Process Control Functions)

      ? 創(chuàng)建/開(kāi)始/結(jié)束一個(gè)過(guò)程實(shí)例

      ? 掛起/喚醒一個(gè)過(guò)程實(shí)例

      ? 在過(guò)程實(shí)例或活動(dòng)實(shí)例中強(qiáng)制一個(gè)狀態(tài)發(fā)生改變

      ? 查詢過(guò)程實(shí)例或活動(dòng)實(shí)例的屬性

      過(guò)程狀態(tài)功能(Process Status Functions)

      ? 打開(kāi)/關(guān)閉過(guò)程實(shí)例或活動(dòng)實(shí)例的查詢,設(shè)置過(guò)濾標(biāo)準(zhǔn)

      ? 獲取過(guò)程實(shí)例或活動(dòng)實(shí)例的詳細(xì)信息

      ? 獲取具體過(guò)程或活動(dòng)的詳細(xì)信息

      任務(wù)表/任務(wù)項(xiàng)處理功能(Worklist/Workitem Handling Functions)

      ? 打開(kāi)/關(guān)閉任務(wù)表查詢,設(shè)置過(guò)濾標(biāo)準(zhǔn)

      ? 獲取任務(wù)表中的項(xiàng)目

      ? 通知選擇/重分配/結(jié)束一個(gè)任務(wù)項(xiàng)

      ? 查詢?nèi)蝿?wù)項(xiàng)屬性

      過(guò)程管理功能(Process Supervisory Functions)

      ? 改變過(guò)程定義或者它的實(shí)例的運(yùn)行狀態(tài)

      ? 改變某種類型的所有過(guò)程實(shí)例或活動(dòng)實(shí)例的狀態(tài)

      ? 為某種類型的所有過(guò)程實(shí)例或活動(dòng)實(shí)例的屬性賦值

      ? 終止所有過(guò)程實(shí)例

      數(shù)據(jù)處理功能(Data Handling Functions)

      ? 恢復(fù)/返回工作流相關(guān)或應(yīng)用程序數(shù)據(jù)

      應(yīng)用程序調(diào)用(Application Invocation)

      ? 上邊對(duì)功能的概括,為支持任務(wù)表處理器對(duì)應(yīng)用程序調(diào)用提供了基礎(chǔ)。應(yīng)用程序調(diào)用功能的一些命令是與客戶端應(yīng)用程序環(huán)境相關(guān)的。

      ? 有些產(chǎn)品可以只實(shí)現(xiàn)全部WAPI的一部分;以后會(huì)給出進(jìn)一步的考慮,定義一致性級(jí)別,來(lái)滿足市場(chǎng)中不同的產(chǎn)品間的,不同的協(xié)作需要。

      3.4被調(diào)應(yīng)用程序:

      1應(yīng)用程序調(diào)用(Invoked Applications)

      所有的WFM產(chǎn)品都沒(méi)有足夠的邏輯單元,知道如何調(diào)用所有的應(yīng)用程序,這些應(yīng)用程序存在異種的產(chǎn)品環(huán)境中。這就需要,能夠處理在所有平臺(tái)下和網(wǎng)絡(luò)環(huán)境中進(jìn)行調(diào)用的邏輯,并需要能使用公共格式和編碼進(jìn)行應(yīng)用數(shù)據(jù)或相關(guān)數(shù)據(jù)傳遞的方法。

      然而,許多工作流系統(tǒng)能夠使用了更多受限制的應(yīng)用程序,特別是那些采用強(qiáng)制數(shù)據(jù)類型和直接與應(yīng)用程序相連的系統(tǒng)。在其他情況中,應(yīng)用程序?qū)Σ僮鞯恼{(diào)用,可能是通過(guò)標(biāo)準(zhǔn)的交換機(jī)制來(lái)實(shí)現(xiàn)的,例如OSI TP協(xié)議或者X.400。一些實(shí)現(xiàn)使用了“應(yīng)用程序代理(Application Agent)”,把這些在在標(biāo)準(zhǔn)接口之后的各種方法包含在工作流執(zhí)行服務(wù)器中。也有可能開(kāi)發(fā)“Workflow enabled”應(yīng)用工具,這種工具使用標(biāo)準(zhǔn)的API集來(lái)與工作流執(zhí)行服務(wù)器進(jìn)行通信,來(lái)接收應(yīng)用程序數(shù)據(jù)、信號(hào)和響應(yīng)活動(dòng)事件等。這些API可以被應(yīng)用工具直接調(diào)用;也可以被應(yīng)用程序代理過(guò)過(guò)程調(diào)用,作為與其他應(yīng)用程序(不包含任何工作流技術(shù)的程序)交互的前端。應(yīng)用程序調(diào)用接口(接口 3)

      下邊是接口3的結(jié)構(gòu),“工作流”類型的應(yīng)用程序或應(yīng)用程序代理,可以直接使用這個(gè)結(jié)構(gòu)。

      在簡(jiǎn)單的情況中,工作流機(jī)在本地處理應(yīng)用程序調(diào)用,使用過(guò)程定義中的信息來(lái)確定,活動(dòng)的性質(zhì)、將要調(diào)用的應(yīng)用程序的類型和所需的數(shù)據(jù)。被調(diào)用的應(yīng)用程序可能存儲(chǔ)在工作流機(jī)中,或者與工作流機(jī)一同存儲(chǔ)在相同的平臺(tái)下,或者存放在一個(gè)獨(dú)立的網(wǎng)絡(luò)訪問(wèn)的平臺(tái)中;過(guò)程定義中有足夠的應(yīng)用程序類型和尋址信息(工作流機(jī)的特殊需求),來(lái)實(shí)現(xiàn)應(yīng)用程序調(diào)用。在這種情況下,應(yīng)用程序命名與尋址的協(xié)定是處于工作流機(jī)與過(guò)程定義之間的。

      應(yīng)用程序調(diào)用API的詳細(xì)語(yǔ)法、語(yǔ)義作為WFMC規(guī)范的一部分給出。操作覆蓋了一些不同的基本接口,包括上表中的一部分,其中一些操作是同步的,一些是異步的。API的操作可以是單線程的,也可以是多線程的,后者使用活動(dòng)ID來(lái)區(qū)分線程。下邊是應(yīng)用程序調(diào)用可以使用的一些命令概括:

      創(chuàng)建會(huì)話(Session Establishment)

      ? 連接/斷開(kāi)應(yīng)用程序會(huì)話

      活動(dòng)管理功能(Activity Management Functions)

      ? 開(kāi)始活動(dòng)

      ? 掛起/恢復(fù)/放棄活動(dòng)

      ? 活動(dòng)完成通知

      ? 信號(hào)事件

      ? 查詢活動(dòng)屬性

      數(shù)據(jù)處理功能(Data Handling Functions)

      ? 提供工作流相關(guān)數(shù)據(jù)

      ? 提供應(yīng)用程序數(shù)據(jù)或數(shù)據(jù)地址

      更復(fù)雜的情況,異種工作流機(jī)間的協(xié)同工作,可能需要在工作流機(jī)間傳遞應(yīng)用程序調(diào)用信息,或者作為運(yùn)行時(shí)期數(shù)據(jù)交換的一部分,或者通過(guò)在過(guò)程定義階段后導(dǎo)

      入過(guò)程定義來(lái)實(shí)現(xiàn)。

      3.5其他工作流執(zhí)行服務(wù):

      WFMC的一個(gè)主要目標(biāo)是,為不同開(kāi)發(fā)商的工作流系統(tǒng)產(chǎn)品,相互間能夠進(jìn)行無(wú)逢傳遞任務(wù)項(xiàng),定義標(biāo)準(zhǔn)。

      工作流產(chǎn)品的特性變化多樣。在WFMC的協(xié)同工作標(biāo)準(zhǔn)中,沒(méi)有強(qiáng)迫開(kāi)發(fā)商必須提供一個(gè)只面向用戶需求的產(chǎn)品或者只考慮協(xié)同工作。

      WFMC把焦點(diǎn)聚集到,開(kāi)發(fā)多種不同的協(xié)同工作框架,這些框架可以操作一系列標(biāo)準(zhǔn)的協(xié)調(diào)工作,從簡(jiǎn)單的任務(wù)傳遞到整個(gè)工作流系統(tǒng)的協(xié)同工作(包括過(guò)程定義轉(zhuǎn)換、工作流相關(guān)數(shù)據(jù)交換、通用的界面等)。簡(jiǎn)單的協(xié)同工作,WFMC的協(xié)同工作定義將在最初就能支持;而復(fù)雜的協(xié)同工作,還需要進(jìn)一步的研究。

      盡管可以開(kāi)發(fā)一個(gè)非常復(fù)雜的協(xié)同工作框架,由許多個(gè)工作流機(jī)構(gòu)成個(gè)執(zhí)行服務(wù)器,但是這種框架不會(huì)在近期實(shí)現(xiàn),因?yàn)檫@需要所有的工作流機(jī)都可以解釋一個(gè)公共的過(guò)程定義和共享公共的工作流控制數(shù)據(jù)集,事實(shí)上是維護(hù)異種工作流機(jī)間的一個(gè)共享過(guò)程視圖?,F(xiàn)階段更現(xiàn)實(shí)的目標(biāo)是,能夠在運(yùn)行時(shí)期傳遞過(guò)程的某些部分,來(lái)支持不

      同的執(zhí)行服務(wù)器運(yùn)行。

      WFMC定義了4個(gè)協(xié)同工作模型:鏈鎖式,子過(guò)程嵌套,P2P(Peer-to-Peer),相似同步,包含多種協(xié)同工作能力級(jí)別

      3.6管理和監(jiān)視工具:

      WFMC規(guī)范的最后關(guān)注的是為管理和監(jiān)視功能開(kāi)發(fā)公共的接口標(biāo)準(zhǔn),這樣一個(gè)開(kāi)發(fā)商的產(chǎn)品就可以用來(lái)管理其他工作流機(jī)的運(yùn)行。通過(guò)公共的接口,幾個(gè)不同的工

      作流執(zhí)行服務(wù)器可以共享,管理和監(jiān)視功能。

      盡管,過(guò)程狀態(tài)命令在接口定義中已經(jīng)描述了,但一致認(rèn)為,在某些行業(yè)中需要,進(jìn)行全部狀態(tài)監(jiān)視和提取信息的功能。WFMC提出的接口,是要讓用戶能夠得到工作流運(yùn)行狀態(tài)的完整視圖,無(wú)論是什么樣的工作流系統(tǒng);同時(shí),也希望能提供一套全面的功能集,進(jìn)行系統(tǒng)管理,包括安全性、控制和權(quán)限。

      接口中包含WAPI集中的一些具體命令,來(lái)操作管理和監(jiān)視功能。另外,進(jìn)一步的討論,期望能夠確定在什么范圍內(nèi),這個(gè)接口可以使用現(xiàn)有的協(xié)議(如CMIP、SNMP),來(lái)設(shè)置、恢復(fù)管理狀態(tài)和統(tǒng)計(jì)信息(定義在開(kāi)放MIB中——Management Information Base)

      “工作流” 已經(jīng)成為了一個(gè)事實(shí)存在的概念和名詞,可是到了2007年依然找不到?jīng)]有能夠明確的定義,在互連網(wǎng)上,我們隨便在GOOGLE或百度上搜索,找到關(guān)于工作流的內(nèi)容及定義可以說(shuō)是百家爭(zhēng)鳴,是標(biāo)準(zhǔn)、是引擎、是技術(shù)、解決方案、是思想、是架構(gòu)。。到底是什么?

      工作流到底是什么呢,對(duì)于從事做計(jì)算機(jī)軟件設(shè)計(jì)的人而言,它是一項(xiàng)技術(shù)、是我們?yōu)槲覀兊目蛻籼峁┙鉀Q方案框架的一部分;對(duì)于從事企業(yè)信息化管理的人而言,它是一種思想,是我們降低用戶的IT運(yùn)維成本的一種方法;對(duì)于從事軟件開(kāi)發(fā)的人而言,它是一個(gè)架構(gòu),是我們?nèi)绾卫贸墒旆€(wěn)定的接口和組件低成本的開(kāi)發(fā)出適應(yīng)用戶流程變化的應(yīng)用程序。總而言之,工作流通過(guò)技術(shù)的手段,融入管理思想、為管理提供“人、事、物、流程、時(shí)間、條件”等多維管理能力,幫助用戶實(shí)現(xiàn)管理目標(biāo)。

      既然今天談的是“工作流”技術(shù),那文章的重點(diǎn)就是占在技術(shù)的角度來(lái)討論工作流,我們可以從以下幾個(gè)方面來(lái)探討工作流。

      1、為什么要使用工作流技術(shù)

      對(duì)于這個(gè)問(wèn)題我們可以從軟件企業(yè)的解決方案策略、用戶運(yùn)維的成本上及企業(yè)信息化規(guī)劃等幾個(gè)角度來(lái)考慮這個(gè)問(wèn)題。

      首先從解決方案提供者的角度來(lái)說(shuō),我們的CIO/CTO面臨的一個(gè)很大的壓力是在于我們?yōu)橛脩籼峁┑慕鉀Q方案滯后于我們的用戶的商業(yè)策略,我們用戶總是在變化中發(fā)展,商業(yè)策略面臨著市場(chǎng)、競(jìng)爭(zhēng)對(duì)手的壓力而改變,而我們提供的解決方案卻不能夠快速適應(yīng)這樣的變化。工作流技術(shù)使這樣的一種解決方案成為可能,同時(shí)工作流技術(shù)也為用戶企業(yè)實(shí)現(xiàn)企業(yè)戰(zhàn)略執(zhí)行提供了實(shí)現(xiàn)的平臺(tái)。

      從IT運(yùn)維的角度來(lái)說(shuō),目前很多IT公司面臨了一種CTO(總體擁有成本)成本比例的變化趨勢(shì)。因?yàn)榇蟛糠諭T企業(yè)或IT部門(mén)的IT基礎(chǔ)架構(gòu)的現(xiàn)狀,使我們用戶運(yùn)行維護(hù)的成本在逐步的升高,研發(fā)新能力的成本在逐步壓縮,但我們的IT投資始終會(huì)變緩,特別是IT運(yùn)行維護(hù)的成本在總體擁有成本中的比例。意味著IT企業(yè)和IT部門(mén)利益的空間將越來(lái)越小,其實(shí)我們身邊的很多案例里就有很多IT企業(yè)被某些項(xiàng)目拖累致倒閉的現(xiàn)象。工作流技術(shù)可以脫離開(kāi)發(fā)環(huán)境而設(shè)計(jì)業(yè)務(wù)流程的特性讓企業(yè)IT運(yùn)行維護(hù)成本大大的降低,從而提高了IT企業(yè)和IT部門(mén)的利益空間。

      從企業(yè)信息規(guī)劃的角度來(lái)說(shuō),可以回顧前些年的ERP、進(jìn)銷存、CRM等系統(tǒng),大部分是管事的,系統(tǒng)主要是記錄數(shù)據(jù)及其關(guān)聯(lián)關(guān)系等,是靜態(tài)為主的,但隨著社會(huì)的發(fā)展與競(jìng)爭(zhēng)格局的變化,企業(yè)的策略越來(lái)越需要能隨需而動(dòng),生產(chǎn)管理活動(dòng)也始終是“人”參與的活動(dòng),很多時(shí)候人需要激勵(lì)、參與、滿足、約束、被管理等等才能很好達(dá)到管理目標(biāo)。因此新一代管理系統(tǒng)中協(xié)同性、靈活性、擴(kuò)展性需求相當(dāng)重要,工作流是提供協(xié)同性、靈活性、擴(kuò)展性的最佳工具。

      2、工作流用在哪里

      毫五疑問(wèn),工作流技術(shù)是軟件技術(shù),用在軟件設(shè)計(jì)領(lǐng)域,工作流分為業(yè)務(wù)型工作流和狀態(tài)型工作流,業(yè)務(wù)型工作流大部分是要用在管理軟件設(shè)計(jì)領(lǐng)域,為管理軟件提供靈活性、擴(kuò)展性、協(xié)同性等特質(zhì)。幫助企業(yè)實(shí)現(xiàn)戰(zhàn)略管理目標(biāo)。

      常用的工作流應(yīng)用場(chǎng)景:

      企業(yè)辦公自動(dòng)化系統(tǒng)

      IT服務(wù)管理系統(tǒng)

      客戶服務(wù)管理系統(tǒng)

      物流攬收調(diào)度系統(tǒng)

      設(shè)備運(yùn)維管理系統(tǒng)

      質(zhì)量考核監(jiān)督系統(tǒng)

      采購(gòu)系統(tǒng)。。

      3、如何使用工作流及哪些人使用

      很多時(shí)候工作流是一個(gè)看不見(jiàn)摸不著的東西,存在于我們的業(yè)務(wù)管理系統(tǒng)軟件中,至于如何使用、哪些人使用可以從幾個(gè)方面說(shuō)明。

      工作流引擎是系統(tǒng)功能,是軟件本身去使用的,工作流架構(gòu)是包含工作流引擎使用、接口調(diào)用、業(yè)務(wù)系統(tǒng)應(yīng)用框架的,是開(kāi)發(fā)人員使用的,開(kāi)發(fā)人員在工作流架構(gòu)上設(shè)計(jì)開(kāi)發(fā)包含工作流技術(shù)的不同業(yè)務(wù)領(lǐng)域的軟件系統(tǒng)。

      工作流平臺(tái)一般是包含流程設(shè)計(jì)工具的,由企業(yè)流程管理用戶去使用,通過(guò)工作流平臺(tái)提供的流程管理工具將企業(yè)的戰(zhàn)略和制度轉(zhuǎn)化為執(zhí)行語(yǔ)言。

      軟件系統(tǒng)普通用戶使用的則僅僅是包含企業(yè)戰(zhàn)略執(zhí)行語(yǔ)言的業(yè)務(wù)管理系統(tǒng)。

      4、工作流技術(shù)的選型

      關(guān)于工作流技術(shù)的選型,對(duì)于從事IT工作的人員來(lái)說(shuō)是一個(gè)需要非常慎重選擇,在這里做些簡(jiǎn)單的闡述,工作流技術(shù)分為兩種。一種是業(yè)務(wù)流程型的,比如我們的一些事件處理、服務(wù)流程、物流攬收調(diào)度、合同審批、設(shè)計(jì)審核等,需要工作流引擎根據(jù)各種表單的內(nèi)容來(lái)人機(jī)交互來(lái)自動(dòng)管理這個(gè)過(guò)程;另一種是狀態(tài)機(jī)型的,根據(jù)一件事情的狀態(tài)變化而自動(dòng)進(jìn)行處理,如工業(yè)控制,電路控制管理等。常用于一些工業(yè)自動(dòng)化控制系統(tǒng)等。

      我們經(jīng)常聽(tīng)到有人說(shuō)工作流引擎可以很快的就配置出一個(gè)業(yè)務(wù)系統(tǒng)出來(lái),自定義表單,自定義流程,自定義報(bào)表等等,很快就給用戶提供一個(gè)完整的業(yè)務(wù)系統(tǒng),其實(shí)這樣的想法是非常理想的,我們?cè)陂_(kāi)發(fā)我們的業(yè)務(wù)系統(tǒng)的時(shí)候我們會(huì)發(fā)現(xiàn)我們的業(yè)務(wù)系統(tǒng)不僅僅是功能的實(shí)現(xiàn),它將面臨著各個(gè)方面的需求,包括性能,并發(fā)處理能力、易用性、一致性及個(gè)性化等等,當(dāng)工作流引擎只能滿足60%的需求時(shí),我們的團(tuán)隊(duì)將為另外的40%需求付出多少成本。因此在工作流的選型上很重要的一點(diǎn)就是它對(duì)于二次開(kāi)發(fā)的支持,及接口的友好特性,同時(shí)它能支持我們?cè)诠ぷ髁骰A(chǔ)上設(shè)計(jì)思路上的延續(xù)性。

      因此工作流技術(shù)的選型不但要考慮工作流引擎本身功能的完整性和穩(wěn)定性,工作流架構(gòu)的擴(kuò)展性、易用性及適應(yīng)能力,還需要考慮工作流涉及開(kāi)發(fā)人員、企業(yè)管理實(shí)施人員、企業(yè)用戶的習(xí)慣和易用性等。純粹的工作流的產(chǎn)品意義并不大,關(guān)鍵是否能很好的幫助企業(yè)實(shí)現(xiàn)管理目標(biāo)。

      5、工作流技術(shù)的應(yīng)用

      E8.Net工作流平臺(tái)融入了新一代管理軟件關(guān)注的重點(diǎn)思想,所有功能模塊應(yīng)用將權(quán)限體系、工作流引擎體系、表示邏輯體系、管理控制邏輯體系、擴(kuò)展及個(gè)性化接口體系充分結(jié)合,從架構(gòu)的設(shè)計(jì)上優(yōu)化企業(yè)個(gè)性化業(yè)務(wù)系統(tǒng)實(shí)施成本,并通過(guò)流程管理工具,為企業(yè)實(shí)施個(gè)性化的企業(yè)流程,通過(guò)記錄、監(jiān)督、跟蹤、回訪、分析企業(yè)日常事務(wù),持續(xù)改善企業(yè)管理流程,E8.Net工作流平臺(tái)開(kāi)源的開(kāi)發(fā)架構(gòu)設(shè)計(jì)過(guò)程中充分分析了管理行為中人的特性,基于E8開(kāi)發(fā)的企業(yè)流程應(yīng)用系統(tǒng)提供了事中監(jiān)督、事后回訪、全程跟蹤的體系架構(gòu),E8工作流引擎功能設(shè)計(jì)中也充分考慮了流程和環(huán)節(jié)模型特性、環(huán)節(jié)行為人群體特性和中國(guó)特色,流轉(zhuǎn)過(guò)程中基于權(quán)限體系提供了人為因素中“主動(dòng)/被動(dòng)”異常的解決思路,解決快速實(shí)施企業(yè)業(yè)務(wù)流程需求的同時(shí),又提供了人性“非理想”狀態(tài)下的異常解決方案和防范控制解決方案。

      工作流技術(shù)在協(xié)同辦公中的實(shí)現(xiàn)

      http://004km.cn 2008年10月28日 17:04 比特網(wǎng)ChinaByte

      一、協(xié)同辦公(OA)系統(tǒng)簡(jiǎn)介

      協(xié)同辦公(OA)系統(tǒng)是一套兼具企業(yè)信息門(mén)戶、知識(shí)管理、工作流管理、人力資源管理、客戶與合作伙伴管理、項(xiàng)目管理、財(cái)務(wù)管理、資產(chǎn)管理功能的協(xié)同商務(wù)平臺(tái),協(xié)同辦公(OA)系統(tǒng)是一個(gè)數(shù)字化的企業(yè)應(yīng)用環(huán)境,真正讓公司所有的信息都在一個(gè)平臺(tái)上管理,解決信息孤島問(wèn)題。協(xié)同辦公系統(tǒng)本身具有的網(wǎng)狀結(jié)構(gòu),為企業(yè)打通所有的信息節(jié)點(diǎn),讓企業(yè)管理者輕松穿梭在客戶、員工、文檔等所有的信息節(jié)點(diǎn)上,因?yàn)閰f(xié)同辦公系統(tǒng)為您提供了一張信息網(wǎng),只要您找到這張信息網(wǎng)中的某個(gè)節(jié)點(diǎn),您就可以輕松的以這個(gè)節(jié)點(diǎn)為中心把企業(yè)的整個(gè)信息網(wǎng)都提取出來(lái)。

      同時(shí),協(xié)同辦公(OA)系統(tǒng)可以與后臺(tái)的ERP軟件集成在一起,將所有利益相關(guān)者、企業(yè)部門(mén)、不同應(yīng)用系統(tǒng)的信息整合到統(tǒng)一的渠道,并提供統(tǒng)一的界面給用戶操作和提取信息,從而實(shí)現(xiàn)業(yè)務(wù)處理和信息獲取與共享的一體化,達(dá)到內(nèi)部協(xié)同和外部協(xié)同,為每一個(gè)用戶提供一個(gè)完全的個(gè)性化門(mén)戶,用戶在這個(gè)個(gè)性化的門(mén)戶中管理日常的所有事務(wù)。

      二、工作流管理簡(jiǎn)介

      由于工作流預(yù)先定義的特性,已設(shè)定的請(qǐng)求可以很容易的遵守相應(yīng)的規(guī)則和實(shí)際操作情況。企業(yè)可以確信所有的請(qǐng)求都是根據(jù)規(guī)則和手續(xù)來(lái)輸入和批準(zhǔn)的,從而保證企業(yè)運(yùn)作的規(guī)范化和透明化。上海泛微軟件公司的協(xié)同辦公(OA)系統(tǒng)中實(shí)現(xiàn)的工作流e-Workflow管理可以對(duì)內(nèi)部以及外部業(yè)務(wù)處理采取電子化管理方式管理,工作流管理是提高組織效率的有效工具。

      e-Workflow提供強(qiáng)大的自定義功能,支持企業(yè)復(fù)雜的工作流設(shè)置。企業(yè)可對(duì)工作流的組成因素包括流程完成需要的階段、每個(gè)階段的負(fù)責(zé)人、流轉(zhuǎn)條件,直至相對(duì)底層的表單和字段進(jìn)行自定義,使得工作流的定義完全與企業(yè)的政策和實(shí)際運(yùn)營(yíng)相符合,而不必進(jìn)行復(fù)雜的二次開(kāi)發(fā)。

      e-Workflow同時(shí)也提供了可定制的瀏覽和報(bào)告的功能,用戶可以對(duì)工作流的關(guān)鍵信息進(jìn)行任意的定義以獲得特定的報(bào)表。e-Workflow的特性可以使用戶獲得非常靈活和豐富的統(tǒng)計(jì)報(bào)告以對(duì)相關(guān)的決策作出支持。

      三、工作流管理實(shí)現(xiàn)基本功能

      1定義任意形式的工作流程

      e-Workflow強(qiáng)大的自定義功能可以滿足企業(yè)對(duì)復(fù)雜工作流程的定義,包括文檔流程和表單流程e-Workflow 與 e-HRM結(jié)合對(duì)于人員在組織結(jié)構(gòu)中的地位和角色將是工作流設(shè)計(jì)的基礎(chǔ)。

      2工作流執(zhí)行

      可設(shè)定的對(duì)工作流的執(zhí)行包括提交、批準(zhǔn)、退回、拒絕、代理、重新打開(kāi)、歸檔等,e-Workflow會(huì)根據(jù)路由的判定條件和當(dāng)前節(jié)點(diǎn)的執(zhí)行操作設(shè)置工作流的下一目標(biāo)節(jié)點(diǎn)。

      固定流程和自由流程的結(jié)合

      原則上是固定流程,應(yīng)該一步步走下去,但是在某個(gè)節(jié)點(diǎn),加入一個(gè)自由流程審批人可以選定下一步的審批人,然后再按照預(yù)定的流程走下去。

      如:申請(qǐng)者-部門(mén)經(jīng)理-出納-財(cái)務(wù)經(jīng)理,對(duì)于大一點(diǎn)的公司,有多個(gè)出納,哪個(gè)出納在崗,就讓哪個(gè)出納審,那么就可以把出納那步設(shè)成自由流程,當(dāng)部門(mén)經(jīng)理審批完后,會(huì)自動(dòng)列出所有的出納,部門(mén)經(jīng)理選擇其中的一個(gè)出納然后提交。

      4表單數(shù)據(jù)自動(dòng)生成

      表單的有些數(shù)據(jù),不希望由人工輸入獲得,e-Workflow可以根據(jù)被計(jì)算字段、原始數(shù)據(jù)和計(jì)算方法自動(dòng)得出目標(biāo)字段數(shù)據(jù),并可以此作為下一路由選擇的判斷條件。

      5跟蹤和回溯

      e-Workflow保留工作流流轉(zhuǎn)過(guò)程中的所有信息以供查詢。對(duì)于文檔型的審批,可以保持痕跡。這樣審批人能夠一目了然知道原稿和審批稿的區(qū)別。監(jiān)控和管理

      對(duì)于某個(gè)模板產(chǎn)生的單據(jù),可以設(shè)定監(jiān)督人和管理人,這樣既使他沒(méi)有審批權(quán),也可以看到該單據(jù),同時(shí)發(fā)送催辦信息。當(dāng)某個(gè)單據(jù)因?yàn)槟撤N原因需要臨時(shí)更改流程時(shí),監(jiān)督和管理人可以修改流程,以避免單據(jù)的積壓提高工作效率

      7自動(dòng)提醒

      對(duì)于請(qǐng)求的不同狀況,例如新的請(qǐng)求到達(dá)、待處理請(qǐng)求、超時(shí)未處理請(qǐng)求、客戶聯(lián)系計(jì)劃、請(qǐng)求遞交被處理狀況等,系統(tǒng)都設(shè)定了多種提醒功能以確保請(qǐng)求的處理不致延誤。

      8流程自動(dòng)激活

      e-Workflow的一個(gè)強(qiáng)大之處就是在于它可以讓系統(tǒng)在運(yùn)作的過(guò)程中自動(dòng)觸發(fā)請(qǐng)求,并且還可以根據(jù)前一個(gè)請(qǐng)求的實(shí)際狀況對(duì)下一個(gè)觸發(fā)的請(qǐng)求進(jìn)行智能選擇。

      9自動(dòng)更新數(shù)據(jù)庫(kù)

      e-Workflow在信息流轉(zhuǎn)的過(guò)程中,會(huì)自動(dòng)更新系統(tǒng)原有的相關(guān)數(shù)據(jù)庫(kù),這是 e-Workflow 另一個(gè)重要的特性體現(xiàn),通過(guò)數(shù)據(jù)自動(dòng)更新,避免了二次手工錄入帶來(lái)的工作效率低下和失誤的情況,真正實(shí)現(xiàn)企業(yè)管理和運(yùn)營(yíng)的電子化。

      10分支選擇流

      根據(jù)上一步的選擇,選擇不同的分支進(jìn)行流程執(zhí)行。如:如果上一步是總經(jīng)理審批的,會(huì)選擇一個(gè)分支進(jìn)行流轉(zhuǎn)。如上一步是副總審批的選擇另外一個(gè)分支進(jìn)行流轉(zhuǎn)。

      11條件流轉(zhuǎn)

      以請(qǐng)款單為例:金額小于3000元,審批流程是:普通員工-部門(mén)經(jīng)理。如果金額大于3000元的審批流程是:普通員工-部門(mén)經(jīng)理-總經(jīng)理,那么在流程定義的時(shí)候,需要根據(jù)單據(jù)的填寫(xiě)值進(jìn)行判斷,系統(tǒng)自動(dòng)選擇流程。

      12傳閱、歸檔等的并發(fā)流

      如有一個(gè)流程:申請(qǐng)者-副總經(jīng)理的一張單子,申請(qǐng)者需要提交副總審批的一張單子,不需要部門(mén)經(jīng)理審批,但是需要讓部門(mén)經(jīng)理知曉,稱為傳閱的并發(fā)流。同理有歸檔或者其它的并發(fā)流。這種并發(fā)流的特點(diǎn)是一個(gè)流程的執(zhí)行過(guò)程中,會(huì)產(chǎn)生另外的的流程,互不影響。

      13流程門(mén)戶定義

      通過(guò)與企業(yè)信息門(mén)戶的結(jié)合,e-Workflow實(shí)現(xiàn)流程定義的門(mén)戶化,根據(jù)不同的信息門(mén)戶設(shè)定不同的流程。

      四、小結(jié)

      工作流技術(shù)的出現(xiàn)和迅速發(fā)展為企業(yè)先進(jìn)制造戰(zhàn)略的實(shí)施提供了重要的技術(shù)支持。本文提出了分布式工作流建模工具的設(shè)計(jì)框架,以 SOA設(shè)計(jì)模式,通過(guò)三層結(jié)構(gòu)的方式很好的實(shí)現(xiàn)了工作流建模工具、邏輯、數(shù)據(jù)、視圖的分離,使得系統(tǒng)在可擴(kuò)展性、可靠性與實(shí)用性方面都大大提高。以此為原型開(kāi)發(fā)的泛微e-Workflow工作流管理系統(tǒng)很好的配合了工作流引擎的設(shè)計(jì)。在實(shí)際中的初步應(yīng)用表明該系統(tǒng)通過(guò)分析企業(yè)不同類的經(jīng)營(yíng)過(guò)程,采用有向圖的方法對(duì)現(xiàn)實(shí)的企業(yè)活動(dòng)進(jìn)行形式化描述,并嚴(yán)格定義組成有向圖的各類元素的行為特征,從而明確建立企業(yè)經(jīng)營(yíng)過(guò)程到工作流模型的映射機(jī)制.使其與企業(yè)現(xiàn)有應(yīng)用結(jié)合形成一個(gè)完整的過(guò)程體系。責(zé)任編輯:胡艷麗 工作流管理技術(shù)介紹

      2009-11-25 作者:葛志春 來(lái)源:希賽網(wǎng)

      摘 要:本文主要對(duì)工作流技術(shù)的起源,工作流的概念,研究的技術(shù)的內(nèi)容及工作流管理系統(tǒng)作了深入的介紹;并對(duì)工作流技術(shù)在國(guó)內(nèi)外的應(yīng)用現(xiàn)狀及不足作了深入的分析。

      關(guān)鍵詞:工作流、表單

      1、工作流技術(shù)應(yīng)用背景

      傳統(tǒng)的計(jì)算機(jī)管理信息系統(tǒng)的主要功能有三個(gè):即信息處理、事務(wù)處理與決策支持。信息傳遞和信息處理構(gòu)成了企業(yè)和行政管理部門(mén)的業(yè)務(wù)工作內(nèi)容之一,也是計(jì)算機(jī)信息系統(tǒng)的主要功能之一,它是企業(yè)和行政管理部門(mén)進(jìn)行事務(wù)處理和決策支持的基礎(chǔ)。

      當(dāng)PC機(jī)沒(méi)有作為信息處理工具而出現(xiàn)的時(shí)候,紙張是進(jìn)行日常業(yè)務(wù)活動(dòng)不可取代的載體。這種傳統(tǒng)的紙張為載體的信息傳遞與處理方式的效率很低,需要花費(fèi)相當(dāng)?shù)娜肆?、物力?lái)完成信息的處理、組織、存儲(chǔ)以及查詢檢索,同時(shí)這種方式降低了對(duì)客戶需求的響應(yīng)速度,給企業(yè)和行政管理部門(mén)的生產(chǎn)經(jīng)營(yíng)都帶來(lái)了及不利的影響。在計(jì)算機(jī)得到了廣泛普及、計(jì)算機(jī)應(yīng)用水平日益提高的情況下,企業(yè)與行政管理單位的工作人員希望能夠以一種無(wú)紙化的、計(jì)算機(jī)使能的工作環(huán)境來(lái)開(kāi)展日常業(yè)務(wù)工作。一些企業(yè)和行政管理部門(mén)因此建立了相應(yīng)的文件、表單傳遞系統(tǒng)(Forms-routing applications)用來(lái)實(shí)現(xiàn)日常表單處理的電子化與自動(dòng)化。這種簡(jiǎn)單的文件、電子表單系統(tǒng)可以看作是工作流應(yīng)用的雛形。

      企業(yè)的經(jīng)營(yíng)過(guò)程是由一系列相關(guān)的任務(wù)組成的;這些任務(wù)按照企業(yè)的管理規(guī)章與業(yè)務(wù)流程串行或并行的執(zhí)行,最終完成企業(yè)的經(jīng)營(yíng)目標(biāo)。自從進(jìn)入工業(yè)化時(shí)代以來(lái),有關(guān)過(guò)程的組織管理與流程的優(yōu)化工作就一直在進(jìn)行,它是企業(yè)管理的主要研究?jī)?nèi)容之一。只不過(guò)在沒(méi)有引入計(jì)算機(jī)信息系統(tǒng)的支持以前,這些工作是由人工來(lái)完成的。隨著市場(chǎng)經(jīng)濟(jì)的發(fā)展,市場(chǎng)競(jìng)爭(zhēng)的日益激烈,企業(yè)要求其業(yè)務(wù)過(guò)程能夠進(jìn)行快速重組;業(yè)務(wù)過(guò)程的不斷變化也相應(yīng)要求信息系統(tǒng)能夠快速重組。這樣,單靠人工對(duì)企業(yè)過(guò)程進(jìn)行重組和傳統(tǒng)的面向功能的信息化計(jì)算機(jī)系統(tǒng)已經(jīng)不能適應(yīng)現(xiàn)代企業(yè)的發(fā)展。因此,企業(yè)希望有一種能夠?qū)崿F(xiàn)企業(yè)快速業(yè)務(wù)流程重組和業(yè)務(wù)過(guò)程自動(dòng)化的軟件系統(tǒng)。在計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和分布式數(shù)據(jù)庫(kù)技術(shù)迅速發(fā)展、多機(jī)協(xié)同工作技術(shù)日臻成熟的基礎(chǔ)上于20世紀(jì)80年代中期開(kāi)始提出了工作流的概念。工作流技術(shù)的提出與發(fā)展為企業(yè)更好的實(shí)現(xiàn)這些經(jīng)營(yíng)目標(biāo)提供了先進(jìn)的手段。

      隨著經(jīng)營(yíng)業(yè)務(wù)的展開(kāi)企業(yè)的物理位置逐漸分散、部門(mén)間的協(xié)作日益頻繁;決策過(guò)程的分散性也日益明顯,對(duì)日常業(yè)務(wù)活動(dòng)詳細(xì)信息的需求也日益提高。因此,企業(yè)又要求信息系統(tǒng)必須具有分布性、異構(gòu)性、自治性。在這種大規(guī)模的分布式應(yīng)用環(huán)境下高效地運(yùn)轉(zhuǎn)相關(guān)的任務(wù),并且對(duì)執(zhí)行的任務(wù)進(jìn)行密切監(jiān)控已成為一種發(fā)展趨勢(shì)。在這種技術(shù)背景下,工作流管理系統(tǒng)也有最初的創(chuàng)建無(wú)紙化辦公環(huán)境,轉(zhuǎn)而成為同化企業(yè)復(fù)雜信息環(huán)境、實(shí)現(xiàn)業(yè)務(wù)流程自動(dòng)化的必要工具。這樣的一個(gè)轉(zhuǎn)變,把工作流技術(shù)帶入了一個(gè)嶄新的發(fā)展階段,使得人們從更深的層次、更廣的領(lǐng)域上對(duì)工作流展開(kāi)了研究。

      1993年工作流技術(shù)的標(biāo)準(zhǔn)化組織工作流管理聯(lián)盟(Workflow Manangement Coalition 簡(jiǎn)稱:WfMC).的成立標(biāo)志著工作流技術(shù)在計(jì)算機(jī)應(yīng)用領(lǐng)域之中被明確的劃分出了自己的一席之地,相應(yīng)的概念與術(shù)語(yǔ)也得到了人們的承認(rèn)。在全球范圍內(nèi),對(duì)工作流的技術(shù)研究以及相關(guān)的產(chǎn)品開(kāi)發(fā)了進(jìn)入了更為繁榮的階段。

      2、工作流定義

      工作流是從英文單詞Workflow翻譯而來(lái)的。Work表示工作或任務(wù);Flow則表示流動(dòng)、流程或者流量。Flow反映了一種變化及變化的過(guò)程,本身意義比較抽象,但是當(dāng)它與某一個(gè)具體過(guò)程相聯(lián)系時(shí)就有了具體的含義,如電流、水流、氣流。在經(jīng)營(yíng)管理與生產(chǎn)組織中Flow也有重要的意義,如表示物料傳輸過(guò)程的物料流、表示資金流動(dòng)的資金流、反映信息處理和傳遞過(guò)程的信息流,同樣還有價(jià)值流、決策流、控制流等概念。依此,用活動(dòng)及活動(dòng)之間變化的過(guò)程表示的業(yè)務(wù)流程就是工作流。

      十幾年來(lái),不同的研究者和產(chǎn)品供應(yīng)商從不同的角度給出了工作流的定義,但到目前為止,對(duì)于工作流仍沒(méi)有統(tǒng)一的定義。下面列舉了一些有代表性的定義,可以使我們對(duì)工作流的一些基本特征有一定的理解。

      WfMC的定義:工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,根據(jù)一系列過(guò)程規(guī)則,文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間傳遞、執(zhí)行。

      Forrester Report的定義:日常的業(yè)務(wù)處理或協(xié)同工作能按預(yù)先定義好的規(guī)則和過(guò)程進(jìn)行流動(dòng),并且這一流動(dòng)過(guò)程能被跟蹤和監(jiān)控。

      Giga Group的定義:工作流是經(jīng)營(yíng)過(guò)程中可運(yùn)轉(zhuǎn)的部分,包括任務(wù)的順序以及由誰(shuí)來(lái)執(zhí)行它,支持任務(wù)的信息流、評(píng)價(jià)與控制任務(wù)的跟蹤、報(bào)告機(jī)制。

      IBM Almaden Research Center的定義:工作流是經(jīng)營(yíng)過(guò)程中的一種計(jì)算機(jī)化的表示模型,定義了完成整個(gè)過(guò)程所需用的各種參數(shù)。這些參數(shù)包括對(duì)過(guò)程中每一個(gè)單獨(dú)步驟的定義、步驟間的執(zhí)行順序、條件以及數(shù)據(jù)流的建立、每一步驟由誰(shuí)負(fù)責(zé)以及每個(gè)活動(dòng)所需要的應(yīng)用程序。

      Amit Sheth 的定義:工作流是涉及到多任務(wù)協(xié)調(diào)執(zhí)行的活動(dòng),這些任務(wù)分別由不同的處理實(shí)體完成。一項(xiàng)任務(wù)定義了需要做的某些工作,它可以以各種形式來(lái)進(jìn)行定義,包括在文件或電子郵件中的文本描述、一張表格、一條信息以及一個(gè)計(jì)算機(jī)程序。用來(lái)執(zhí)行任務(wù)的處理實(shí)體可以是人,也可以是計(jì)算機(jī)系統(tǒng)(如:郵遞員、一個(gè)應(yīng)用程序、一個(gè)數(shù)據(jù)庫(kù)管理系統(tǒng))。

      以上這些定義,雖然表述方式略有不同,但是基本上都說(shuō)明了這樣一個(gè)問(wèn)題,即工作流是業(yè)務(wù)過(guò)程的一個(gè)計(jì)算機(jī)實(shí)現(xiàn),而工作流管理系統(tǒng)則是這一實(shí)現(xiàn)的軟件環(huán)境。使用工作流作為業(yè)務(wù)過(guò)程的實(shí)現(xiàn)技術(shù)首先要求工作流系統(tǒng)能夠反映業(yè)務(wù)過(guò)程的如下幾個(gè)問(wèn)題:即業(yè)務(wù)過(guò)程是什么(有哪些活動(dòng)、任務(wù)組成,也就是結(jié)構(gòu)上的定義)、怎么做(活動(dòng)間的執(zhí)行條件、規(guī)則以及所交互的信息,也就是控制流與信息流的定義)、有誰(shuí)來(lái)做(人或計(jì)算機(jī)程序,也就是組織角色的定義)、做的怎樣(通過(guò)工作流管理系統(tǒng)對(duì)執(zhí)行過(guò)程進(jìn)行監(jiān)控)。因此,可以說(shuō)工作流是一種反映業(yè)務(wù)流程的計(jì)算機(jī)化的模型,它是為了在先進(jìn)計(jì)算機(jī)環(huán)境支持下實(shí)現(xiàn)經(jīng)營(yíng)過(guò)程集成與經(jīng)營(yíng)過(guò)程自動(dòng)化而建立的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)系統(tǒng)。

      3、工作流技術(shù)研究的主要內(nèi)容

      工作流技術(shù),在初期主要由工作流產(chǎn)品供應(yīng)商推動(dòng)其發(fā)展。隨著工作流產(chǎn)品在實(shí)際應(yīng)用中不斷取得良好的效果而得到了人們?nèi)找娴闹匾?,并且到了迅速發(fā)展。相對(duì)于工作流產(chǎn)品的繁榮,工作流相關(guān)理論研究則顯得滯后。在過(guò)去很長(zhǎng)一段時(shí)間里,有關(guān)工作流技術(shù)方面的研究主要有商品化的工作流產(chǎn)品供應(yīng)商所領(lǐng)導(dǎo)。本著把工作流產(chǎn)品推向市場(chǎng)的目的,這些供應(yīng)商大多把研究的注意力放在工作流管理產(chǎn)品的開(kāi)發(fā)實(shí)施方面。目前在工作流設(shè)計(jì)方法學(xué),工作流概念模型等方面還沒(méi)有形成一套比較成熟的理論和方法。在工作流理論與實(shí)施技術(shù)方面,研究的主要內(nèi)容包括:

      工作流管理系統(tǒng)體系結(jié)構(gòu);

      工作流模型與工作流定義語(yǔ)言;

      工作流的事務(wù)特性;

      研究如何實(shí)現(xiàn)高級(jí)事務(wù)處理技術(shù)與工作流管理技術(shù)的結(jié)合,用定義良好的模型語(yǔ)義與恢復(fù)機(jī)制來(lái)提高工作流系統(tǒng)的正確性與可靠性,從而能夠更好的支持復(fù)雜的業(yè)務(wù)過(guò)程;

      工作流實(shí)現(xiàn)技術(shù):包括面向?qū)ο蠹夹g(shù)、異構(gòu)分布式計(jì)算技術(shù)、圖形化用戶界面、消息通信、數(shù)據(jù)庫(kù)、WEB等在內(nèi)的與工作流系統(tǒng)的設(shè)計(jì)實(shí)現(xiàn)有關(guān)的各項(xiàng)技術(shù)及方法;

      工作流的仿真與分析方法;

      基于工作流的應(yīng)用集成與互操作技術(shù);

      研究異構(gòu)應(yīng)用系統(tǒng)的集成以及不同工作流系統(tǒng)之間的互操作問(wèn)題;

      工作流與經(jīng)營(yíng)過(guò)程的重組:研究如何通過(guò)工作流系統(tǒng)的實(shí)施支持快速的實(shí)現(xiàn)經(jīng)營(yíng)過(guò)程重組;

      工作流技術(shù)的其他應(yīng)用:研究如何將工作流技術(shù)在不同的領(lǐng)域進(jìn)行運(yùn)用,包括在CIMS中的應(yīng)用。

      上述主要研究課題可以歸納為三個(gè)方面(如圖1):第一方面是工作流的理論基礎(chǔ),包括工作流管理系統(tǒng)的體系、模型與定義語(yǔ)言(工作流的建模方法、工作流模型的形式化表示、工作流定義語(yǔ)言)等的研究。這一部分是工作目前相對(duì)來(lái)說(shuō)比較薄弱,還有許多問(wèn)題需要進(jìn)一步研究。第二方面是工作流的實(shí)現(xiàn)技術(shù),包括工作流的事務(wù)特性、各種先進(jìn)軟件技術(shù)的應(yīng)用、工作流仿真。這方面研究工作的目標(biāo)是提高工作流管理系統(tǒng)的性能,尤其是提高工作流管理系統(tǒng)可靠性及其在處理大規(guī)模復(fù)雜的且具有并行業(yè)務(wù)的流程方面的能力。第三方面是工作流技術(shù)的應(yīng)用,包括工作流實(shí)施技術(shù)在不同應(yīng)用領(lǐng)域的應(yīng)用(如在企業(yè)經(jīng)營(yíng)過(guò)程重組、并行過(guò)程、敏捷制造)方法、應(yīng)用軟件集成等。這幾方面研究的目標(biāo)是發(fā)揮工作流管理系統(tǒng)的優(yōu)勢(shì),為解決具體應(yīng)用領(lǐng)域內(nèi)的問(wèn)題提供有向?qū)崿F(xiàn)手段。

      圖1:工作流技術(shù)研究?jī)?nèi)容

      4、研究工作流的意義

      工作流技術(shù)的應(yīng)用將給組織單位帶來(lái)巨大的效益。首先,采用工作流管理將使組織單位改變傳統(tǒng)的按照功能來(lái)配置人員的組織結(jié)構(gòu),變成按照要實(shí)現(xiàn)的主要業(yè)務(wù)流程來(lái)配置組織結(jié)構(gòu),這樣可以大大縮短主要業(yè)務(wù)過(guò)程的處理時(shí)間,提高對(duì)市場(chǎng)的響應(yīng)能力。其次,組織結(jié)構(gòu)的改變將大大減少在組織內(nèi)部不必要的的物料、信息的傳遞時(shí)間。當(dāng)然,整個(gè)組織結(jié)構(gòu)的調(diào)整首先需要調(diào)整傳統(tǒng)的以部門(mén)為單位的做法,變成以項(xiàng)目來(lái)組織生產(chǎn)和人員的工作方法,如:一個(gè)人可能同時(shí)從屬于多個(gè)項(xiàng)目。應(yīng)用工作流管理系統(tǒng)主要可以取得如下好處:

      1)提高管理的規(guī)范化程度;

      2)更好地與上下游單位形成快速響應(yīng)市場(chǎng)的供應(yīng)鏈網(wǎng)絡(luò);

      3)降低業(yè)務(wù)過(guò)程的整個(gè)處理時(shí)間,如在辦公自動(dòng)化環(huán)境中,通過(guò)更好的規(guī)劃工作流程,并行執(zhí)行相互獨(dú)立的活動(dòng),減少文檔的傳遞時(shí)間;

      4)降低管理成本,如避免不必要的重復(fù)的工作,提高工作人員的工作效率;

      5)改進(jìn)工作質(zhì)量,如自動(dòng)完成某個(gè)任務(wù)所需要的相關(guān)信息。在客戶服務(wù)中,能夠快速方便的訪問(wèn)所有相關(guān)數(shù)據(jù)和工作流程,從而大大提高客戶服務(wù)質(zhì)量;

      6)在工作人員之間更好的均衡負(fù)荷,如在工作人員缺勤的情況下,自動(dòng)柔性分配替代人員;

      7)通過(guò)在工作流模型中加入可預(yù)計(jì)的故障的處理策略來(lái)提高系統(tǒng)的柔性;

      8)通過(guò)對(duì)已經(jīng)完成的工作流實(shí)例的分析,找出存在的不足,進(jìn)而不斷改進(jìn)工作流程;

      9)使工作內(nèi)容更加豐富,并且提高工作人員的業(yè)務(wù)能力,減少工作人員進(jìn)行單調(diào)乏味并且十分耗時(shí)的文檔查找工作。

      采用工作流管理系統(tǒng)可以在最大程度上集成組織的現(xiàn)有信息資源,實(shí)現(xiàn)資源的充分利用。由于工作流管理系統(tǒng)具有較好的柔性和開(kāi)發(fā)性,因此,可以保證信息系統(tǒng)能夠順利的擴(kuò)展以滿足不斷變化的市場(chǎng)環(huán)境。另外,工作流管理系統(tǒng)在工作流模型的基礎(chǔ)上進(jìn)行業(yè)務(wù)過(guò)程進(jìn)行,這就意味著信息系統(tǒng)已經(jīng)從過(guò)去沒(méi)有一個(gè)具體的可量化指標(biāo)的管理信息系統(tǒng),發(fā)展到了一個(gè)建立在工作流模型上(并且是可以利用BPR或者其他仿真工具進(jìn)行優(yōu)化后的模型),按照預(yù)先定義好的規(guī)則進(jìn)行執(zhí)行,并且對(duì)于執(zhí)行的結(jié)果隨時(shí)進(jìn)行監(jiān)控和評(píng)價(jià)的規(guī)范化階段。這種由過(guò)程建模—〉模型分析—〉過(guò)程優(yōu)化—〉執(zhí)行結(jié)果—〉統(tǒng)計(jì)分析—〉改進(jìn)業(yè)務(wù)過(guò)程—〉優(yōu)化運(yùn)作的實(shí)施方法為成功地實(shí)施信息系統(tǒng)奠定了堅(jiān)實(shí)的基礎(chǔ)。

      5、工作流管理系統(tǒng)

      工作流技術(shù)是當(dāng)今一項(xiàng)飛速發(fā)展的技術(shù),它最基本的特性就是它能夠結(jié)合人工和機(jī)器的行為,特別是能夠與應(yīng)用程序和工具進(jìn)行交互,從而完成業(yè)務(wù)過(guò)程的自動(dòng)化處理。

      工作流是業(yè)務(wù)的自動(dòng)化處理過(guò)程,在這個(gè)過(guò)程中,根據(jù)預(yù)定義的規(guī)則將文檔、信息在過(guò)程參與者中傳遞,最終完成業(yè)務(wù)的處理。工作流管理系統(tǒng)(WFMS)是通過(guò)管理一序列工作行為以及與活動(dòng)步驟、相關(guān)人員、資源設(shè)備來(lái)提供業(yè)務(wù)處理程序上的自動(dòng)控制,它是通過(guò)計(jì)算機(jī)軟件來(lái)定義、管理和執(zhí)行工作流,計(jì)算機(jī)的執(zhí)行順序是由工作流邏輯的計(jì)算機(jī)描述來(lái)驅(qū)動(dòng)的。

      工作流管理系統(tǒng)主要具備以下三個(gè)功能特征,如圖2:

      工作流定義功能,主要是對(duì)業(yè)務(wù)處理過(guò)程的計(jì)算機(jī)定義,提供了一種或多種分析、建模、系統(tǒng)定義技術(shù),將一個(gè)現(xiàn)實(shí)世界的業(yè)務(wù)處理過(guò)程轉(zhuǎn)換成計(jì)算機(jī)可處理的定義;最終的定義叫作過(guò)程模型、過(guò)程模版或過(guò)程定義,可以表現(xiàn)為文本、圖形或自然語(yǔ)言符號(hào)。

      運(yùn)行控制功能,對(duì)過(guò)程的定義進(jìn)行解釋,創(chuàng)建并控制過(guò)程的運(yùn)行實(shí)例,調(diào)度過(guò)程的各種行為步驟,調(diào)用適當(dāng)?shù)娜斯ず虸T應(yīng)用程序資源;工作流管理系統(tǒng)的核心部件就是工作流管理控制軟件(工作流引擎)。

      運(yùn)行交互接口,提供與人員或IT應(yīng)用程序工具進(jìn)行交互接口來(lái)處理各種活動(dòng)步驟,交互接口對(duì)于活動(dòng)間的控制傳遞是必須的,如確定過(guò)程的狀態(tài),調(diào)用應(yīng)用程序工具,傳遞應(yīng)用程序數(shù)據(jù)等。

      圖2WFMS的三個(gè)特征

      6、工作流管理系統(tǒng)的分類

      根據(jù)所實(shí)現(xiàn)的業(yè)務(wù)過(guò)程,工作流管理系統(tǒng)可分為四類:

      1)管理型工作流(administrative workflow):在這類工作流中活動(dòng)可以預(yù)定義并且有一套簡(jiǎn)單的任務(wù)協(xié)調(diào)規(guī)則,例如,大學(xué)里的課程選修,完成論文后的學(xué)位申請(qǐng)等。

      2)設(shè)定型工作流(ad hoc workflow):與管理型工作流相似,但一般用來(lái)處理異常或發(fā)生機(jī)會(huì)比較小的情況,有時(shí)甚至是只出現(xiàn)一次的情況,這與參與的用戶有關(guān)。

      3)協(xié)作型工作流(collaborative workflow):參與者和協(xié)作的次數(shù)較多。在一個(gè)步驟上可能反復(fù)發(fā)生幾次直到得到某種結(jié)果,甚至可能返回到前一階段。

      4)生產(chǎn)型工作流(production workflow):實(shí)現(xiàn)重要的業(yè)務(wù)過(guò)程的工作流,特別是與業(yè)務(wù)組織的功能直接相關(guān)的工作流。與管理型工作流相比,生產(chǎn)型工作流一般應(yīng)用在大規(guī)模、復(fù)雜的和異構(gòu)的環(huán)境下,整個(gè)過(guò)程會(huì)涉及許多人員和不同的組織。

      根據(jù)底層實(shí)現(xiàn)技術(shù),可將工作流產(chǎn)品分為三類:

      1)以通訊為中心:以電子郵件為底層的通訊機(jī)制。這種類型的工作流管理系統(tǒng)適合于協(xié)作型工作流和不確定型工作流,而不適于生產(chǎn)型工作流。

      2)以文檔為中心:基于文檔路由,它同外界應(yīng)用的交互能力有限。許多基于表的管理型工作流可以用以文檔為中心的工作流實(shí)現(xiàn)。

      3)以過(guò)程為中心:這種工作流系統(tǒng)對(duì)應(yīng)生產(chǎn)型工作流。它們一般建立在數(shù)據(jù)庫(kù)之上,有自己專用的通信機(jī)制并且提供了同外部進(jìn)行交互的接口。

      根據(jù)不同工作流系統(tǒng)所采用的任務(wù)項(xiàng)傳遞機(jī)制的不同,市場(chǎng)上的工作流產(chǎn)品又可以劃分為四類:

      1)基于文件的工作流系統(tǒng):以共享文件的方式來(lái)完成任務(wù)項(xiàng)傳遞。這種類型產(chǎn)品開(kāi)發(fā)得最早、發(fā)展最成熟、其產(chǎn)品品種較多。代表產(chǎn)品有FileNet的Visual WorkFlo、IBM的FlowMark、InConcert的InConcert。

      2)基于消息的工作流系統(tǒng):通過(guò)用戶的電子郵件系統(tǒng)來(lái)傳遞文檔信息。這種類型的產(chǎn)品一般都提供與一種或多種電子郵件系統(tǒng)的集成接口。代表產(chǎn)品有Novell與FileNet合作開(kāi)發(fā)的Ensemble、JetForm公司的InTempo、Keyfile公司的Keyflow。

      3)基于Web的工作流系統(tǒng):通過(guò)WWW來(lái)實(shí)現(xiàn)任務(wù)的協(xié)作。這一類產(chǎn)品起步較晚(在95年以后),但是發(fā)展迅速,其市場(chǎng)前景十分看好。許多供應(yīng)商紛紛改進(jìn)原有產(chǎn)品或開(kāi)發(fā)新產(chǎn)品以增加對(duì)Web的支持。代表產(chǎn)品有Action Technologies公司的ActionWorks Metro、Ultimus公司的Ultimus。

      4)群件與套件系統(tǒng):雖然這一類產(chǎn)品與上面介紹的三種產(chǎn)品在任務(wù)傳遞方式上有很大程度的重疊,但是在這里卻有必要把它們單獨(dú)劃分成一類,因?yàn)檫@一類產(chǎn)品都需要依賴于自己系統(tǒng)的應(yīng)用基礎(chǔ)結(jié)構(gòu),包括消息傳遞、目錄服務(wù)、安全管理、數(shù)據(jù)庫(kù)與文檔管理服務(wù)等,它們本身就構(gòu)成了一個(gè)完整的應(yīng)用開(kāi)發(fā)環(huán)境。代表產(chǎn)品有IBM/Lotus公司的Lotus Notes、Microsoft公司的Office與Exchange、Novell公司的GroupWise。

      7、工作流管理系統(tǒng)的實(shí)施

      工作流管理系統(tǒng)不同于ERP和普通的企業(yè)管理信息系統(tǒng),ERP與普通的企業(yè)管理信息系統(tǒng)是事務(wù)處理系統(tǒng),其主要目的是滿足企業(yè)業(yè)務(wù)操作功能,提高企業(yè)事務(wù)處理的效率和水平。從企業(yè)整體的業(yè)務(wù)流程和企業(yè)經(jīng)營(yíng)目標(biāo)上看,事務(wù)處理系統(tǒng)一般局限于解決某個(gè)或者某些領(lǐng)域的問(wèn)題;事務(wù)處理系統(tǒng)的另外一個(gè)局限性是它一般局限于解決組織內(nèi)部的具體操作問(wèn)題,面向組織內(nèi)部功能,而不是面向市場(chǎng)和面向客戶的系統(tǒng)。工作流管理系統(tǒng)的著眼點(diǎn)是面向市場(chǎng)、面向客戶,其目標(biāo)是在整個(gè)企業(yè)的業(yè)務(wù)層提高企業(yè)的業(yè)務(wù)處理水平、強(qiáng)化企業(yè)的市場(chǎng)意識(shí)、提高對(duì)市場(chǎng)的應(yīng)變能力。

      由于工作流管理系統(tǒng)與普通事務(wù)處理系統(tǒng)存在顯著的差別,工作流管理系統(tǒng)在實(shí)施方法上也不同于普通的事務(wù)處理系統(tǒng)。要實(shí)施工作流管理系統(tǒng)首先要在戰(zhàn)略層次上對(duì)經(jīng)營(yíng)目標(biāo)進(jìn)行分析,確定戰(zhàn)略目標(biāo)和組織要求。工作流管理系統(tǒng)實(shí)施的層次結(jié)構(gòu),如圖3。

      圖3 WFMS實(shí)施的層次結(jié)構(gòu)

      在完成了戰(zhàn)略目標(biāo)分析和工作流實(shí)施戰(zhàn)略后,工作流管理系統(tǒng)才能夠進(jìn)入真正的實(shí)施階段。工作流管理系統(tǒng)在實(shí)際系統(tǒng)中的應(yīng)用一般分為3個(gè)階段,如圖4,即模型建立階段、模型實(shí)例化階段和模型行階段。模型建立階段通過(guò)利用工作流建模工具完成經(jīng)營(yíng)過(guò)程模型的建立,將實(shí)際經(jīng)營(yíng)過(guò)程轉(zhuǎn)化為計(jì)算機(jī)可處理的工作流模型。模型的實(shí)例化階段完成為每個(gè)過(guò)程設(shè)定運(yùn)行所需的參數(shù),并分配每個(gè)活動(dòng)執(zhí)行所需要的資源(包括資源、人員、應(yīng)用)。模型執(zhí)行階段完成經(jīng)營(yíng)過(guò)程的執(zhí)行,在這個(gè)過(guò)程中重要的任務(wù)是完成人機(jī)交互和應(yīng)用的執(zhí)行,并對(duì)過(guò)程與活動(dòng)的執(zhí)行情況進(jìn)行監(jiān)控與跟蹤。

      圖4 WFMS 實(shí)施的三個(gè)步驟

      8、國(guó)內(nèi)外應(yīng)用現(xiàn)狀與不足

      8.1 應(yīng)用現(xiàn)狀

      目前工作流技術(shù)的研究正日益受到人們的重視,許多大學(xué)和研究機(jī)構(gòu)都開(kāi)展了很多研究項(xiàng)目,取得了重多的研究成果,對(duì)工作流技術(shù)的發(fā)展做出了貢獻(xiàn)。

      由于工作流應(yīng)用環(huán)境大多是在復(fù)雜的分布異構(gòu)環(huán)境中,如企業(yè)內(nèi)部網(wǎng)或因特網(wǎng),因此應(yīng)用最新的分布對(duì)象處理技術(shù)和Web技術(shù),實(shí)現(xiàn)工作流管理成為當(dāng)前研究的重點(diǎn)。有影響的工作流原型系統(tǒng)有:

      1)美國(guó)佐治亞大學(xué)研制的Meteor系統(tǒng):該系統(tǒng)是一個(gè)支持多范型的工作流管理系統(tǒng),主要用于處理醫(yī)療保健應(yīng)用。多范型是指該系統(tǒng)能夠支持分布異構(gòu)環(huán)境下的企業(yè)內(nèi)和企業(yè)間的各種工作流。這些工作流可以是數(shù)據(jù)庫(kù)管理系統(tǒng)和分布式事務(wù)處理系統(tǒng)中的事務(wù),也可以是EDI等特殊應(yīng)用。Meteor系統(tǒng)可以在Web或CORBA環(huán)境下運(yùn)行。

      2)美國(guó)普度大學(xué)開(kāi)發(fā)的CORBAflow系統(tǒng):該系統(tǒng)提出了基于CORBA的體系結(jié)構(gòu),支持跨平臺(tái)的異構(gòu)分布系統(tǒng)集成,支持彈性ACID性質(zhì);擴(kuò)展了IDL語(yǔ)言以定義事務(wù)性工作流中的補(bǔ)償事務(wù)。

      3)土耳其中東大學(xué)開(kāi)發(fā)的METUFlow系統(tǒng):該系統(tǒng)提出了一種基于CORBA環(huán)境的工作流服務(wù),包括基于ACTA擴(kuò)展事務(wù)模型的工作流模型、塊結(jié)構(gòu)化定義語(yǔ)言、工作流調(diào)度管理和并發(fā)控制機(jī)制等。

      工作流的許多概念來(lái)自于辦公自動(dòng)化、文檔管理、計(jì)算機(jī)支持協(xié)同工作(CSCW)等領(lǐng)域。至今約有300個(gè)稱為工作流工具的商品化軟件,但只有數(shù)十個(gè)是真正的WFMS軟件。一些著名的WFMS產(chǎn)品有:

      1)IBM公司的FlowMark系統(tǒng)[9]該系統(tǒng)由對(duì)象數(shù)據(jù)庫(kù)管理系統(tǒng)ObjectStore支持。主要組件包括服務(wù)器、建立客戶器、運(yùn)行客戶器和程序執(zhí)行客戶器。服務(wù)器負(fù)責(zé)與數(shù)據(jù)庫(kù)交互及協(xié)調(diào)工作流執(zhí)行;建立客戶器提供用于設(shè)計(jì)工作流的圖形接口;運(yùn)行客戶器提供工作表方式的用戶接口;程序執(zhí)行客戶器提供API調(diào)用方式的應(yīng)用接口。

      2)Action公司的ActionWorkflow系統(tǒng)該系統(tǒng)由微軟的SQL服務(wù)器或Lotus Notes支持,包含三個(gè)基本組件:①管理系統(tǒng)內(nèi)核用于集成和管理工作流事務(wù);②分析器提供設(shè)計(jì)工作流的專門(mén)工具;③應(yīng)用建立器用于將工作流定義轉(zhuǎn)化成可執(zhí)行的過(guò)程。此外,還提供輔助工具,如報(bào)表器用于查詢工作流的進(jìn)展?fàn)顟B(tài)。

      3)Sigma圖象系統(tǒng)公司的OmniDesk系統(tǒng)它使用提供ODBC接口的數(shù)據(jù)庫(kù)。其中,路徑管理器用于工作流管理和負(fù)載平衡;路徑建立器用于定義路徑邏輯;表格建立器用于創(chuàng)建工作流接口。雖然OmniDesk系統(tǒng)主要是為圖象文檔管理設(shè)計(jì)的,但是也可以管理其他類型的工作流。

      4)Wang公司的OPEN/workflow系統(tǒng)該系統(tǒng)建立在自含的數(shù)據(jù)庫(kù)引擎之上。系統(tǒng)分為數(shù)據(jù)庫(kù)服務(wù)、圖形過(guò)程建立器、集成工具箱、報(bào)表工具。數(shù)據(jù)庫(kù)服務(wù)提供基本的完整性、安全性、并發(fā)控制、恢復(fù)和管理功能;圖形過(guò)程建立器用于定義過(guò)程;集成工具箱提供應(yīng)用之間交互需要的API調(diào)用和通信服務(wù);報(bào)表工具如查詢建立器和報(bào)表建立器用于訪問(wèn)有關(guān)過(guò)程執(zhí)行的信息。

      8.2 工作流應(yīng)用技術(shù)的不足

      實(shí)際上,大多數(shù)產(chǎn)品的開(kāi)發(fā)由于沒(méi)有清楚地理解用戶的需求,而不能滿足用戶的迫切需要。許多工作流系統(tǒng)主要是解決共享和協(xié)作(某些問(wèn)題仍未很好解決,如異構(gòu)平臺(tái)環(huán)境、多媒體數(shù)據(jù)),而像性能、可伸縮性、可靠性對(duì)于復(fù)雜應(yīng)用系統(tǒng)來(lái)說(shuō)至關(guān)重要的問(wèn)題,現(xiàn)有工作流軟件并沒(méi)有考慮。主要原因是,這些系統(tǒng)的建立不是基于在線事務(wù)處理(OLTP)技術(shù)和數(shù)據(jù)庫(kù)技術(shù),只是使用數(shù)據(jù)庫(kù)做底層存儲(chǔ),因而在這些領(lǐng)域缺乏技術(shù)成熟性和系統(tǒng)健壯性。

      另外,由于已有的絕大多數(shù)WFMS產(chǎn)品和原型系統(tǒng)的設(shè)計(jì)是面向普通的辦公室應(yīng)用,因此存在以下不足:

      1)工作流模型只能描述如辦公自動(dòng)化中電子郵件或文檔等簡(jiǎn)單的工作流,而不能描述工程設(shè)計(jì)等復(fù)雜過(guò)程處理。

      2)經(jīng)營(yíng)業(yè)務(wù)流程往往是復(fù)雜的異構(gòu)環(huán)境,現(xiàn)有產(chǎn)品不能提供很好的互操作性。例如,在異構(gòu)環(huán)境中,IBM的FlowMark不提供API接口以支持一個(gè)工作流的輸出,作為下一個(gè)工作流的輸入。

      3)一個(gè)工作流可能涉及到多個(gè)單位和車間,或多個(gè)工廠和企業(yè),例如,在虛擬制造應(yīng)用中,可能包含成百上千個(gè)用戶,覆蓋廣域網(wǎng)絡(luò)中的數(shù)十個(gè)場(chǎng)地,上百臺(tái)計(jì)算機(jī)系統(tǒng)。大多數(shù)現(xiàn)有工作流軟件只是設(shè)計(jì)為一種協(xié)作工具,適用于小群體之間業(yè)務(wù)的工作流,在體系結(jié)構(gòu)上存在缺陷,缺乏可伸縮性。

      4)現(xiàn)代組織應(yīng)用要求系統(tǒng)具備非常高的可用性和健壯性。現(xiàn)有工作流軟件只適合于小團(tuán)體和輕負(fù)載,缺乏有效的后備機(jī)制,不具備強(qiáng)的故障恢復(fù)能力。

      為了進(jìn)一步研究開(kāi)發(fā)支持應(yīng)用集成的CIMS工作流管理技術(shù),我們認(rèn)為,需要解決以下關(guān)鍵技術(shù):

      1)面向CIMS的工作流建模技術(shù)包括工作流模型和定義語(yǔ)言。如何采用彈性事務(wù)模型、分層事務(wù)模型和工程數(shù)據(jù)模型相結(jié)合的方法,設(shè)計(jì)出一種適合于CIMS工程應(yīng)用的工作流模型。

      2)基于CIMS信息集成平臺(tái)的工作流管理系統(tǒng)體系結(jié)構(gòu)CORBA軟件總線提供了良好的平臺(tái)透明性和分布透明性,以及分布對(duì)象操作能力,如何充分利用CORBA軟件總線和信息集成平臺(tái),實(shí)現(xiàn)一個(gè)高效的工作流管理系統(tǒng)。 3)面向分布對(duì)象的工作流管理和執(zhí)行技術(shù)CORBA軟件總線系統(tǒng)提供了對(duì)象引用、啟動(dòng)和聯(lián)編機(jī)制。工作流管理與執(zhí)行機(jī)制需在此基礎(chǔ)上完成作為對(duì)象任務(wù)的創(chuàng)建、調(diào)度、執(zhí)行、提交或取消,保證工作流的正確性和可靠性。還需要考慮在CORBA軟件總線上增加新的公共服務(wù),如持久性對(duì)象倉(cāng)儲(chǔ)服務(wù)、故障恢復(fù)服務(wù)等。

      4)面向CIMS目標(biāo)產(chǎn)品的集成技術(shù)工作流管理系統(tǒng)是一種中間件技術(shù),適合于任何計(jì)算機(jī)分布處理系統(tǒng),在CIMS應(yīng)用集成涉及的有關(guān)系統(tǒng)中,如PDM、MRPII等,都需要這方面的集成技術(shù)。

      參考文獻(xiàn)

      [1] 林惠萍、范玉順、吳澄,“支持企業(yè)經(jīng)營(yíng)過(guò)程重組的工作流仿真技術(shù)研究”,http://www.simflow.net

      [2] 范玉順,《工作流管理技術(shù)基礎(chǔ)》,清華大學(xué)出版社,2001.4

      [3] 陶冶、范玉順、羅海濱,“分布式工作流系統(tǒng)的可靠性研究”,http://www.simflow.net

      [4] 羅海濱、范玉順、吳澄,“工作流技術(shù)綜述”,http://www.simflow.net

      [5] 范玉順、吳澄,“基于工作流的CIMS應(yīng)用集成支持系統(tǒng)研究”,http://www.simflow.net

      [6] 劉佚名、范玉順,“基于工作流的企業(yè)過(guò)程的建模和仿真技術(shù)研究”,http://www.simflow.net

      [7] 范玉順、吳澄,“基于協(xié)調(diào)理論的工作流建模方法”,http://www.simflow.net

      [8] 陶冶、范玉順、羅海濱,“提高分布式工作流管理系統(tǒng)的可擴(kuò)展性”,http://www.simflow.net

      [9] 鮑震寧、范玉順,“企業(yè)組織模型結(jié)構(gòu)和建模方法研究”,http://www.simflow.net

      [10] 羅海濱、范玉順、吳澄,“一種面向企業(yè)用戶的工作流模型”,http://www.simflow.net

      第二篇:淺談JBPM工作流

      淺談JBPM工作流

      摘要:本文介紹了工作流的定義,并著重對(duì)JBPM工作流的核心組件、體系結(jié)構(gòu)、流程調(diào)度等進(jìn)行了詳盡的介紹,以期完成對(duì)基于JBPM工作流技術(shù)的軟件系統(tǒng)研發(fā)工作的理論探討。

      關(guān)鍵詞:工作流;JBPM;組件;流程調(diào)度

      工作流研究起源于20世紀(jì)70年代,早期的工作流源起辦公自動(dòng)化。1962年,工作流開(kāi)始使用Petri網(wǎng)來(lái)作為流程建模的描述手段,Petri被認(rèn)為是所有流程定義語(yǔ)言之母。到80年代適,商用工作流(FileNet等)開(kāi)始基于圖像處理和文檔管理,直到1993年,工作流管理聯(lián)盟的成立標(biāo)志著工作流技術(shù)比較成熟了。

      JBPM于2002年發(fā)起,到現(xiàn)在已經(jīng)有發(fā)布了5.0版本。與JBPM3相比,JBPM4引入了流程虛擬機(jī)(PVM)同時(shí)增加了業(yè)務(wù)流程管理系統(tǒng)(BPMS)的特性,它不只是一個(gè)工作流系統(tǒng),而是開(kāi)始走向BPMS。而JBPM5完全拋棄了JBPM4的代碼,所有代碼都來(lái)自原先的Drools Flow。因此,本文選擇了純JPBM工作流引擎JBPM3。

      1.1 工作流的定義

      工作流管理聯(lián)盟(Workflow Management Coalition,WfMC),給出了工作流定義為:工作流是一類能夠完全或者部分自動(dòng)執(zhí)行的經(jīng)營(yíng)過(guò)程,它根據(jù)一系列過(guò)程規(guī)則、文檔、信息或任務(wù)能夠在不同的執(zhí)行者之間進(jìn)行傳遞與執(zhí)行。除了WfMC以外,Georgakopotllo、IBM Almeden研究中心等也從不同的角度對(duì)工作流進(jìn)行了定義。這些定義都是非形式化語(yǔ)言描述,說(shuō)明工作流是使用計(jì)算機(jī)實(shí)現(xiàn)的經(jīng)營(yíng)過(guò)程,而工作流管理系統(tǒng)是實(shí)現(xiàn)這個(gè)過(guò)程的一套軟件。

      本文中筆者做如下定義:“工作流是一種反映業(yè)務(wù)流程的計(jì)算機(jī)化的模型,是為了實(shí)現(xiàn)某個(gè)經(jīng)營(yíng)過(guò)程利用計(jì)算機(jī)在多個(gè)參與者之間,按照預(yù)定規(guī)則自動(dòng)流轉(zhuǎn)的可由工作流管理系統(tǒng)執(zhí)行的業(yè)務(wù)模型?!?/p>

      1.2 JBPM簡(jiǎn)介

      JBPM是一個(gè)基于Java EE的輕量級(jí)工作流管理系統(tǒng),是一個(gè)靈活的、可擴(kuò)展的并能實(shí)現(xiàn)工作流的企業(yè)級(jí)開(kāi)發(fā)框架,提供了流程定義、部署、執(zhí)行和管理等功能。它具只有很小的依賴性,可以作為Java庫(kù)與使用任何數(shù)據(jù)庫(kù)部署在任何應(yīng)用服務(wù)器上。

      JBPM的核心工作流和BPM功能被封裝成一個(gè)Java庫(kù),其中包含了Jbpm-Server、Jbpm-Designer、Jbpm-DB、Jbpm核心組件和Jbpm-Bpel五個(gè)部分。Jbpm-Server是一個(gè)預(yù)先配置好的Jboss應(yīng)用服務(wù)器,Jbpm-Designer是一個(gè)基于Eclipse的流程圖形化設(shè)計(jì)插件,Jbpm-DB包括了JBPM所有兼容數(shù)據(jù)庫(kù)的JDBC驅(qū)動(dòng)程序和數(shù)據(jù)庫(kù)初始化腳本,Jbpm核心組件是一個(gè)用來(lái)管理流程定義和支持流程實(shí)例執(zhí)行的運(yùn)行時(shí)環(huán)境,Jbpm-Bpel是一個(gè)獨(dú)立擴(kuò)展包,使JBPM可以支持BPEL(一種擴(kuò)展的XML腳本語(yǔ)言)。

      JBPM使用JPDL流程定義語(yǔ)言來(lái)表示業(yè)務(wù)流程,使用Jbpm-Designer圖形流程設(shè)計(jì)器來(lái)設(shè)計(jì)業(yè)務(wù)流程。Jbpm-Designer使業(yè)務(wù)分析員和技術(shù)開(kāi)發(fā)人員都可以對(duì)業(yè)務(wù)流程進(jìn)行設(shè)計(jì)和調(diào)整,使得業(yè)務(wù)流程建模和實(shí)際業(yè)務(wù)執(zhí)行轉(zhuǎn)換非常容易。

      JBPM的核心組件是一個(gè)Java庫(kù),負(fù)責(zé)解析流程定義文件和控制運(yùn)行時(shí)流程實(shí)例的執(zhí)行。除了XML解析和持久化依賴的庫(kù)以外,唯一與之直接相關(guān)的庫(kù)是commons logging,項(xiàng)目中任意Java軟件都可以訪問(wèn)JBPM提供的API。JBPM內(nèi)部使用Hibernate實(shí)現(xiàn)其持久化,Hibernate使JBPM能在當(dāng)前所有的數(shù)據(jù)庫(kù)上使用。

      JBPM控制臺(tái)Web應(yīng)用程序作為流程實(shí)例的控制接口,負(fù)責(zé)流程執(zhí)行時(shí)的任務(wù)生成,管理并監(jiān)視控制臺(tái)檢查或操作運(yùn)行的流程實(shí)例。

      1.3 JBPM的體系結(jié)構(gòu)

      JBPM工作流實(shí)現(xiàn)了三個(gè)工作流管理系統(tǒng)的基本功能。

      過(guò)程定義:JBPM使用JPDL使用戶通過(guò)可視化方式定義業(yè)務(wù)流程,流程定義文件被流程解析程序解析后提供給工作流引擎使用。

      運(yùn)行控制:核心是JBPM工作流引擎,管理執(zhí)行流程的上下文環(huán)境,包含了當(dāng)前執(zhí)行流程的全部信息。它解析流程定義,控制流程定義實(shí)例的創(chuàng)建、流轉(zhuǎn)和銷毀,檢查流程實(shí)例的狀態(tài)并提供監(jiān)控程序。

      人機(jī)交互:當(dāng)流程需要用戶或者外部工具參與時(shí),JBPM提供相應(yīng)的應(yīng)用程序接口或通過(guò)繼承ActionHandler的方法來(lái)實(shí)現(xiàn)。ActionHandler方法提供了統(tǒng)一的擴(kuò)展接口,使得擴(kuò)展更加容易。

      1.3.1.1JBPM的流程定義

      JBPM本身就是基于模型的組件,流程實(shí)例都是依賴流程定義而執(zhí)行的。但它并不像使用JPDL的流程定義圖形化工具那么簡(jiǎn)單,從上世紀(jì)七十年代開(kāi)始,人們便開(kāi)始探索流程的形式化描述。JBPM的流程定義采用了動(dòng)態(tài)圖的模型語(yǔ)義來(lái)描述任意一個(gè)流程定義,JPDL主要使用7種流轉(zhuǎn)控制活動(dòng)來(lái)實(shí)現(xiàn)流程的形式化描述。

      流轉(zhuǎn)控制活動(dòng)是組成一個(gè)業(yè)務(wù)流程定義最基本的活動(dòng),利用這些活動(dòng)可以構(gòu)建任意的流程定義,實(shí)現(xiàn)各種基本流程流轉(zhuǎn)控制。JPDL的流程控制活動(dòng)主要包括:

      1、start(開(kāi)始活動(dòng)):指明流程的實(shí)例用哪里開(kāi)始,它作為流程的入口。每個(gè)流程定義都有且只能有一個(gè)start活動(dòng)(在group中的開(kāi)始活動(dòng)除外),且start活動(dòng)必須有一個(gè)流出轉(zhuǎn)移。

      2、state(狀態(tài)活動(dòng)):業(yè)務(wù)流程需要某些特定的操作后才能繼續(xù)執(zhí)行,在這個(gè)操作之前流程處于等待狀態(tài)。當(dāng)流程運(yùn)行到state活動(dòng)時(shí),自動(dòng)進(jìn)入等待狀態(tài),知道外來(lái)的信號(hào)觸發(fā)。

      3、decision(判斷活動(dòng)):根據(jù)條件在多個(gè)流程轉(zhuǎn)移做出決定性的判斷,選擇最先匹配的一個(gè)條件轉(zhuǎn)移執(zhí)行。

      4、fork-join(分支、聚合活動(dòng)):在需要并發(fā)執(zhí)行流程時(shí),fork活動(dòng)可以使流程出現(xiàn)并行的分支,join活動(dòng)可以使并行分支聚合成一條流程。

      5、end(結(jié)束活動(dòng)):當(dāng)流程實(shí)例流轉(zhuǎn)到end活動(dòng)時(shí),實(shí)例將被結(jié)束。但到達(dá)end活動(dòng)的實(shí)例中仍然活躍的流程活動(dòng)(如fork-join并發(fā)流轉(zhuǎn)引起的流程分支)將會(huì)被保留繼續(xù)執(zhí)行。JPDL允許有多個(gè)end活動(dòng)。

      6、task(人工任務(wù)活動(dòng)):用來(lái)處理需要人機(jī)交互的活動(dòng)??梢苑峙淙蝿?wù)給指定用戶、實(shí)現(xiàn)任務(wù)分配處理器、任務(wù)泳道、任務(wù)提醒等功能。

      7、sub-process(子流程活動(dòng)):允許在流程定義中調(diào)用其他的流程定義。

      流程的形式化描述就是有向圖,其本質(zhì)就是節(jié)點(diǎn)和有向弧。JBPM的節(jié)點(diǎn)Node就是流程控制活動(dòng),它的有向弧就是節(jié)點(diǎn)的轉(zhuǎn)移Transition(轉(zhuǎn)出或者轉(zhuǎn)入),使用節(jié)點(diǎn)和轉(zhuǎn)移就可以繪制任意一個(gè)業(yè)務(wù)流程。

      1.3.1.2JBPM流程調(diào)度

      流程調(diào)度就是流程實(shí)例從一個(gè)節(jié)點(diǎn)運(yùn)行到另一個(gè)節(jié)點(diǎn)所依賴的一套機(jī)制,圖2-13是JBPM流程調(diào)度的思維導(dǎo)圖。JBPM啟動(dòng)一個(gè)流程時(shí)候,首先創(chuàng)建一個(gè)流程實(shí)例,并為這個(gè)實(shí)例創(chuàng)建一個(gè)Root Token,此時(shí)這個(gè)Root Token在Start節(jié)點(diǎn)上。當(dāng)Token在Start節(jié)點(diǎn)上時(shí),就可以將流程下流轉(zhuǎn),通過(guò)Token的signal方法(實(shí)際執(zhí)行的是node的leave操作),將Token(實(shí)際只有ExecutionContext對(duì)象)放入要轉(zhuǎn)向的Transtion對(duì)象中,再由Transtion對(duì)象將Token交給下一個(gè)節(jié)點(diǎn),這樣便完成了流程調(diào)度。

      參考文獻(xiàn):

      [1]高潔.深入淺出JBPM.人民郵電出版社,2009.7

      [2]胡奇.jBPM4工作流應(yīng)用開(kāi)發(fā)指南,2010.10

      [3]胡長(zhǎng)城.開(kāi)源工作流平臺(tái)jBPM:過(guò)程組件模型與PVM.程序員,2008(05)

      作者簡(jiǎn)介:劉永中,男,(1985-),四川省花園式人,西南交通大學(xué)信息科學(xué)與技術(shù)學(xué)院08級(jí)碩士。

      注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文

      第三篇:java 工作流

      Willow 由Huihoo Power開(kāi)發(fā)詳細(xì)可到其中文主頁(yè)查看。

      更多Willow信息

      OpenWFE OpenWFE是一個(gè)開(kāi)放源碼的Java工作流引擎。它是一個(gè)完整的業(yè)務(wù)處理管理套件:一個(gè)引擎,一個(gè)工作列表,一個(gè)Web界面和一個(gè)反應(yīng)器(存放自動(dòng)代理)。它可以可以跟你的程序很好的給合。

      更多OpenWFE信息

      jBpm jBpm是一個(gè)靈活可擴(kuò)展的工作流管理系統(tǒng)。作為 jBpm運(yùn)行時(shí)server輸入的業(yè)務(wù)流程使用簡(jiǎn)單強(qiáng)大的語(yǔ)言表達(dá)并打包在流程檔案中。jBmp將工作流應(yīng)用開(kāi)發(fā)的便利性和杰出的企業(yè)應(yīng)用集成(EAI)能力結(jié)合了起來(lái)。jBmp包括一個(gè)Web應(yīng)用程序和一個(gè)日程安排程序。jBmp是一組J2SE組件,可以作為J2EE應(yīng)用集群部署。

      更多jBpm信息

      OpenEbXML OpenebXML項(xiàng)目致力于提供一個(gè)ebXML框架,主要支持不久將由 UN/CEFACT和OASIS發(fā)布的ebXML規(guī)范2.0版。

      更多OpenEbXML信息

      Werkflow Werkflow是一個(gè)靈活可擴(kuò)展的基于流程和狀態(tài)的工作流引擎。它的目標(biāo)是滿足可以想象的所有工作流程,從企業(yè)級(jí)的業(yè)務(wù)流程到小范圍的用戶交互流程。通過(guò)使用可插拔和分層結(jié)構(gòu),可以方便地容納各種工作流語(yǔ)義。

      更多Werkflow信息

      OSWorkflow OSWorkflow是一個(gè)靈活的工作流引擎,設(shè)計(jì)成可嵌入到企業(yè)應(yīng)用程序中。它提供了許多的持久化API支持包括:EJB,Hibernate,JDBC和其它。OSWorkflow還可以與Spring集成。

      更多OSWorkflow信息

      wfmOpen WfMOpen是WfMC和OMG中所謂工作流設(shè)施(workflow facility)(工作流引擎)的J2EE實(shí)現(xiàn)。工作流通過(guò)擴(kuò)展的XPDL描述。

      更多wfmOpen信息

      OFBiz OFBiz是一個(gè)非常著名的開(kāi)源項(xiàng)目,提供了創(chuàng)建基于最新J2EE/XML規(guī)范和技術(shù)標(biāo)準(zhǔn),構(gòu)建大中型企業(yè)級(jí)、跨平臺(tái)、跨數(shù)據(jù)庫(kù)、跨應(yīng)用服務(wù)器的多層、分布式電子商務(wù)類WEB應(yīng)用系統(tǒng)的框架。OFBiz最主要的特點(diǎn)是OFBiz提供了一整套的開(kāi)發(fā)基于Java的web應(yīng)用程序的組件和工具。包括實(shí)體引擎, 服務(wù)引擎, 消息引擎, 工作流引擎, 規(guī)則引擎等。更多OFBiz信息

      ObjectWeb Bonita Bonita 是一個(gè)符合WfMC規(guī)范、靈活的協(xié)同工作流系統(tǒng)。對(duì)于各種動(dòng)作如流程概念建模、定義、實(shí)例化、流程控制和用戶交互等提供了全面的集成圖形工具。100% 基于瀏覽器、使用SOAP和XML數(shù)據(jù)綁定技術(shù)的Web Services封裝了已有的工作流業(yè)務(wù)方法并將它們以基于J2EE的Web Service形式發(fā)布?;诨顒?dòng)預(yù)測(cè)模型的第三代工作流引擎。更多ObjectWeb Bonita信息

      Bigbross Bossa 速度非??臁⑤p量級(jí)的引擎,使用富有表達(dá)能力的Petri網(wǎng)定義工作流,不要求關(guān)系數(shù)據(jù)庫(kù),使用簡(jiǎn)單,能和Java應(yīng)用集成。事實(shí)上,它是按嵌入式設(shè)計(jì)的。更多Bigbross Bossa信息

      XFlow XFlow運(yùn)行于EJB和servlet容器中。

      更多XFlow信息

      Taverna Taverna項(xiàng)目的目標(biāo)是提供一種語(yǔ)言和軟件工具,方便在eScience中使用工作流和分布計(jì)算技術(shù)。

      更多Taverna信息

      Enhydra Shark Shark完全基于WfMC和OMG標(biāo)準(zhǔn),使用 XPDL作為工作流定義語(yǔ)言。流程和活動(dòng)的存儲(chǔ)使用Enhydra DODS(一個(gè)開(kāi)源OR映射工具)。

      更多Enhydra Shark信息

      PowerFolder PowerFolder是一個(gè)容易使用,容易安裝基于J2EE的工作流服務(wù)器,包括開(kāi)發(fā)人員使用的基于web的studio。

      更多PowerFolder信息

      Open Business Engine Open Business Engine是一個(gè)開(kāi)放源碼的Java工作流引擎,支持WfMC規(guī)范,包括接口1(XPDL)、接口2/3(WAPI)和接口5。OBE為活動(dòng)的運(yùn)行提供了一個(gè)可控的集中環(huán)境。OBE主要基于J2EE實(shí)現(xiàn)。

      更多Open Business Engine信息

      OpenWFE OpenWFE是一個(gè)開(kāi)放源碼的Java工作流引擎。它包括可升級(jí)的三個(gè)組件:引擎、工作列表和Web界面。它的流程定義語(yǔ)言雖然使用XML格式,其靈感來(lái)源于 Scheme,一種Lisp方言。

      更多OpenWFE信息

      Freefluo Freefluo 是一個(gè)使用Web Service的工作流協(xié)同工具,可以處理WSDL的Web Service調(diào)用。支持兩種XML格式的工作流語(yǔ)言:IBM的WSFL和XScufl。Freefluo非常靈活,它的核心是不與任何工作流語(yǔ)言或執(zhí)行架構(gòu)關(guān)聯(lián)的可重用協(xié)同框架。Freefluo包括可執(zhí)行使用WSFL一個(gè)子集描述的工作流的運(yùn)行庫(kù)。

      更多Freefluo信息

      Twiste Twister的目標(biāo)是提供新一代、易集成、應(yīng)用Java領(lǐng)域中最新成果、面向B2B的工作流解決方案。流程引擎基于BPEL業(yè)務(wù)流程規(guī)范和Web Service標(biāo)準(zhǔn)。

      更多Twiste信息

      Con:cern con:cern工作流引擎基于擴(kuò)展的案例(case)處理方法,流程由一組具有前后條件的活動(dòng)組成。

      更多Con:cern信息

      JFlower JFlower是一個(gè)用Java開(kāi)發(fā)的工作流引擎,可以通過(guò)Java插件來(lái)擴(kuò)展。服務(wù)器可以

      解析XML文檔來(lái)執(zhí)行任務(wù),檢查條件。會(huì)話數(shù)據(jù)保存在一個(gè)數(shù)據(jù)庫(kù)中,所以服務(wù)器是完全可伸縮的。

      更多JFlower信息

      JFolder JFolder(formerly PowerFolder)是一個(gè)工作流服務(wù)器和開(kāi)發(fā)環(huán)境,它可以配置在任何J2EE服務(wù)器與數(shù)據(jù)庫(kù)。

      更多JFolder信息

      JAWE 基于Java的圖形化工作流編輯器。圖形化工作流編輯器。使用JAVA語(yǔ)言開(kāi)發(fā),開(kāi)放源碼。嚴(yán)格遵循WFMC規(guī)范。XPDL(XML Process Definition Language)WFMC的 XML 過(guò)程描述語(yǔ)言。工作流定義文件保存在本地的XML文件中

      更多JAWE信息

      Zebra Zebra是一個(gè)工作流引擎。原先的設(shè)計(jì)是為了填補(bǔ)商業(yè)開(kāi)源工作流引擎的空白。它有一些不同于其它工作流系統(tǒng)的特點(diǎn):

      *所有工作流模型都可以在workflow patterns中描述

      *一個(gè)易于使用的GUI designer

      *一個(gè)持久層中間件

      *OO設(shè)計(jì)

      *一個(gè)基于Turbine的Web應(yīng)用程序

      更多Zebra信息

      ActiveBPEL ActiveBPEL引擎是一個(gè)健壯的運(yùn)行時(shí)環(huán)境,它能執(zhí)行依據(jù)BPEL4WS或just BPEL1.1與WS-BPEL2.0規(guī)范編寫(xiě)的業(yè)務(wù)流程。

      更多ActiveBPEL信息

      YAWL YAWL(Yet Another Workflow Language)一個(gè)開(kāi)源工作流語(yǔ)言/處理系統(tǒng).它基于現(xiàn)有的工作流處理系統(tǒng)與工作流語(yǔ)言的一個(gè)精確分析.不像傳統(tǒng)的系統(tǒng),它提供對(duì)大部分工作流模式的直接支持.YAWL支持控制流透視圖,數(shù)據(jù)透視圖并且能與WSDL標(biāo)準(zhǔn)的web服務(wù)相結(jié)合.更多YAWL信息

      MOBE MidOffice BPEL Editor(MOBE)是一個(gè)開(kāi)源平臺(tái)能夠讓執(zhí)行,監(jiān)控,調(diào)整,結(jié)束每個(gè)定義的過(guò)程和諧地結(jié)合起來(lái).這個(gè)平臺(tái)的實(shí)現(xiàn)使用到J2EE技術(shù)與公共的標(biāo)準(zhǔn)如:BPEL,XML與SOAP.更多MOBE信息

      RUNA WFE RUNA WFE是一個(gè)基于JBOSS-JBPM引擎的開(kāi)源工作流工作平臺(tái)它是一個(gè)跨平臺(tái)適用于商業(yè)流程處理的最終用戶解決方案,很容易與所有SQL數(shù)據(jù)庫(kù)管理系統(tǒng)相結(jié)合.更多RUNA WFE信息

      micro-workflow micro-workflow框架適用于那些要在他們程序中分離控制與邏輯方面的開(kāi)發(fā)者,所以這個(gè)框架可以使他們的流程相互獨(dú)立。這樣有利于代碼重復(fù)使用與代碼的完整性。更多micro-workflow信息

      bexee bexee是一個(gè)BPEL執(zhí)行引擎并且是BPEL標(biāo)準(zhǔn)的一個(gè)開(kāi)源實(shí)現(xiàn).更多bexee信息

      PXE PXE-Process eXecution Engine是一個(gè)模塊化的商業(yè)流程執(zhí)行引擎.支持用WS-BPEL2.0或用BPEL4WS1.1規(guī)范描述的商業(yè)流程.

      第四篇:JBPM工作流文檔

      JBPM工作流簡(jiǎn)介 工作流概念簡(jiǎn)介

      “工作流”干預(yù)過(guò)程、業(yè)務(wù)程序的自動(dòng)化處理,文檔、信息或者任務(wù)按照定義好的規(guī)則在參與者間傳遞,來(lái)完成整個(gè)業(yè)務(wù)目標(biāo)或者對(duì)整個(gè)業(yè)務(wù)目標(biāo)的完成做貢獻(xiàn)。同時(shí),“工作流”可能由手工組織,實(shí)際上,多數(shù)“工作流 ”都在IT系統(tǒng)中進(jìn)行組織的,從而對(duì)過(guò)程自動(dòng)化提供計(jì)算機(jī)支持,WFMC把工作定位在這個(gè)方向上。

      “工作流”定義:全部或者部分,由計(jì)算機(jī)支持或自動(dòng)處理的業(yè)務(wù)過(guò)程。工作流經(jīng)常與“過(guò)程重組(BPR—Business Process Re-engineering)”聯(lián)系在一起。BPR 是關(guān)于企業(yè)(組織)核心業(yè)務(wù)過(guò)程的評(píng)估、分析、模擬、定義以及其后的操作實(shí)現(xiàn)。盡管,不是所有的BPR都是采用工作流實(shí)現(xiàn)的,但工作流技術(shù)是最佳的方法,主要因?yàn)?,工作流技術(shù)提供了業(yè)務(wù)過(guò)程邏輯與IT操作支持的分離,從而以后可以修改過(guò)程規(guī)則來(lái)重定義業(yè)務(wù)過(guò)程。相反,工作流技術(shù)并不只在BPR中采用,例如用于現(xiàn)有的業(yè)務(wù)過(guò)程中。

      “工作流管理系統(tǒng)(WFMS—Workflow Management System)”通過(guò)管理工作活動(dòng)序列,調(diào)用與各種活動(dòng)步驟相關(guān)的人員、IT資源,對(duì)業(yè)務(wù)過(guò)程提供自動(dòng)化處理。

      “工作流管理系統(tǒng)”定義:工作流管理系統(tǒng)是這樣的一個(gè)系統(tǒng),詳細(xì)定義、管理并執(zhí)行“workflows”,系統(tǒng)通過(guò)運(yùn)行一些軟件來(lái)執(zhí)行workflows,這些軟件的執(zhí)行順序由工作流邏輯的計(jì)算機(jī)表示形式(計(jì)算機(jī)化的業(yè)務(wù)規(guī)則——過(guò)程定義)驅(qū)動(dòng)。每個(gè)業(yè)務(wù)過(guò)程都有一個(gè)生命周期,從幾分鐘到幾天(甚至數(shù)月),由過(guò)程的復(fù)雜性與組成活動(dòng)的持續(xù)時(shí)間來(lái)決定。有多種方法實(shí)現(xiàn)工作流管理系統(tǒng),使用多種IT和通訊組件,運(yùn)行環(huán)境可以從一個(gè)小的本地工作組到企業(yè)間。因此,WFMC參考模型從各種角度考慮工作流管理系統(tǒng),希望提供各種不同的實(shí)現(xiàn)技術(shù)、運(yùn)行環(huán)境。

      盡管實(shí)現(xiàn)的方法多種多樣,但所有的WFMS都表現(xiàn)出某種共同的特性,這為不同產(chǎn)品間的集成、協(xié)同工作提供了基礎(chǔ)。參考模型描述了工作流系統(tǒng)的一個(gè)公共模型,并且指出參考模型如何能使其與其他各種不同的實(shí)現(xiàn)方法相關(guān)聯(lián)。JBPM相關(guān)功能簡(jiǎn)介

      JBPM是當(dāng)前優(yōu)秀的開(kāi)源工作流引擎。本文檔是關(guān)于JBPM與Spring框架集成分析文檔。包括:基本概念、設(shè)計(jì)要點(diǎn)、常見(jiàn)問(wèn)題解答、參考資源等。

      jBPM(JBoss Business Process Management業(yè)務(wù)流程管理),它是覆蓋了業(yè)務(wù)流程管理、工作流、服務(wù)協(xié)作等領(lǐng)域的一個(gè)開(kāi)源的、靈活的、易擴(kuò)展的可執(zhí)行流程語(yǔ)言框架。jPDL是構(gòu)建于jBPM框架上的流程語(yǔ)言之一。在jPDL中提供了任務(wù)(tasks)、待處理狀態(tài)(wait states)、計(jì)時(shí)器(timers)、自動(dòng)處理(automated actions)?等術(shù)語(yǔ),并通過(guò)圖型化的流程定義,很直觀地描述業(yè)務(wù)流程。

      jPDL可以部署于Java語(yǔ)言的任何應(yīng)用環(huán)境下,JavaSE Application(Swing/SWT)、JavaEE Application(Application Server)。

      目前jPDL的最新版本是3.2.2,您可以在以下地址:http://labs.jboss.com/jbossjbpm/jpdl_downloads/ 獲得官方下載包。下載包分為兩種,一種是標(biāo)準(zhǔn)包(jbpm-jpdl-3.2.2.zip)只有20M左右;一種是套件包(jbpm-jpdl-suite-3.2.2.zip)將近80M。兩者最大的區(qū)別是套裝包自帶一個(gè)已經(jīng)配置好的jboss服務(wù),下載解壓縮后,可直接運(yùn)行。

      jbpm-jpdl.jar是一個(gè)典型的jar文件,它涵蓋對(duì)流程定義和運(yùn)行時(shí)流程實(shí)例上下文環(huán)境的操作API。在最簡(jiǎn)化的業(yè)務(wù)流程樣例中,jPDL將流程定義存儲(chǔ)與XML格式的定義文件中,在運(yùn)行時(shí)載入內(nèi)存,在內(nèi)存里記錄完整的業(yè)務(wù)實(shí)例和執(zhí)行過(guò)程的環(huán)境變量,并完成全部操作。顯然,在實(shí)際應(yīng)用中,流程信息必須被持久化的存儲(chǔ)于數(shù)據(jù)庫(kù)中。jPDL使用了Hibernate作為其對(duì)象持久化的API。

      jbpm-identity.jar是jPDL的一個(gè)輕量級(jí)擴(kuò)展包,簡(jiǎn)單實(shí)現(xiàn)了組Group、用戶User、許可權(quán)Permission等用戶身份認(rèn)證和鑒權(quán)機(jī)制。(實(shí)際項(xiàng)目中,沒(méi)有什么用,不過(guò)還是加上吧)

      JBPM數(shù)據(jù)庫(kù)創(chuàng)建表語(yǔ)句:

      jbpm.jpdl.oracle.sql

      JBPM工作流程模板與實(shí)例相關(guān)表的說(shuō)明:

      JBPM工作流程模板與實(shí)例相關(guān)表.xls

      JBPM數(shù)據(jù)庫(kù)表字段說(shuō)明:

      JBPM數(shù)據(jù)庫(kù)表字段說(shuō)明.doc

      2.1與SSH整合

      1、創(chuàng)建公文流轉(zhuǎn)相關(guān)的實(shí)體類,并創(chuàng)建數(shù)據(jù)庫(kù)表

      2、根據(jù)對(duì)用例的分析,初步建立公文流轉(zhuǎn)相關(guān)的接口

      3、實(shí)現(xiàn)接口 切記:要用高版本的hibernate3.jar 3.1 創(chuàng)建數(shù)據(jù)庫(kù)表

      拷貝相關(guān)的依賴包到WEB-INF/lib下面(bsh.jar、jcr-1.0.jar、jbpm-identity.jar、jbpm-jpdl.jar)修改hibernate.cfg.xml,添加JBPM的映射配置,以及緩存屬性的配置

      從JBPM_HOMEconfig目錄下拷貝hibernate.cfg.xml文件中的相關(guān)配置,切記:加入一個(gè)JBPM緩存的東西

      執(zhí)行jbpm.jpdl.oracle.sql,創(chuàng)建JBPM的所有數(shù)據(jù)庫(kù)表

      3.2 與Spring集成

      集成JBPM與spring,需要用到第三方的集成包:將其中的spring-modules-jbpm31.jar拷貝到WEB-INF/lib下面即可 集成JBPM與Spring的方法是:將JbpmConfiguration對(duì)象的創(chuàng)建交給Spring來(lái)完成

      所以,需要在spring配置文件中配置JbpmConfiguration對(duì)象的創(chuàng)建

      class=“org.springmodules.workflow.jbpm31.LocalJbpmConfigurationFactoryBean”>

      這時(shí)候,需要jbpm.cfg.xml,這是JBPM的配置文件,從JBPM_HOMEsrcjpdlorgjbpm目錄下拷貝default.jbpm.cfg.xml文件,并重新命名為jbpm.cfg.xml

      3.3 如何實(shí)現(xiàn)業(yè)務(wù)邏輯類,請(qǐng)參考WorkflowManage.java 用到j(luò)bpmConfiguration對(duì)象的時(shí)候,需要注入(

      )當(dāng)我們使用JbpmContext對(duì)象來(lái)操縱JBPM的時(shí)候,需要將JbpmContext的HibernateSession對(duì)象設(shè)置為當(dāng)前的HibernateSession對(duì)象

      private JbpmContext getJbpmContext(){

      } JbpmContext tJbpmContext = jbpmConfiguration.createJbpmContext();tJbpmContext.setSession(getSession());return tJbpmContext;

      2.2與系統(tǒng)用戶模型結(jié)合

      在JBPM中定義了一個(gè)簡(jiǎn)單的用戶模型。但是在實(shí)際項(xiàng)目中,我們的用戶模型可能遠(yuǎn)比這個(gè)模型復(fù)雜,或者有很大的差異。

      JBPM有兩種分配任務(wù)的模式,推模式和拉模式。

      推模式:系統(tǒng)主動(dòng)分配任務(wù)給actorId。推模式只有一個(gè)人能參與這個(gè)任務(wù)。通過(guò)actorId指定用戶。

      拉模式:actorId去申請(qǐng)這個(gè)任務(wù)。拉模式的任務(wù)可以是多個(gè)人參與的,但是只能有其中的一個(gè)人能結(jié)束。通過(guò)PooledActors指定用戶群。

      當(dāng)同時(shí)指定了這兩個(gè)屬性的時(shí)候,actorId才是真正被指定的參與者。只有這個(gè)參與者才能完成這個(gè)任務(wù),其他的在PooledActors里面的用戶,是無(wú)法得到這個(gè)任務(wù)的,所以也沒(méi)有辦法處理這個(gè)任務(wù)。

      設(shè)置用戶

      推模式:Assignable.setActorID(String actorId);

      拉模式:Assignable.setPooledActors(String[] actorIds);

      得到用戶任務(wù)列表

      推模式:TaskMgmtSession.findTaskInstances(String actorId)拉模式:TaskMgmtSesion.findPooledTaskInstances(String actorId)或

      TaskMgmtSession.findPooledTaskInstances(List actorIds)為了防止沖突,需要把執(zhí)行任務(wù)的這個(gè)候選參與者升格為參與者,即把這個(gè)用戶設(shè)置到actorId里面,如果需要重新把這個(gè)任務(wù)作為共享任務(wù),只需要把a(bǔ)ctorId這個(gè)屬性設(shè)置為null。

      實(shí)際業(yè)務(wù)中參與者實(shí)體模式,最基礎(chǔ)的分配模式可包括直接分配(Direct Allocation)、基于角色分配(Role-Based Allocation)、基于規(guī)則分配(Rule-Based Allocation)。

      直接分配模式:在工作流設(shè)計(jì)期,直接為某個(gè)活動(dòng)節(jié)點(diǎn)指定具體的用戶為參與者;

      基于角色分配模式:在工作流設(shè)計(jì)期,直接為某個(gè)活動(dòng)節(jié)點(diǎn)指定某個(gè)角色為參與者; 基于規(guī)則的分配模式:在設(shè)計(jì)期或運(yùn)行期,根據(jù)某個(gè)具體的規(guī)則來(lái)決定某個(gè)活動(dòng)節(jié)點(diǎn)的參與者(通過(guò)JBPM中的自己來(lái)創(chuàng)建任務(wù)實(shí)例來(lái)實(shí)現(xiàn));

      圖1

      圖2 圖1是請(qǐng)假流程圖,圖2為JBPM流程代碼。用上述兩圖的例子來(lái)具體說(shuō)明分配任務(wù)的模式。

      直接分配模式采用推模式,如圖3所示任務(wù)“申請(qǐng)人核假”的操作者直接指定為發(fā)起申請(qǐng)人。

      圖3 角色分配模式采用拉模式,如圖4所示任務(wù)“主管審核”的操作者是通過(guò)具體的類進(jìn)行指定的,屬于即競(jìng)爭(zhēng)分配模式。活動(dòng)節(jié)點(diǎn)的參與者有多個(gè)人,多個(gè)人共同競(jìng)爭(zhēng)此活動(dòng),某個(gè)人竟得此活動(dòng)后,其他的參與者不能再競(jìng)爭(zhēng)。所以系統(tǒng)處理時(shí),任務(wù)角色可以查詢無(wú)操作者的任務(wù)實(shí)例,如果一個(gè)用戶申請(qǐng)?zhí)幚泶颂巹?wù)時(shí),那么任務(wù)實(shí)例的操作者置為此用戶。

      圖4

      圖5 基于規(guī)則的分配模式:設(shè)置屬性create-tasks=“false”。自己通過(guò)業(yè)務(wù)規(guī)則來(lái)創(chuàng)建不同任務(wù)實(shí)例。

      圖6

      圖7

      延期分配/動(dòng)態(tài)分配(Deferred Allocation/Dynamic Allocation)、基于歷史分配(History-Based Allocation)

      延期/動(dòng)態(tài)分配模式:在運(yùn)行期動(dòng)態(tài)的分配某個(gè)參與實(shí)體給某個(gè)活動(dòng)節(jié)點(diǎn);(通過(guò)JBPM的定時(shí)器來(lái)實(shí)現(xiàn))

      基于歷史分配模式:當(dāng)前活動(dòng)節(jié)點(diǎn)的參與者為前續(xù)某個(gè)已經(jīng)執(zhí)行過(guò)的活動(dòng)節(jié)點(diǎn)的參與者,此模式在電子政務(wù)的審批流程中經(jīng)常會(huì)用到,例如某個(gè)工作項(xiàng)由秘書(shū)辦理后發(fā)給領(lǐng)導(dǎo),然后又從領(lǐng)導(dǎo)處返回個(gè)秘書(shū)。(采用直接分配模式,在JBPM的變量進(jìn)行存儲(chǔ)前續(xù)已經(jīng)某個(gè)已經(jīng)執(zhí)行過(guò)活動(dòng)節(jié)點(diǎn)的參與者)

      2.3流程業(yè)務(wù)應(yīng)用模式

      2.3.1流程掛起

      在Jbpm的processInstance與taskInstance都對(duì)外提供了掛起進(jìn)程實(shí)例或工作實(shí)例的的接口,同時(shí)也提供了釋放的接口。分別是:

      1、processinstance.suspend();processInstance.resume();

      2、taskInstance.suspend();taskInstance.resume();同時(shí)processinstance與 taskInstance還提供了一個(gè)標(biāo)志位,isSuspended與isOpen分別表示是掛起還是開(kāi)放狀態(tài),如果標(biāo)志位isSuspended = true && isOpen = fasle,那么這個(gè)進(jìn)程實(shí)例或任務(wù)實(shí)例在用戶界面就不會(huì)被找出來(lái),但在管理界面還是可以看到。如果isSuspended = false && isOpen = true,結(jié)果就是正常情況了。

      2.3.2流程加簽

      工作流加簽即在流程節(jié)點(diǎn)上可選擇增加已流程模板訂制的可增加的流程節(jié)點(diǎn)。節(jié)點(diǎn)進(jìn)行加簽后,回到節(jié)點(diǎn)時(shí)的任務(wù)分配與流程退簽一致,故此點(diǎn)在流程退簽中討論。

      1、正常加簽,如圖1所示,流程節(jié)點(diǎn)主管審核可以選擇發(fā)起節(jié)點(diǎn)領(lǐng)導(dǎo)審批。

      2、加簽拆分:某一流程實(shí)例在某一節(jié)點(diǎn)是否允許發(fā)起多個(gè)加簽,如簽核者A同時(shí)發(fā)起B(yǎng)和C的并行加簽。

      圖8

      圖9

      3、層次加簽:加簽者可以再次發(fā)起到指定人的加簽。如圖10所示,使用Fork中的Script實(shí)現(xiàn)多路路由選擇。流程節(jié)點(diǎn)task1用Fork產(chǎn)生節(jié)點(diǎn)task2或task4的同時(shí)也會(huì)產(chǎn)生task1,這樣task1就又可以發(fā)起的流程加簽。如果不允許同一加簽流程或發(fā)起的加簽流程還未結(jié)束前不允許再次發(fā)起??梢酝ㄟ^(guò)流程決策節(jié)點(diǎn)decision進(jìn)行判斷。如下圖所示:

      圖10

      圖11

      4、加簽流程同步或異步:圖9與圖10的例子,就是多個(gè)加簽后,主流程節(jié)點(diǎn)與加簽流程節(jié)點(diǎn)可進(jìn)行異步處理。如果需要進(jìn)行流程的同步處理,需要在流程決策節(jié)點(diǎn)decision增加判斷發(fā)起的加簽流程是否完成的判斷,如果沒(méi)有完成,則退回到主流程節(jié)點(diǎn)。

      2.3.3流程跳簽

      流程跳簽:即跳過(guò)接下來(lái)的一個(gè)或連續(xù)的多個(gè)節(jié)點(diǎn),直接到指定的節(jié)點(diǎn)執(zhí)行。通過(guò)流程轉(zhuǎn)換實(shí)現(xiàn)。但無(wú)法實(shí)現(xiàn)從流程分支外跳入流程分支內(nèi)。如果要從流程分支內(nèi)跳出到流程分支外,需要取消該任務(wù)實(shí)例對(duì)應(yīng)的未完成的兄弟令牌的任務(wù)實(shí)例。

      2.3.4流程退簽

      流程退簽可以認(rèn)為是流程跳簽的一種特例。流程退簽的任務(wù)分配采用直接分配,操作者是此流程節(jié)點(diǎn)已操作過(guò)的操作者。

      流程退簽的實(shí)現(xiàn)方法有兩種:

      1、流程轉(zhuǎn)換

      流程退簽的任務(wù)分配,需要先查詢此流程實(shí)例回退節(jié)點(diǎn)之前是否存在已經(jīng)進(jìn)行過(guò)操作的任務(wù)實(shí)例。如果有則說(shuō)明是流程退簽,沒(méi)有則正常實(shí)例。流程退簽時(shí),如果已有的流程任務(wù)實(shí)例如果采用直接分配模板,不需要進(jìn)行特殊處理;如果采用角色分配模板,則在分配類中校驗(yàn)流程變量中是否有當(dāng)前節(jié)點(diǎn)的退簽變量,如果有則查詢流程中上次任務(wù)實(shí)例的操作者,并對(duì)任務(wù)進(jìn)行直接分配。如圖1所示,由主管發(fā)起加簽操作,領(lǐng)導(dǎo)進(jìn)行了審批后,回到主管審批節(jié)點(diǎn)。此時(shí),節(jié)點(diǎn)任務(wù)分配就需要進(jìn)行退簽判斷。

      圖12

      2、修改流程實(shí)例的狀態(tài)

      如何開(kāi)關(guān)一個(gè)任務(wù):任務(wù)實(shí)例TaskInstance有三個(gè)重要的屬性end(任務(wù)結(jié)束時(shí)間),isOpen(任務(wù)是否開(kāi)啟),isSignalling(任務(wù)是否可流轉(zhuǎn))??刂七@3個(gè)屬性就可以控制任務(wù)實(shí)例.如果要開(kāi)啟一個(gè)任務(wù),就讓end=null,isOpen=true,isSignalling=true。如果要關(guān)閉一個(gè)任務(wù)就是end=new Date(),isOpen=false,isSignalling=false。另外還有一個(gè)屬性isCancelled,如果你關(guān)閉的任務(wù)作廢了,不需要作為歷史任務(wù)保留,就讓isCancelled=true;

      流程回退大致分為三種:

      1、簡(jiǎn)單流程回退(無(wú)流程分支)

      先做個(gè)假設(shè)有流程 a—>b—>c—>d—>e 當(dāng)前流程已經(jīng)跑到d,如果要回到b重新跑怎么做那.步驟是:

      一、關(guān)閉任務(wù)b后創(chuàng)建的并且沒(méi)有關(guān)閉的任務(wù)。(與任務(wù)b同在一個(gè)節(jié)點(diǎn)上沒(méi)有完成的任務(wù)除外)

      二、開(kāi)啟任務(wù)b。

      三、將令牌指向任務(wù)b所在的節(jié)點(diǎn)。

      圖13 經(jīng)過(guò)測(cè)試發(fā)現(xiàn)對(duì)分支的回退會(huì)出現(xiàn)兩個(gè)問(wèn)題: 1)當(dāng)流程執(zhí)行到分支內(nèi)節(jié)點(diǎn)時(shí)(b,c,d),如果要退回到a任務(wù),并把分支內(nèi)的任務(wù)關(guān)閉掉,當(dāng)再次進(jìn)入分支節(jié)點(diǎn)后,流程就只能運(yùn)行到j(luò)oin節(jié)點(diǎn),不能到達(dá)e。

      2)當(dāng)流程執(zhí)行到F時(shí),如果要將流程回退到一個(gè)分支內(nèi)的任務(wù)上(b,c,d),流程就也只能運(yùn)行到j(luò)oin節(jié)點(diǎn),不能再到達(dá)e。

      當(dāng)流程執(zhí)行到fork時(shí),會(huì)根據(jù)分支的個(gè)數(shù)創(chuàng)建幾個(gè)子令牌(本例是創(chuàng)建2個(gè)),子令牌會(huì)各自流轉(zhuǎn),直到到達(dá)join節(jié)點(diǎn)。join節(jié)點(diǎn)會(huì)檢查子令牌是否都到達(dá)join節(jié)點(diǎn),如果是就流轉(zhuǎn)主令牌到點(diǎn)一個(gè)節(jié)點(diǎn),如果不是就繼續(xù)等待其他子令牌。完成這個(gè)邏輯主演是依靠Token的isAbleToReactivateParent屬性來(lái)完成這個(gè)功能。isAbleToReactivateParent這個(gè)屬性的含義可以理解成,當(dāng)前持有這個(gè)屬性的子令牌是否可以激活(恢復(fù))其父令牌。所以這個(gè)屬性只有分支的子令牌才具有。

      isAbleToReactivateParent在fork創(chuàng)建分支令牌為true,當(dāng)子令牌到達(dá)join是會(huì)被設(shè)為false。具體說(shuō)一下過(guò)程(詳細(xì)的可以看看join的execute方法)每一個(gè)子令牌到達(dá)join節(jié)點(diǎn),都會(huì)觸發(fā)join的execute方法。該方法的第一步就是檢測(cè)子令牌的isAbleToReactivateParent是否為true,不是ture你這個(gè)子令牌就什么都別想干了。當(dāng)為true時(shí)子令牌才有權(quán)嘗試(僅僅是嘗試)驅(qū)動(dòng)一下父令牌。

      子令牌過(guò)這第一關(guān),isAbleToReactivateParent就會(huì)被賦值false。(每個(gè)子令牌只有一次機(jī)會(huì)去見(jiàn)他的父令牌)下面還要過(guò)好多關(guān)。所有的關(guān)卡都通過(guò),來(lái)到它的父令牌面前。這時(shí)這個(gè)父令牌會(huì)找到它的全部子令牌,檢查子令牌的isAbleToReactivateParent屬性是否都為fasle。如果還有為true的子令牌,說(shuō)明還有子令牌沒(méi)有完成。父令牌會(huì) 等待。要是全為fasle。那就是全部子令牌都完成,父令牌就可以執(zhí)行到下一個(gè)節(jié)點(diǎn)。

      2、回退到流程分支中

      關(guān)閉里分支內(nèi)的任務(wù),但沒(méi)有讓子令牌放棄見(jiàn)父令牌。所以當(dāng)你再次由a進(jìn)入分支時(shí),又創(chuàng)建了兩個(gè)子令牌.這個(gè)老爸現(xiàn)在有4個(gè)子令牌了。其中先前的兩個(gè)子令牌,卻永遠(yuǎn)都見(jiàn)不到父令牌,父令牌會(huì)在join會(huì)一直等。所以要從分支往分支外跳的時(shí)候,除了殺掉任務(wù),也別忘了讓子令牌放棄見(jiàn)父令牌的想法。isAbleToReactivateParent=false。

      3、從流程分支中回退

      從e跳到分支里。歷史任務(wù)開(kāi)啟,任務(wù)上的子令牌不想見(jiàn)父令牌(此時(shí)isAbleToReactivateParent = false)。這個(gè)子令牌到了join,該方法的第一步就是檢測(cè)子令牌的isAbleToReactivateParent是否為true,不是ture你這個(gè)子令牌就什么都別想干了。所以,開(kāi)啟分支里的任務(wù)時(shí),不要忘記將該任務(wù)的令牌屬性isAbleToReactivateParent = true。這樣他才能見(jiàn)到父令牌讓他走人。

      2.5子流程

      2.5.1子流程部署與刪除

      1、jbpm的流程deploy方法之一是: JbpmConfiguration.getInstance().createJbpmContext().deployProcessDefinition(processDefinition);如果流程中涉及子流程的話,deploy需要注意先后順序,否則父流程會(huì)找不到子流程.發(fā)布流程遵循的順序是先子后父。

      2、流程實(shí)例結(jié)束后刪除流程實(shí)例的方法之一是: JbpmConfiguration.getInstance().createJbpmContext().getGraphSession().deleteProcessInstance(processInstance.getId());如果流程涉及子流程的話,刪除流程實(shí)例同樣需要注意先后順序。如果先刪除子流程實(shí)例:子流程已結(jié)束,會(huì)將Token表中父令牌的SubProcessInstance字段清空,此時(shí)可以刪除子流程;如果子流程未結(jié)束,Token表中父令牌的SubProcessInstance(外鍵關(guān)聯(lián)子流程的流程ID)字段未清空,會(huì)報(bào)約束錯(cuò)誤。如果要?jiǎng)h除父流程實(shí)例直接刪除,JBPM會(huì)按照先子后父的關(guān)系將此父流程的子孫流程全部刪除。

      JBPM的刪除流程的方法存在一個(gè)BUG。例如圖17所示:如果父流程實(shí)例中存在多個(gè)令牌,且存在子流程實(shí)例。如果子流程實(shí)例未結(jié)束時(shí),無(wú)法刪除父流程實(shí)例。因?yàn)镴BPM刪除父流程實(shí)例同時(shí)也會(huì)刪除子流程實(shí)例。如圖14所示,JBPM是用令牌來(lái)來(lái)查詢發(fā)起的子流程實(shí)例會(huì)進(jìn)行刪除。但實(shí)際任何查詢令牌都可查詢到子流程。查詢條件如圖15所示,在首個(gè)令牌中已經(jīng)將子流程刪除,在后續(xù)令牌進(jìn)行操作時(shí)則會(huì)報(bào)約束錯(cuò)誤。如果發(fā)生此類情況,先判斷刪除的流程實(shí)例是否有父流程實(shí)例。沒(méi)有則查詢流程實(shí)例中的令牌,將Token表中令牌的SubProcessInstance字段清空后,再調(diào)用上述流程實(shí)例的刪除方法即可。

      圖14

      圖15

      圖16

      2.5.2發(fā)起子流程

      1、子流程就是流程模板是的一個(gè)流程節(jié)點(diǎn),發(fā)起子流程與發(fā)起其他流程節(jié)點(diǎn)一致。

      2、流程節(jié)點(diǎn)可任意發(fā)起子流程,即將子流程可由當(dāng)前流程操作者自行判斷是否發(fā)起??梢酝ㄟ^(guò)類似于加簽的方法。如圖17所示:task1擁有兩個(gè)流向選擇,一是處理當(dāng)前節(jié)點(diǎn)任務(wù),二是發(fā)起子流程協(xié)助處理。task1的操作者,如果選擇處理當(dāng)前節(jié)點(diǎn)任務(wù)后流程進(jìn)入task4進(jìn)行;如果是選擇發(fā)起子流程協(xié)助處理,流程發(fā)起子流程與task3,模板設(shè)置task3與task1的操作者一致,但只有唯一的流向即處理當(dāng)前節(jié)點(diǎn)任務(wù)。

      圖17

      3、子流程的同步與異步

      如圖17所示,子流程實(shí)例與父流程實(shí)例是同步的,父流程實(shí)例必須的子流程實(shí)例完成后才能繼續(xù)流程,父流程實(shí)例與子流程實(shí)例是一個(gè)整體。

      如圖18所示,子流程實(shí)例與父流程實(shí)例是異步的,父流程實(shí)例只是負(fù)責(zé)發(fā)起子流程實(shí)例,子流程的完成情況對(duì)父流程實(shí)例沒(méi)有影響。

      圖18 2.6 JBPM定時(shí)器 2.6.1定時(shí)器的配置

      1、jbpm.cfg.xml中配置,關(guān)于定時(shí)器運(yùn)行時(shí)間的配置如圖19所示:

      圖19

      2、jbpm.cfg.xml中配置,關(guān)于業(yè)務(wù)日歷的配置如圖20所示:

      圖20 jbpm.business.calendar.properties是關(guān)于業(yè)務(wù)日歷的具體配置如圖21所示:

      圖20 對(duì)于上面定義通俗的理解就是它歸定了從星期一到星期五的9:00-12:00 & 12:30-17:00這段時(shí)間為上班時(shí)間也就是業(yè)務(wù)時(shí)間,星期六和星期日沒(méi)有定義也就是放假的時(shí)間,再往下就是定義了12個(gè)節(jié)假日,最后是一些工作時(shí)長(zhǎng)的統(tǒng)計(jì)如一天7.5小時(shí),一個(gè)星期37.5小時(shí)等。

      3、web.xml中配置,如圖21所示

      圖21

      4、配置時(shí)需要注意,JBPM的定時(shí)器本身有一個(gè)BUG,無(wú)法讓JobExecutorServlet使用自己的jbpm.cfg.xml,因?yàn)镴ava類JbpmConfiguration源碼(如圖22所示)實(shí)現(xiàn)就是使用“org/jbpm/default.jbpm.cfg.xml”。在 default.jbpm.cfg.xml使用中默認(rèn)hibernate配置文件如下所示:

      圖22 2.6.2定時(shí)器的運(yùn)用

      定時(shí)器timer可以被用于decision、fork、join、node、process-state、state、super-state、task-node,可以設(shè)置開(kāi)始時(shí)間duedate和頻率repeat,定時(shí)器動(dòng)作可以是所支持的任何動(dòng)作元素,如action或script。timer 還有一個(gè)很重要的屬性cancel-event,這個(gè)是timer和task結(jié)合時(shí)使用的,任務(wù)定時(shí)器的cancel-event可以被定制。默認(rèn)情況下,當(dāng)任務(wù)被結(jié)束時(shí)(=完成)任務(wù)上的定時(shí)器將被取消,這是通過(guò)在定時(shí)器上使用cancel-event屬性,流程開(kāi)發(fā)者可以定制諸如task-assign或task-start。cancel-event支持多個(gè)事件,通過(guò)在屬性中指定一個(gè)用逗號(hào)分割的列表,可以組合cancel-event 的類型。如圖23所示:

      定時(shí)器的時(shí)間分為絕對(duì)時(shí)間與業(yè)務(wù)時(shí)間。業(yè)務(wù)日歷在jbpm.cfg.xml中進(jìn)行配置。業(yè)務(wù)日歷運(yùn)用的為語(yǔ)法:是一個(gè)文本塊,它是可以使用Double.parseDouble(quantity)所解析的,也就是說(shuō)是一個(gè)數(shù)字;是{second,seconds,minute,minutes,hour,hours,day,days,week,weeks,month,months,year,years}之一;加上可選的business指示,意味著對(duì)于這個(gè)期限只有業(yè)務(wù)時(shí)間才應(yīng)被考慮,如果沒(méi)有business指示,期限將作為一個(gè)絕對(duì)的時(shí)間段被解釋。也就是說(shuō)加了business的按業(yè)務(wù)時(shí)間算,沒(méi)加的按絕對(duì)時(shí)間算。如圖23所示

      圖23

      2.7 郵件服務(wù)器 2.7.1郵件服務(wù)器的配置

      在jbpm.cfg.xml中配置郵件服務(wù)器,如圖24所示

      圖24

      1、郵件模板的設(shè)置如圖25所示:

      圖25 jbpm.mail.templates.xml的具體內(nèi)容如圖26所示:

      圖26

      2、郵件地址設(shè)置,如圖27所示

      圖27 jbpm.mail.properties的具體內(nèi)容如圖28所示:

      圖28

      3、用戶Email地址的查找,如圖29

      圖29 查找類org.jbpm.identity.mail.IdentityAddressResolver可以根據(jù)業(yè)務(wù)的用戶模型進(jìn)行替換。

      4、自定義郵件支持,如圖30

      圖30 郵件類:com.sinosoft.ups.service.workflow.Mail

      與默認(rèn)郵件類:org.jbpm.mail.Mail的區(qū)別在于public static void send(Properties, String, List, List, String, String)不同,如圖31所示

      圖31 2.7.2郵件服務(wù)器的運(yùn)用

      1、郵件在流程中自動(dòng)提醒,如圖32所示

      圖32

      2、工作流模板中定義郵件節(jié)點(diǎn)與郵件作

      在hibernate.cfg.xml增加如圖33所示的配置文件,不然在發(fā)布帶有MailNode與MailAction的工作流模板時(shí)會(huì)報(bào)hibernate錯(cuò)誤。

      圖33 郵件節(jié)點(diǎn)訂置如圖34所示:

      圖34 郵件動(dòng)作訂置如圖35所示:

      圖35 2.8結(jié)合工單(待定)

      工單:一次申請(qǐng)的提交記錄,該記錄具有唯一性。工單相關(guān)的概念:

      工單管理:對(duì)投訴工單、等不同類型的工單進(jìn)行派發(fā)、接收處理、回復(fù)等一系列工單處理操作。

      工單統(tǒng)計(jì):對(duì)各種處理工單的數(shù)量,類型進(jìn)行數(shù)據(jù)統(tǒng)計(jì)和導(dǎo)出、報(bào)表打印。

      工單系統(tǒng)管理:對(duì)工單系統(tǒng)進(jìn)行管理,設(shè)置相應(yīng)的處理部門(mén)、處理人員和相應(yīng)的權(quán)限,規(guī)定處理流程。

      工單日志:記錄工單操作日志,有效管理日志的處理狀況和責(zé)任。

      第五篇:辦公自動(dòng)化論文:辦公自動(dòng)化 工作流

      辦公自動(dòng)化論文:辦公自動(dòng)化 工作流

      【中文摘要】隨著計(jì)算機(jī)和網(wǎng)絡(luò)技術(shù)的迅猛發(fā)展,基于工作流的辦公自動(dòng)化技術(shù)在企業(yè)里逐漸普及。辦公自動(dòng)化的實(shí)現(xiàn)需要依靠工作流這一關(guān)鍵技術(shù)。本文以張家界航院辦公自動(dòng)化項(xiàng)設(shè)計(jì)和開(kāi)發(fā)為背景,使用Lotus Notes/Domino群件產(chǎn)品作為開(kāi)發(fā)平臺(tái),設(shè)計(jì)了符合學(xué)院特點(diǎn)的工作流,并應(yīng)用到辦公自動(dòng)化系統(tǒng)中,具體工作如下;

      1、針對(duì)工作流的概念、參考模型、工作流管理系統(tǒng)以及基于XPDL的流程建模型語(yǔ)言進(jìn)行了綜述。并最后通過(guò)工作流平臺(tái)的對(duì)比,確定使用Lotus Notes/Domino群件產(chǎn)品進(jìn)行張航工作流系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)。

      2、基于張航學(xué)院的辦公自動(dòng)化系統(tǒng)的需求,設(shè)計(jì)了體系結(jié)構(gòu)、功能結(jié)構(gòu)以及數(shù)據(jù)庫(kù)設(shè)計(jì)。完成了工作流系統(tǒng)設(shè)計(jì),并討論了遠(yuǎn)程辦公實(shí)現(xiàn)方案。

      3、重點(diǎn)分析了基于XPDL的辦公流程的設(shè)計(jì)與實(shí)現(xiàn),并給出了具體應(yīng)用實(shí)例。通過(guò)部署、測(cè)試與分析,證明了系統(tǒng)的有效性。

      4、討論了在張航學(xué)院辦公自動(dòng)化系統(tǒng)的安全性設(shè)計(jì)以及在張航辦公自動(dòng)化系統(tǒng)中的應(yīng)用。最后,總結(jié)了全文的工作,并展望了本課題未來(lái)的研究方向,提出了需要進(jìn)一步研究的問(wèn)題。

      【英文摘要】With the rapid development of computer and Network technology, workflow-based office automation technology becoming more common in the enterprise.Implementation of Office Automation technology rely on the key technology-Workflow.This paper has the background of design and development of OA project of Zhangjiajie Institute of

      Aeronautical Engineering, which based on Lotus Domino/Notes R7 groupware.Research and design features of a consistent workflow Institute and its application to the Office Automation System, including the following special work:1.For the concept of workflow, reference model, workflow management systems and processes based on the model language XPDL reviewed.And finally after the comparison of workflow platform, determine to put Lotus Notes/Domino groupware products into the design and development of Zhang Hang workflow system.2.For the demands of office automation system of Zhang Hang Institute, the system structure, functional structure and database have been designed.The workflow system design have been completed, and the remote office implementations have been discussed.3.Emphatially analized the design and implementation of office procedure which based on XPDL process, and advanced some specific application examples.Through the deployment, testing and analysis proved the effectiveness of the system.4.Discussed the security design and the application of the office automation system in Zhang Hang Institute.Finally, the conclusion and the developing trend were put forward.【關(guān)鍵詞】辦公自動(dòng)化 工作流 Notes/Domino XPDL 工作流引擎 【英文關(guān)鍵詞】OA Workflow Notes/Domino

      XPDL Workflow Engines 【目錄】基于工作流的張航校園網(wǎng)OA系統(tǒng)的設(shè)計(jì)與開(kāi)發(fā)3-48-9現(xiàn)狀10ABSTRACT4

      第一章 緒論8-12

      摘要

      1.1 引言1.2 OA的定義和發(fā)展9-101.3 國(guó)內(nèi)外OA的研究

      第二章

      2.2 1.4 課題的提出與研究的內(nèi)容10-12工作流技術(shù)綜述12-31工作流參考模型14-171414-15

      2.1 工作流技術(shù)概述12-142.2.1 工作流參考模型結(jié)構(gòu)2.2.2 工作流參考模型中涉及到的數(shù)據(jù)2.2.3 工作流參考模型中的組件15-17

      2.3.1 工作流管理系統(tǒng)的定義

      2.3.3 2.3 工作流管理系統(tǒng)17-2017-182.3.2 工作流管理系統(tǒng)的功能和特性18工作流管理系統(tǒng)的分類18-2020-2621-22

      2.4 基于XPDL的工作流模型

      2.4.2 XPDL結(jié)構(gòu)

      2.4.4 過(guò)程模型2.4.1 XPDL發(fā)展20-212.4.3 包定義及重定義22-23定義中的組成元素及屬性23-24實(shí)現(xiàn)24-26

      2.4.5 過(guò)程控制模式的XPDL

      2.5.1

      2.5 工作流開(kāi)發(fā)平臺(tái)的選擇26-30開(kāi)發(fā)平臺(tái)的對(duì)比27-28簡(jiǎn)介28-30

      2.5.2 Lotus Notes/Domino群件產(chǎn)品

      第三章 張航OA系統(tǒng)

      2.6 本章小節(jié)30-31需求分析及設(shè)計(jì)31-5331-33描述31-33

      3.1 張航OA系統(tǒng)需求分析

      3.1.2 系統(tǒng)需求

      3.2.1 基3.2.2 系統(tǒng)3.1.1 校園網(wǎng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)

      3.2 張航OA系統(tǒng)體系結(jié)構(gòu)33-35

      33-34于Lotus Notes/Domino的工作流體系結(jié)構(gòu)

      框架結(jié)構(gòu)34-35功能模塊35-36

      3.3 系統(tǒng)功能35-383.3.1 系統(tǒng)整體

      3.3.3 學(xué)

      3.3.2 模塊接口關(guān)系36-37

      3.4 數(shù)據(jù)庫(kù)設(shè)計(jì)院組織結(jié)構(gòu)與辦公人員角色37-3838-413.4.1 Domino數(shù)據(jù)庫(kù)設(shè)計(jì)原則39-403.4.2 數(shù)據(jù)庫(kù)設(shè)計(jì)內(nèi)容40-4141

      3.4.3 張航OA系統(tǒng)數(shù)據(jù)庫(kù)組成3.5.1 模型庫(kù)3.5.3 過(guò)程模型實(shí)例3.5 張航OA系統(tǒng)工作流設(shè)計(jì)41-50

      3.5.2 流程配置44的設(shè)計(jì)41-44化與客戶機(jī)接口44-5050-52

      3.6 對(duì)遠(yuǎn)程辦公的支持

      50-51

      3.6.2 基于

      第四章 3.6.1 基于VPN的解決方案B/S開(kāi)發(fā)的解決方案51-52張航OA系統(tǒng)部署與實(shí)現(xiàn)53-6653-54

      3.7 本章小節(jié)52-53

      4.1 張航OA系統(tǒng)部署4.1.1 Lotus Notes/Domino部署53-54

      4.2 公文辦理模塊的實(shí)現(xiàn)

      4.1.2 系統(tǒng)的安裝與配置5454-624.2.1 公文辦理工作流程分析54-564.2.2 公文發(fā)文工作流程XPDL定義56-58設(shè)計(jì)58-6060-61

      4.2.3 公文辦理模塊數(shù)據(jù)庫(kù)

      4.2.4 過(guò)程模型的建立和過(guò)程配置4.2.5 工作流具體流程61-62

      4.3 關(guān)系數(shù)據(jù)庫(kù)

      4.5 訪問(wèn)模塊的實(shí)現(xiàn)62-64本章小節(jié)65-6666-71

      4.4 系統(tǒng)測(cè)試與維護(hù)64-65

      第五章 系統(tǒng)安全分析與設(shè)計(jì)

      5.2 Lotus 5.1 系統(tǒng)安全需求描述Notes/Domino安全機(jī)制6666-68

      5.3 網(wǎng)絡(luò)安全設(shè)計(jì)

      5.5 應(yīng)用程序安全設(shè)5.4 系統(tǒng)安全設(shè)計(jì)68-70

      計(jì)7071-725.6 本章小節(jié)70-716.1 全文總結(jié)71

      致謝76-77

      .......第六章 結(jié)論與展望6.2 研究展望71-72主要研究成果77

      .......參考文獻(xiàn)72-76【采買(mǎi)全文】 139938848 138113721 同時(shí)提供論文寫(xiě)作一對(duì)一輔導(dǎo)和論文發(fā)表服務(wù).保過(guò)包發(fā).【說(shuō)明】本文僅為中國(guó)學(xué)術(shù)文獻(xiàn)總庫(kù)合作提供,無(wú)涉版權(quán)。作者如有異議請(qǐng)與總庫(kù)或?qū)W校聯(lián)系。

      下載工作流技術(shù)研究word格式文檔
      下載工作流技術(shù)研究.doc
      將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
      點(diǎn)此處下載文檔

      文檔為doc格式


      聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

      相關(guān)范文推薦

        工作流與信息流

        工作流與信息流 工作流(Workflow)就是“業(yè)務(wù)過(guò)程的部分或整體在計(jì)算機(jī)應(yīng)用環(huán)境下的自動(dòng)化”,它主要解決的是“使在多個(gè)參與者之間按照某種預(yù)定義的規(guī)則傳遞文檔、信息或任務(wù)的......

        OA工作流示例

        OA系統(tǒng)固定工作流清單 一、人事類工作流: 1、用人申請(qǐng)流程(經(jīng)理級(jí)以下): 部門(mén)主任(起草 )——部門(mén)經(jīng)理(審批) ——人力資源部經(jīng)理(審批)——總經(jīng)理(審批)——招聘主管(執(zhí)行) 2、用人申請(qǐng)流......

        工作流中間件InfoFlow

        工作流中間件InfoFlow 產(chǎn)品概述 InforFlow工作流中間件是遵循由國(guó)際工作流管理聯(lián)盟制定的工作流管理規(guī)范而實(shí)現(xiàn)的工作流中間件產(chǎn)品。InforFlow可以為政府及企業(yè)提供統(tǒng)一的......

        工作流配置方法

        自定義工作流的方法 1、 在WSS3.0中只有文檔庫(kù),表單庫(kù)和列表庫(kù)可以使用工作流。 2、 以請(qǐng)假管理為例 在請(qǐng)假管理界面中“設(shè)置”按鈕,選擇“列表設(shè)置”。 在列表設(shè)置界面中選擇......

        T6工作流設(shè)置

        T6工作流設(shè)置 一、 打開(kāi)工作流控制臺(tái) 位置:T6企業(yè)管理軟件→設(shè)置→工作流設(shè)置。 二、 用向?qū)陆ǎㄐ薷囊延校┕ぷ髁?三、 點(diǎn)擊“下一步”錄入工作流名稱。 四、 點(diǎn)擊“下一步”......

        2014出納基本工作流15則范文

        出納基本工作流程 一、現(xiàn)金收付 1、現(xiàn)金收付的,要當(dāng)面點(diǎn)清金額,并注意票面的真?zhèn)?。若收到假幣予以沒(méi)收,由責(zé)任人負(fù)責(zé)。 2、現(xiàn)金一經(jīng)付清,應(yīng)在原單據(jù)上加蓋“現(xiàn)金付訖章”。多付......

        物流業(yè)務(wù)員工作流程

        物流業(yè)務(wù)員工作流程 一:充實(shí)自己的業(yè)務(wù)知識(shí)1、操作流程的學(xué)習(xí)。物流實(shí)體操作,是一個(gè)結(jié)點(diǎn)與下一個(gè)的聯(lián)結(jié)過(guò)程,貨物在全程運(yùn)輸途中,如何有效的利用公司信息資源,隨時(shí)隨地的掌握貨物......

        酒店服務(wù)員工作流程

        五星級(jí)酒店客房服務(wù)員工作流程 一、房間清掃順序 (1)開(kāi)房率高時(shí):按“請(qǐng)即打掃”房,“VIP”房,退房,住客房,長(zhǎng)住房,空房進(jìn)行打掃。 (2)開(kāi)房率低時(shí):按“請(qǐng)即打掃”房,“VIP”房,住客......