XPDL之流程定義元模型

2021-08-31 02:27:41 字數 3162 閱讀 3471

xpdl元模型定義了流程定義裡所包含的實體、它們的關係以及屬性,其中屬性不僅僅為了執行需要,很多屬性是為了統計與監控的需要。

2.8.1包(package

流程模型包含許多作用域大於流程定義的實體,例如參與者宣告、應用程式宣告和相關資料元素,它們可能被多個流程定義所引用。為了避免每個流程定義都重複定義這些實體,xpdl引入包的概念,包作為流程定義的容器,對流程定義按照關聯性進行分組。在包上定義的實體被其包含的流程定義繼承,同時,包能夠為所屬流程定義宣告一系列的通用屬性,例如作者、版本號、狀態等。

xpdl裡的包等價於bpmn裡的業務流程圖(

business process diagram)。

2.8.2泳道(swimlanes

泳道被用來對流程定義和活動進行布局。我們使用泳道在流程級別上定義參與者資訊(部門、公司),在活動級別上定義執行者資訊(角色、人員)。我們使用一系列非重疊的長方形來描述泳道,這些長方形稱為池(pool),同時,池又被細分為一系列的子泳道(lane)。如下圖2-6所示:

圖 2-6泳道

2.8.3流程定義(process definition)

流程定義是對流程的建模和描述,為流程中的其他實體提供上下文資訊。其屬性包括建立時間、作者、初始化引數、執行優先順序、時間約束、**資訊等。

2.8.4活動(activity

乙個流程包含乙個或多個活動,活動對應著流程裡的乙個工作單元。乙個典型的活動能被人力資源或計算機所執行。

xpdl的活動粒度比較粗,分為四類,分別對應bpmn裡的任務、子流程、閘道器和事件。如下圖2-7所示:

圖 2-7xpdl活動與bpmn的對映

2.8.5轉移線(transition)

活動之間通過轉移線連線。轉移線包括3個屬性:源活動、目標活動和條件。轉移線可以是有條件的(設定表示式),也可以是無條件的。

xpdl的轉移線對應於bpmn裡的順序流,如下圖2-8所示:

圖 2-8xpdl轉移線對應bpmn裡的順序流

2.8.6參與者宣告(participant declaration

描述執行流程和活動的資源。資源可以是單個人、也可以是角色、部門、還可以是自動執行的機器資源(例如印表機)。

2.8.7應用程式宣告(

活動可以呼叫的it系統、介面、web服務。bpmn使用內建的服務任務(service task)直接代表對應用程式的呼叫。

2.8.8人工產出物(artifact)

為流程附加額外的建模資訊,這些資訊不屬於基本的流程實體(活動、轉移線、訊息流),它們通過關聯與流程實體聯絡在一起。在bpmn裡,人工交付物包括3種型別(具體資訊參見10.3

節bpmn2.0元素介紹),如下圖2-9所示:

圖 2-9人工產出物

2.8.9訊息流(message flow

訊息流用來展示兩個參與者/流程之間的訊息流向。在bpmn中,用泳道中的池代表兩個參與者/流程。訊息流不能連線同乙個池中的活動。

圖 2-10訊息流

2.8.10關聯(association)

我們使用關聯將資訊、人工產出物與流程實體連線起來,為流程模型提供更多的資訊,它不影響流程的執行。如下圖2-11所示:

圖 2-11關聯

2.8.11相關資料元素(relevant data field

為流程定義執行過程中建立或使用到的資料,這些資料被活動、應用程式和流程中定義的各種表示式**移線條件計算、閘道器條件計算)所使用。

2.8.12資料型別與表示式(data types and expressions

定義相關資料元素、系統與環境資料、參與者資料的資料型別,這包括了一些標準型別,例如string、int、date等等,也包括了自定義的擴充套件。表示式被用於各種條件計算**移線、閘道器)以及給資料元素賦值。

2.8.13系統與環境資料system and environmental data

由工作流系統和外部環境所維護的資料,這些資料被流程在執行過程中使用。

2.8.14資源倉庫(resource repository

執行活動的資源可以是人、也可以是角色、部門、程式、還可以是自動執行的機器資源,所以我們使用資源倉庫將流程所涉及到的資源管理起來。資源倉庫包括了對組織機構建模的支援。

2.8.15廠商/使用者自定義擴充套件(vendor or user specific extensions

工作流系統廠商/使用者可以針對自己的業務需求對流程元素和屬性進行擴充套件。

MapReduce 之 流程敘述

maptask執行流程 執行流程文字表述 1 maptask呼叫fileinputformat的createrecordreader讀取分片資料。2 每行資料讀取一次,返回乙個,其中k是offset,v是這一行的內容。3 將交給maptask處理。4 每對呼叫一次map方法,然後呼叫context....

Python之流程管理

條件判斷 if 條件表示式 塊else 塊if 條件表示式 塊elif 條件表示式 塊elif 條件表示式 else 塊num int input 請輸入你的分數 if num 90 print 優秀 elif 80input 函式 while迴圈 while 條件表示式 塊else 塊while ...

Linux之流程判斷

if 條件 then 執行動作 else 執行動作 fi root sr vim if test.sh bin bash if ls root dev null then echo hello world else echo error fi用於檢測某個條件是否成立 可以進行數值 字元 檔案三個方面...