国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

解析UML工作流管理系統(1)

2019-11-17 04:49:33
字體:
來源:轉載
供稿:網友
1 工作流概述 對工作流的研究起源于二十世紀七十年代,受網絡的局限性,最初的工作流系統主要以企業內部的文檔處理為主。到了二十世紀九十年代,隨著Internet 技術的發展及應用,促進了電子商務應用的極大發展,使得公司與公司之間、公司內部部門之間以及子公司之間的業務相互處理成為可能,這為工作流的發展帶來了很大的機遇和挑戰。

根據國際有關組織的猜測,隨著電子商務的發展,以數據處理為中心的數據庫產品已經進入穩定發展期,以業務過程處理為中心的工作流產品將進入高速發展期。在國內,隨著企業治理的規范化和規模的不斷擴大,企業的計算機治理將不僅僅停留在信息資源治理上,而將向更復雜的業務過程治理邁進。為了實現組織目標,有關業務活動依時序或邏輯關系相互連接構成業務流程。在業務開展過程中,文檔、信息或任務,依據組織規范在參與者之間傳遞、處理或執行。總體業務流程中,實現了基于計算機輔助處理而達到自動化的全部或部分稱為工作流。也就是說,工作流是在計算機輔助下全部或部分自動執行的工作過程,該過程可運行于異質、分布的運行環境中,供多人協同工作。工作流服務器是供業務流程可視化設計、治理和控制業務流程的運行、并在實際執行過程中可動態修改業務流程的一種計算機軟件平臺。它使得快速開發、部署和運行企業業務治理系統、電子商務系統等成為可能。它也使得企業在復雜多變的市場環境中,為了快速適應市場的變化,在保存現有投資,現有系統不變的情況下,迅速調整業務或商務流程成為可能。如它可應用在:采購處理、各種申請、訂單與報價處理、員工績效考核、人事變動、貸款審批、索賠處理、B2B、電子商務等。2 工作流治理系統概述工作流治理系統是定義、創建和執行工作流的系統,它是一種非凡的計算機支持的協同處理(CSCW,Computer Supported CoOperativeWork)軟件系統。 工作流治理系統的產生 工作流治理系統(WfMS,WorkflowManagementSystem)是以計算機支持的分布式、協同工作業務流程的自動或半自動化為研究目標的軟件系統。隨著計算機網絡,非凡是Internet/Intranet 的迅猛發展和應用,計算機支持的分布式、協同工作的工作流系統在企、事業單位中的地位顯得越來越重要,也有著廣闊的前景。

工作流治理系統是定義、創建、執行工作流的系統。開發這類軟件系統就是要協調分布式、協同處理的各個節點上的活動,按照預定義的控制流程進行執行,以達到對它們的自動執行和有效的治理。開發這類軟件有很大的重復性,工作流治理系統就是將這類軟件的公共的流程控制部分(工作流運行服務、引擎)、治理部分和其他公共部分抽象出來,形成一種軟件開發平臺,用戶只需要將它們的控制流程描述出來,該平臺軟件就可對它們的控制流程進行自動執行和有效地治理,而不需要對每次不同的應用重復地開發。 不同工作流治理系統可以有不同的實現方法,不同的底層通訊機制,應用的范圍也可能有很大的差距,但所有的工作流治理系統從用戶的應用層上來看,通用工作流治理系統應該能夠提供以下三個方面的功能支持: 首先是建造功能,即對工作流的業務流程及組成這些業務流程的活動進行定義和建模。 其次是運行控制功能,即在一定的運行環境下,負責創建、執行和控制工作流實例,激活相應的資源和應用,并完成過程中從一個活動到另一個活動的控制轉移。它是整個工作流治理系統的核心部分。 最后是運行交互功能,即在工作流實例的運行中,工作流治理系統與工作流參與者(業務工作的參與者或控制者)及外部應用程序進行交互的功能。 由于信息技術的發展和日趨激烈的商業競爭,人們不再滿足于獨立、零散的辦公自動化和計算機應用,而是需要綜合的、集成化的解決方案。作為一種對常規性事務進行治理、集成的技術,WfMS 的出現是必然的。它可以改進和優化業務流程,提高業務工作效率;實現更好的業務過程控制,提高顧客服務質量;提高業務流程的柔性等。3 工作流治理系統的組成 一個完整的工作流治理系統中主要包括如下七個部分的部件和數據。 a.過程定義工具

過程定義工具被用來創建計算機可處理的業務過程描述。它可以是形式化的過程定義語言或對象關系模型,也可以是簡單地規定用戶間信息傳輸的一組路由命令。 b.過程定義

過程定義(數據)包含了所有使業務過程能被工作流執行子系統執行的必要信息。這些信息包括起始和終止條件、各個組成活動、活動調度規則、各業務的參與者需要做的工作、相關應用程序和數據的調用信息等。c.工作流執行子系統和工作流引擎

工作流執行子系統也稱為(業務)過程執行環境,包括一個或多個工作流引擎。工作流引擎是WfMS 的核心軟件組元。它的功能包括:解釋過程定義,創建過程實例并控制其執行,調度各項活動,為用戶工作表添加工作項,通過應用程序接口(API,application PRogram Interface)調用應用程序,提供監督和治理功能等。工作流執行子系統可以包括多個工作流引擎,不同工作流引擎通過協作共同執行工作流。 d.工作流控制數據

指被工作流執行子系統和工作流引擎治理的系統數據,例如工作流實例的狀態信息、每一活動的狀態信息等。 e.工作流相關數據

指與業務過程相關的數據。WfMS 使用這些數據確定工作流實例的狀態轉移,例如過程調度決策數據、活動間的傳輸數據等。工作流相關數據既可以被工作流引擎使用,也可以被應用程序調用。 f.工作表和工作表處理程序

工作表列出了與業務過程的參與者相關的一系列工作項,工作表處理程序則對用戶和工作表之間的交互進行治理。工作表處理程序完成的功能有:支持用戶在工作表中選取一個工作項,重新分配工作項,通報工作項的完成,在工作項被處理的過程中調用相應的應用程序等。
g.應用程序和應用數據

應用程序可以直接被WfMS 調用或通過應用程序代理被間接調用。通過應用程序調用,WfMS 部分或完全自動地完成一個活動,或者對業務參與者的工作提供支持。與工作流控制數據和相關數據不同,應用數據對應用程序來講是局部數據,對WfMS 的其他部件來說是不可見的。 術語解釋解析UML工作流治理系統(1)(圖一)4 工作流治理系統功能分析 前面已經介紹過,一個完整的通用工作流治理系統應當包括七個部件,這里限于篇幅的原因,只對工作流治理系統的核心部分:工作流執行子系統和工作流引擎進行分析。

工作流治理系統核心功能

工作流治理系統的核心組成部分稱為工作流執行子系統,它為創建、初始化和執行過程實例提供了一個運行環境。

在一個工作流執行子系統中可以包括一個或多個工作流引擎,前者是一種集中式的實現方式,而后者是一種分布式的實現方式。分布式的實現方式又可以分為同構和異構兩種不同的情況。所謂同構是指在一個運行服務系統中包含了多個兼容的工作流引擎;所謂異構是指在工作流治理系統中包含了兩個以上異構的工作流執行子系統。 工作流引擎是工作流治理系統的核心軟件部件。它的主要功能有:解釋過程定義,控制過程實例(創建、激活、掛起、終止等),按照過程定義已確定的業務邏輯調用各項活動,為用戶工作表添加工作項,維護工作流控制數據和工作流相關數據,調用應用程序,提供監督,治理和審計功能。 工作流執行子系統涉及四種數據:工作流控制數據、工作流相關數據、組織/角色模型數據和工作表。 第一種,工作流控制數據。指只由工作流執行子系統維護的內部控制數據,主要用于表示過程實例與活動實例的狀態信息。

第二種,工作流相關數據。指與業務過程相關的數據,他們由應用程序或由用戶通過工作項處理來產生和更新,工作流引擎根據相關數據來確定過程實例的狀態轉移,例如過程調度決策數據、活動間的傳輸數據等。

第三種,組織/角色模型數據。是描述組織結構的數據,主要用于確定工作項的執行者。

第四種,工作表。列出了與工作流參與者相關的一系列工作項。 QQread.com 推出各大專業服務器評測 linux服務器的安全性能 SUN服務器 HP服務器 DELL服務器 IBM服務器 聯想服務器 浪潮服務器 曙光服務器 同方服務器 華碩服務器 寶德服務器 5 建模實例5.1 創建用例視圖 用例視圖從外部用戶的角度捕捉系統的行為。它將系統功能劃分為對活動者(系統的理想用戶)具有意義的事務。這些功能片被稱為用例。用例通過系統與一個或多個活動者之間的一系列消息描述了與活動者的交互。其活動者包括人員、其它的計算機系統和進程。 活動者用一個小人表示,活動者的名字標在這個小人的下方。用例用一個橢圓表示,用例的名字標在橢圓中或下方,用實線與同自身通信的活動者相連接。用例視圖對活動者,所感知的系統功能進行建模,目的是列舉活動者和用例,顯示活動者在每個用例中的參與情況。 a. 工作流執行子系統解析UML工作流治理系統(1)(圖二)圖1表示工作流執行子系統的用例圖。活動者包括WfClient(工作流客戶端)、Monitor(工作流監控端)、DefinitionDB(工作流定義數據庫)、EnactmentDB(工作流運行數據庫)、OrganizationDB(組織機構數據庫)、ApplicationDB(應用程序數據庫)、WorkItemDB(工作項數據庫)、ConfigFile(工作流系統配置文件)。這里,WfClient 作為接收用戶交互的界面部分,將用戶所作的行為,依照固定的規則,將請求送給工作流執行子系統進行處理。Monitor 作為接收系統治理員交互的界面部分,將系統治理員對系統作出的調整,發送給工作流執行子系統進行處理。其余的DefinitionDB 等活動者,負責將工作流執行子系統每一步的操作與狀態記錄到數據庫中, 以永久保存。用例包括ResourceLocate ( 資源定位)、EngineContainer ( 引擎容器)、ProcessDefLoad(定義裝載)、ProcessMonitor(過程監控)、Util(公用程序)。其中,EngineContainer 通過ResourceLocate 定位所有系統所用到的資源,表EngineContainer 用例使用ResourceLocate 用例,用帶有箭頭的實線表示。EngineContainer 不直接與用戶交互,活動者對工作流的參與都是通過ProcessMonitor 這個工作流執行子系統的入口來進行的。EngineContainer 通過ProcessDefLoad 將現有的工作流定義裝入,這樣才能運行該工作流,EngineContainer 用例與ResourceLocate 用例之間是使用關系。
這里僅給出用例ProcessMonitor 的具體功能分析。這些功能分析作為對ProcessMonitor 用例的注釋,不在用例圖上標識,只作為系統具體設計時的要點。對其余用例的分析方法與之類似。

過程監督服務器作為引擎容器的一部分,主要提供外部對引擎容器的運行狀況的監督,即對引擎當前運行狀況的查詢。 譬如,當客戶端或治理端需要了解引擎的運行狀況時,首先發出一個消息請求,消息服務器接受到該消息后對消息進行解釋,假如屬于查詢引擎的運行狀況,則調用監督服務部分提供的API(應用程序接口)對引擎進行查詢,然后將結果返回至請求者。 監督服務器處理的查詢請求根據請求對象的不同主要有如下內容: 引擎容器運行狀況的查詢;各引擎運行狀況的查詢;過程定義信息的查詢;過程實例信息的查詢;活動實例信息的查詢;工作項信息的查詢;同步命令請求的響應。b.工作流引擎解析UML工作流治理系統(1)(圖三)圖2表示工作流引擎的用例圖。其中的活動者包括EngineManager(引擎治理器)與LogFiles(日志文件)。EngineManager 負責控制工作流中所有元素的狀態,是工作流調度的核心。LogFiles 階段性將固定格式的文字記錄為日志,用以保存。這里的用例有ProcessControl(控制過程實例)、TransitionControl(控制轉移)、ActivityControl(控制活動)、WorkItemControl(控制工作項)、DanamaticModify(動態修改流程)、CreateLogfile(創建日志文件)。EngineManager 根據一定的條件,通過ProcessControl、TransitionControl、ActivityControl、WorkItemControl 與DanamaticModify,控制工作流各個組成元素的狀態,以達到控制工作流的目的。 c.過程監督解析UML工作流治理系統(1)(圖四)圖3表示過程監督用例圖。其中的活動者包括EnactmentDB(工作流運行數據庫)與engineContainer(引擎容器)。用例有EngineQuery(對引擎的查詢)、ProcessDefQuery(對過程定義信息的查詢)、EngineContainerQuery(引擎容器運行狀況的查詢)、ProcessInstanceQuery(對過程實例進行查詢)、ActivityInstanceQuery(對活動實例進行查詢)、WorkItemQuery(對工作項進行查詢)、TransitionQuery(對轉移信息查詢)。 這里僅對用例ProcessInstanceQuery 進行具體功能分析,對其余用例的分析方法與之類似。

ProcessInstanceQuery 是對系統中的過程實例進行查詢,主要包含如下內容:取得過程實例列表:得到系統中的所有過程實例的一個列表;從過程實例列表中取得一個過程實例的信息;根據給定的過程實例編號得到該過程實例的具體信息;關閉已經打開的過程實例列表;取得系統中過程實例的各種狀態的一個列表;根據給定的過程實例編號查詢其狀態;關閉打開的過程實例列表;取得系統中過程實例的各種屬性信息的列表。 QQread.com 推出各大專業服務器評測 Linux服務器的安全性能 SUN服務器 HP服務器 DELL服務器 IBM服務器 聯想服務器 浪潮服務器 曙光服務器 同方服務器 華碩服務器 寶德服務器 5.2 創建交互視圖 交互視圖描述了實現系統行為角色之間的消息交換序列。分類角色是對交互中充當非凡角色的對象的描述。交互視圖提供了系統中行為在全局的描述,顯示了多個角色間的控制流程。交互視圖用側重點不同的兩種圖來顯示:順序圖和協作圖。消息指角色間的單向通信,從發送者到接收者的攜帶信息的控制流。消息可能帶有角色間傳遞值的參數。

順序圖和協作圖均顯示了交互,但它們強調了不同的方面。順序圖顯示了時間順序,但角色間的關系是隱式的。協作圖表現了角色之間的關系,并將消息關聯至關系,但時間順序由于用順序號表達,并不十分明顯。每一種圖應根據主要的關注焦點而使用。 a.順序圖

順序圖表示了隨時間安排的一系列消息。每個分類角色顯示為一條生命線,代表整個交互期間上的角色。消息則顯示為生命線之間的箭頭。順序圖可以表達場景,即一項事務的特定歷史。 順序圖以二維圖表來顯示交互。縱向是時間軸,時間自上而下。橫向顯示了代表協作中單個對象的分類角色。每個對象用方框表示,對象的名字在方框內部,并在名字的下方加下劃線。每個分類角色表現為垂直列-生命線。在角色存在的時間內,生命線顯示為虛線;在角色的過程激活時間內,生命線顯示為雙線。 消息顯示為從一個角色生命線出發至另一個角色生命線的箭頭,箭頭用從上而下來的時間順序來安排。順序圖的一個用途是顯示用例的行為序列。當行為被實現時,每個順序圖中的消息同對象的操作或狀態機中遷移上的事件觸發相一致。解析UML工作流治理系統(1)(圖五)圖4 表示處理請求用例的順序圖。圖中五個方框分別表示五個對象:ProcessMonitor、EngineManager、Engine、EntactmentDB、Logfiles。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。

當ProcessMonitor 接收到用戶在界面上所作的操作后,將這些操作轉換為固定的命令請求,發送給EngineManager。EngineManager 再根據接收到命令的類別,將命令分發給不同的Engine。Engine 則具體執行相應的命令。Engine 執行完命令后,通知EntactmentDB 修改相應的數據。接下來,Engine 再通知Logfiles 將所作的操作記錄下來,以供以后查詢。最后,Engine 直接將結果返回給ProcessMonitor,由ProcessMonitor將結果包裝,顯示給用戶。
b.協作圖

協作圖對交互中存在意義的對象和鏈建模。對象和鏈僅在提供的上下文中存在意義。分類角色描述了對象,關聯角色描述了協作中的鏈。協作圖通過圖形的幾何排布顯示交互中的角色。消息顯示為附屬在連接分類角色的關系直線上的箭頭。消息的順序由消息描述前的順序號來表示。

協作圖的一個用途是表現操作的實現。協作顯示了操作的參數和局部變量,以及更永久性的關聯。當行為被實現時,消息的順序與程序的嵌套調用結構和信號傳遞一致。 解析UML工作流治理系統(1)(圖六)圖5表示對應于處理請求用例的協作圖。這個用例是由ProcessMonitor 接收用戶操作,再將這些操作轉換成固定的請求,發送給引擎執行而產生的。這個協作圖表現了處理請求用例所涉及的五個相關對象之間相互協作的關系。

5.3 創建狀態機視圖 狀態機視圖通過對一種對象的可能生命歷史進行建模,描述了對象在時間序列上的動態行為。每個對象被認為是通過檢測事件并對之響應來與外界進行通訊的孤立實體。事件表達了對象可以檢測的變動-對象間的調用或顯示信號、某個值的改變或時間的推移。任何影響對象的事物可以被描述成事件。真實世界發生的事情被建模成外部世界至系統的信號。 狀態指就某個特定類而言,對于發生的事件具有相同性質響應的一系列對象值。換言之,同一狀態的所有對象以相同的方式響應某個事件,即對于給定的所有對象在接收到同一事件時執行相同的動作。而不同狀態的對象可能對相同事件具有不同的響應,執行不同的動作。 狀態機包含由事件連接的狀態。每個狀態對對象生命期中的一段時間建模,該時間內對象滿足一定的條件。當事件發生時,它可能導致遷移的激發,使對象改變至新狀態。當遷移激發時,附屬于遷移的動作可 能被執行。狀態機在UML 中顯示為狀態圖。 在狀態機視圖中,狀態用帶圓角的長方形表示,初始狀態用實心填充的圓表示,結束狀態用實心填充的圓外套一個圓圈表示。解析UML工作流治理系統(1)(圖七)圖6 表示過程實例的狀態機視圖。從圖中可以看出,一個工作流定義的過程實例,在運行時可能有五種不同的過程,分別為初始狀態、就緒狀態、運行狀態、掛起狀態與結束狀態。 一個過程實例在初始時,均為初始狀態(initial state)。根據需要,某個過程實例被創建(create),成為就緒狀態(Ready)。隨后,用戶可以根據需要,選擇就緒狀態的過程實例進行啟動(start),被啟動的過程實例的狀態就變為運行狀態(Running)。處于就緒狀態和運行狀態的過程實例都可以通過取消操作(abort)轉變為結束狀態(end state)。處于運行狀態的過程實例,通過掛起操作(hold),可以轉變為暫時停止的掛起狀態(Holded),同時處于掛起狀態的過程實例也可以通過運行操作(run)轉變為運行狀態。掛起狀態與結束狀態的區別在于掛起狀態并不釋放所占用的資源,因而是可以恢復的。最后,一個處于運行狀態的過程實例假如運行完畢,通過完成操作(finish)轉變為結束狀態。 狀態機可以用于描述用戶界面、設備控制和其它交互式子系統。它們還可用于在生命期中經歷了若干特定階段,每個階段擁有非凡的行為的對象。 5.4 創建活動視圖活動視圖是用于顯示執行某個計算過程中的運算活動的狀態機的一種非凡形式。活動狀態代表了運算執行的狀態:流程的步驟或操作的執行。活動圖描述了順序和并發活動分組。活動視圖表達為活動圖。 活動圖包含活動狀態。活動狀態表現了過程中語句的執行或工作流中活動的運行。與一般等待狀態等待事件不同,活動狀態等待的是運算的結束。當活動結束時,執行處理到圖中的下一個活動。前一個活動結束時,活動圖中的結束遷移被激發。活動狀態通常沒有外部事件的遷移,但它們可以由外圍狀態的事件而被取消。 在活動圖中,用左右兩段是圓弧的長方形表示活動,用較粗的橫線表示活動的分發,用帶有箭頭的線表示活動處理的先后順序。 解析UML工作流治理系統(1)(圖八)圖7 表示用戶的操作活動圖。用戶在使用系統所提供的功能之前,首先應當登錄系統,也就是說,操作的第一步是登錄(login)。登錄之后,用戶可以在三種操作中任選一個執行:選擇過程定義(choose process define)、選擇過程實例(choose process instance)以及選擇工作項(choose workitem)。這三個活動的執行,沒有先后順序,完全由用戶進行選擇。 當用戶選擇了過程定義后,可以創建一個所選的過程定義的實例,也就是執行創建過程定義活動(create process define);當用戶選擇了一個過程實例后,根據這個過程實例狀態的不同,可以對這個過程實例進行終止(abort)、啟動(start)、掛起(hold)與運行(run)等操作,這些操作的執行是沒有先后順序的;當用戶選擇了一個工作項后,可以執行這個工作項,也就是做這個工作項的內容(do workitem)。 根據以上使用用例視圖、交互視圖、狀態機視圖以及活動視圖對工作流治理系統所應具有的功能層次進行的分析,對通用工作流治理系統要達到的目標,應當有了一個較為清楚的熟悉。而這些熟悉與理解,將為進一步的設計,奠定良好的基礎。 編輯推薦專題:UML統一建模語言(責任編輯:銘銘)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴城市| 兴城市| 太白县| 潞西市| 昌宁县| 冷水江市| 原阳县| 维西| 玉山县| 周至县| 嘉荫县| 安岳县| 房山区| 五寨县| 长泰县| 百色市| 荥经县| 肥东县| 邳州市| 伊宁市| 甘孜| 元阳县| 兰溪市| 洪泽县| 灵山县| 东方市| 教育| 武宁县| 浦县| 永登县| 海淀区| 喀喇沁旗| 攀枝花市| 买车| 铅山县| 南京市| 清苑县| 石门县| 孝昌县| 左权县| 正定县|