在上一章里,我們談到了工作流的控制模式,控制模式強調(diào)的是對業(yè)務流程進行建模,業(yè)務流程的目標是實現(xiàn)一個商業(yè)目標或者管理目標,業(yè)務流程的執(zhí)行往往由一系列的任務所構(gòu)成,控制模式建模的實質(zhì)在于合理調(diào)配這些任務,以期以最少的成本達到最大的收益。
本章將介紹工作流的資源模式,如果說控制模式更為宏觀,強調(diào)的是業(yè)務流程里各個任務的合理調(diào)配的話,那么資源模式則深入細節(jié),將要討論單個具體任務的執(zhí)行情況。提到任務的執(zhí)行,那么誰能執(zhí)行這些任務呢。答案很直接,是人。不管是在公司企業(yè)還是政府里,人都是最重要的資源,除去人之外,還有其他的非人力資源,例如機器、設(shè)備、計算機等。探討這些資源如何執(zhí)行業(yè)務流程中的具體任務,如何調(diào)配這些資源即構(gòu)成了本章的內(nèi)容,即資源模式。
本章介紹工作流的資源模式,共計43種。提到模式,很多人會想到四人幫,想到他們的設(shè)計模式,但是需要與編程里的設(shè)計模式區(qū)別的是:程序里的設(shè)計模式關(guān)注的是代碼,通過應用設(shè)計模式做到代碼的職責清晰、不重復、開發(fā)人員友好等等;而工作流里的模式關(guān)注的是業(yè)務價值,通過合理調(diào)配任務和資源為組織帶來最大的業(yè)務價值,工作流模式是對實際業(yè)務的直接描述,與具體的工作流產(chǎn)品實現(xiàn)沒有直接的關(guān)系(后面我們可以看到,很多模式當前的工作流產(chǎn)品很難實現(xiàn)),兩者的出發(fā)點完全不同。
本章先會討論與資源模式相關(guān)的一些基本概念,例如資源、工作項、組織機構(gòu)建模等。接下來會對具體的43種資源模式進行討論,討論的模式按照描述、應用和實現(xiàn)展開,分別對應著模式的介紹、模式對實際業(yè)務的映射和工作流產(chǎn)品對該模式的實現(xiàn)支持。最后是小結(jié)。
一、基本概念
1、資源
既然是資源模式,那么什么是資源。在本章的前言里,我們已經(jīng)提到人是業(yè)務流程執(zhí)行里最為重要的資源,除去人之外,隨著自動化水平的提高,還有其他的非人力資源,例如機器、設(shè)備、計算機等。資源指的是能夠進行工作的實體,通俗一點,就是能夠執(zhí)行業(yè)務流程里任務的實體。對于需要盈利的公司而言,就是找到一種可以盈利的模式,然后找尋能夠執(zhí)行這些盈利工作的資源,通過資源的工作達到盈利的目的,通過合理調(diào)配這些資源達到利益最大化。
因為人是最為重要的資源,所以在后續(xù)對資源模式的討論中,沒有特殊說明,資源指的都是人力資源,大多數(shù)的模式也將以人來說明。
典型的,人是某個組織機構(gòu)里的成員。組織機構(gòu)對人員進行分組,執(zhí)行相關(guān)的工作以達到共同的目標。例如,企業(yè)的目標是盈利,政府的目標是為人民提供更好的公共服務。組織機構(gòu)對人員的分組具有多種形式,最常見的就是部門、角色和崗位(實際上與角色相比,崗位更多體現(xiàn)的是一種業(yè)務職能,而角色更多體現(xiàn)的是管理職能,與權(quán)限相關(guān))。對于大的跨地域的組織而言,還有分支機構(gòu)的劃分,此外,還有臨時組(典型的如以交付為核心的軟件開發(fā)公司里的項目組)。在很多情況下,人可能具有多個角色、屬于多個部門,這些,增加了管理的復雜性。
對工作流產(chǎn)品而言,要對資源模式進行支持,則必然涉及到對資源分組的支持,在大多情況下,資源分組即組織機構(gòu)模型。只有支持目標客戶的組織機構(gòu)模型,才能在實施工作流產(chǎn)品時最大限度的契合客戶業(yè)務。當然,如果產(chǎn)品是某個行業(yè)的標準,讓客戶模型向產(chǎn)品靠攏也是另外一種方式。
2、工作流產(chǎn)品里的組織機構(gòu)建模
所有的工作流產(chǎn)品都有自己的組織機構(gòu)模型,其是工作流產(chǎn)品里一個重要的模塊。但是一套模型往往很難契合多種業(yè)務場景。在大多數(shù)的產(chǎn)品實現(xiàn)里,都會提供一套元模型,例如人(Person)和組(Group),然后建立多套與業(yè)務相關(guān)的模型向元模型適配,例如,角色、部門都是組的一種形式,它們只是擁有不同的業(yè)務語義而已。
在工作流產(chǎn)品實施時,很重要的一步就是進行組織機構(gòu)建模,然后將建立完成的模型與工作流產(chǎn)品內(nèi)置的模型進行適配,在適配的過程中,妥協(xié)是經(jīng)常出現(xiàn)的。
3、工作項
一個業(yè)務流程由一系列相關(guān)的任務組成。在工作流產(chǎn)品里,使用圖形化的節(jié)點代表這些任務,而實際的任務被映射為工作項(work item),任務的調(diào)用被映射為工作項的執(zhí)行。一般情況下,一個任務對應著一個工作項,但是存在一個任務需要多人完成的情況,這個時候一個任務就會對應著多個工作項。工作項可以看作是工作流中最小的工作單元,其代表著一個單一資源對某一任務的執(zhí)行。
既然在工作流系統(tǒng)里任務的執(zhí)行被映射為工作項的執(zhí)行,那么就一定存在著人與工作項這個計算機概念的交互,在工作流系統(tǒng)里,這一交互通過工作項管理器來進行管理。即我們通常所見的工作項列表(任務列表),我們通過這一列表拾取任務、處理任務以及管理任務的狀態(tài)。
4、工作項的生命周期
工作項有其自己的生命周期。
圖 5-1
如圖5-1所示,當工作流系統(tǒng)執(zhí)行某一任務節(jié)點時就會創(chuàng)建工作項,工作項可以是一個也可以是多個,正如上面已經(jīng)提到的,工作項代表著一個單一資源對某一任務的執(zhí)行即一個工作項只能由一個資源來執(zhí)行,現(xiàn)在我們討論的是一個工作項的生命周期。
工作項被系統(tǒng)創(chuàng)建完畢后即處于創(chuàng)建狀態(tài),接下來系統(tǒng)會選取資源來執(zhí)行該工作項。有兩種狀態(tài):一種是提供狀態(tài),一種是指派狀態(tài),這兩者的區(qū)別在于一個是可選的一個是必須的。如果系統(tǒng)提供一個工作項給你執(zhí)行,這意味著你符合執(zhí)行該工作的條件,但你不必為該工作負責,即你可以選擇執(zhí)行該工作也可以選擇拒絕,你只是該工作的合適候選者;而如果系統(tǒng)指派一個工作項給你執(zhí)行,則意味著你必須為該工作負責,該工作必須由你來執(zhí)行。因為一個工作項只能由一個資源來執(zhí)行,所以如果是指派的話,那么只能指定一個資源;而提供,則可以提供給一個資源也可以提供給多個資源來候選。通常工作項管理器會提供兩種列表來區(qū)分這兩種狀態(tài),分別是待拾取列表和待辦列表,一旦資源對待拾取列表里的工作項進行拾取,工作項即進入到資源的待辦列表,狀態(tài)成為指派狀態(tài)。
工作項進入指派狀態(tài)即意味著執(zhí)行該工作的資源已確定,那么接下來就可以由資源來開始執(zhí)行該工作,執(zhí)行的過程中可以將工作暫時掛起中斷處理,后續(xù)可以再恢復對該工作的執(zhí)行。如果工作成功完成,則工作項成為完成狀態(tài);如果工作因為各種原因沒有成功完成,則工作項置為失敗狀態(tài)。
http://www.tkk7.com/ronghao 榮浩原創(chuàng),轉(zhuǎn)載請注明出處:)
posted on 2009-10-18 09:45
ronghao 閱讀(1603)
評論(1) 編輯 收藏 所屬分類:
Head First Process-深入淺出流程