網(wǎng)路冷眼@BlogJava

          熙熙攘攘一閑人 以冷靜的眼光觀察技術(shù)
          posts - 88, comments - 193, trackbacks - 0, articles - 28
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          1.4 Introducing BPMN 2.0 from a developers viewpoint(從開發(fā)者的角度介紹BPMN 2.0

          To become familiar with the important constructs of BPMN, we’ll build up the detail level of modeling similar to the categorization of WfMC and Bruce Silver. First, we start with a high-level model example and then we dive into a more detailed process. Level 3 of the Bruce Silver categorization will be discussed in section 1.5, when we will implement our first process with the Activiti process engine.

          為了熟悉BPMN重要的構(gòu)件,我們將構(gòu)件和WfMC和Bruce Silver分類相似的詳細(xì)的建模層次。首先,我們以一個(gè)高層建模示例開始,而后我們專研一個(gè)更詳細(xì)的流程。Bruce Silver分類的層次將在節(jié)1.5討論,然后我們將用Activiti流程引擎實(shí)現(xiàn)第一個(gè)流程。

          1.4.1 High-level modeling with BPMN 2.0 (采用BPMN 2.0進(jìn)行高級(jí)建模)

          In section 1.1 we looked at a sample book order business process. In figure 1.1 the book order process was modeled without a real model notation. With the simple or level 1 palette in mind, we’ll take another look at the book order process and convert it into a real BPMN 2.0 business process model.

          節(jié)1.1,我們討論了一個(gè)訂書業(yè)務(wù)流程的示例。在圖1.1中,訂書流程的建模沒有采用實(shí)際的模型符號(hào)。采用簡(jiǎn)單的或者級(jí)別1調(diào)色板,我們將用另外的方式討論訂書流程,并將它轉(zhuǎn)換成BPMN 2.0的業(yè)務(wù)流程模型。

          This means that we have to add a more formal notation to describe the book order process. So in the BPMN 2.0 book order process we’ll use start and end events, parallel gateways, pools and tasks. Figure 1.7 shows the book order process modeled with a simple subset of the BPMN 2.0 palette.

          這意味著我們不得不增加正式符號(hào)描述訂書流程。所以,在BPMN 2.0訂書流程,我們將使用開始和結(jié)束事件,并行網(wǎng)關(guān),泳池和任務(wù)。圖1.7展示了采用一個(gè)BPMN2.0調(diào)色板子集建模的訂書流程。

          clip_image002[4]  

          Figure 1.7 A high level BPMN 2.0 model describing the book order process with a simple subset of the BPMN 2.0 construct palette.

          圖 1.7 采用BPMN 2.0 構(gòu)件調(diào)色板簡(jiǎn)單子集描述訂書流程的高級(jí)BPMN 2.0模型

           

          Before discussing the process in more detail let’s first look at the individual BPMN 2.0 constructs in table 1.1.

          在詳細(xì)討論流程之前,讓我們首先看看表1.1中的單個(gè)BPMN 2.0構(gòu)件 

           

          Table 1.1 Overview of the BPMN 2.0 constructs used in figure 1.7.

          表1.1 在圖1.7中使用的BPMN 2.0構(gòu)件的概貌

          BPMN 2.0 icon

          BPMN 2.0 name

          Description

          clip_image013

          Start event

          開始事件

          A start event is the trigger to start a new process instance.

          開始事件是啟動(dòng)一個(gè)新流程實(shí)例的觸發(fā)器

          clip_image011

          End event

          結(jié)束事件

          An end event is the last step before the process instance is completed. The end event has a thicker circle border line than the start event.

          結(jié)束事件是流程實(shí)例完成之前的最后一步。結(jié)束事件的邊線要比開始事件要粗。

          clip_image009

          Pool

          泳池

          A pool represents the container for the activities of a process. Best practice is to use the process name for the pool name.

          泳池表示流程活動(dòng)的容器。使用流程名作為泳池名是最佳實(shí)踐。

          clip_image002

          Lane

          泳道

          A lane represents a role within a process model. In most cases this is a organizational unit or a role definition.

          泳道代表流程模型里的角色。在大多數(shù)情況下,這是一個(gè)組織單元或者角色定義。

          clip_image007

          Task

          任務(wù)

          A task is a piece of work that has to be executed as part of the process definition. A task can be an automated activity or a manual activity.

          任務(wù)是作為流程定義部分可執(zhí)行工作的片段。任務(wù)既可為自動(dòng)任務(wù),也可為人工任務(wù)。

          clip_image003

          Parallel gateway

          并行網(wǎng)關(guān)

          A parallel gateway is used to indicate that activities can be executed simultaneously or that all incoming activities must be completed before the process progresses to the next activity.

          并行網(wǎng)關(guān)用來指示可同時(shí)執(zhí)行的活動(dòng),或者在流程行進(jìn)到下個(gè)活動(dòng)的所有傳入活動(dòng)。

          clip_image005

          Exclusive gateway

          排他網(wǎng)關(guān)

          An exclusive gateway is used for conditional logic. Based on a condition only one of the outgoing sequence flows will be followed.

          排他網(wǎng)關(guān)用來處理?xiàng)l件邏輯。基于條件,只有一個(gè)傳出順序流得到執(zhí)行。

          clip_image001

          Message flow

          消息流

          A message flow is used to send a signal or message from one pool to another. It may not be used to connect activities within one pool.

          消息流用來從一個(gè)泳池到另一個(gè)泳池發(fā)送信號(hào)或者消息。它不可以在一個(gè)泳池連接活動(dòng)。

          clip_image014

          Sequence flow

          順序流

          A sequence flow connects activities, gateways and events to each other within one pool. It therefore represents the orchestration of the process definition.

          順序流連接在同一個(gè)泳池里的活動(dòng),網(wǎng)關(guān)和事件。所以它代表了流程定義的編排。

             

          Now we know the meaning of the individual BPMN 2.0 constructs let’s walk through the full process model. One of the eye-catching differences between the model we’ve drawn in section 1 and figure 1.7 is the use of pools and lanes. In figure 1.7 there are three pools: Customer, Book store and Publisher. The pools describe the different roles that perform activities in the business process. In the book store pool there are two lanes that characterize the different organizational units within the book store. Because in this example the bookstore is a small company, there’s only a sales and an inventory organizational unit.

          既然我們知道單個(gè)BPMN 2.0構(gòu)件的意義,讓我們遍歷全部的流程模型。在我們于圖1.7中所繪的模型使用了泳池和泳道。圖1.7有三個(gè)泳池:客戶,書籍和出版商。泳池是業(yè)務(wù)流程中執(zhí)行活動(dòng)的不同角色。在書店泳池里有兩個(gè)泳道,對(duì)書店里不同的兩個(gè)組織單元進(jìn)行特性化。因?yàn)楸臼纠校瑫晔且粋€(gè)小公司,所以只有銷售和庫房?jī)蓚€(gè)組織單元。

          In this business process model we focus on the book store, but we could also include the process activities that are necessary for the publisher to complete the order process. The process is started with a order request by a customer, which is pictured here as a message flow (the dashed line) initiating a start event (a circle).

          在業(yè)務(wù)流程模型中,我們關(guān)注書店,但也包括為出版商完成訂單流程的流程活動(dòng)。流程由一個(gè)客戶啟動(dòng)。在此繪制為一個(gè)消息流(虛線)來啟動(dòng)一個(gè)開始事件(一個(gè)圓圈)。

          When the process is started two tasks should be completed, which are the process payment and the check stock tasks. These tasks can be executed in parallel and therefore a parallel gateway is modeled after the start event. After the stock is checked an exclusive gateway is used for the conditional logic of the book being in stock or not. When the book is not in stock it’s ordered from the publisher by an additional task.

          當(dāng)流程啟動(dòng)時(shí),應(yīng)當(dāng)完成兩個(gè)任務(wù)。它們是支付任務(wù)和存貨檢查任務(wù)。因?yàn)檫@些任務(wù)可以并行執(zhí)行,所以在開始事件之后,建模為平行網(wǎng)關(guān)。在存貨檢查之后,用一個(gè)排他網(wǎng)關(guān)進(jìn)行書籍是否有庫存的條件邏輯的判斷。當(dāng)書籍沒有庫存,則通過另外的任務(wù)從出版商訂貨。

          When the book is in stock, either because it was already or by an extra order via the publisher, the book is ready for shipment. But before the book will be shipped we must be sure that the payment has been successfully completed. So a parallel gateway is used to join the tasks, meaning that the process will go further before these tasks have been completed.

          當(dāng)書籍有庫存,或者是因?yàn)闀褱?zhǔn)備就緒,或者是因?yàn)橥ㄟ^出版商的額外訂貨,書籍可以準(zhǔn)備發(fā)貨。但是,在書籍發(fā)貨之前,我們必須確定支付已成功完成。所以并行網(wǎng)關(guān)用來聚合任務(wù)。在這些任務(wù)完成之前,將會(huì)向前推進(jìn)。

          After the parallel gateway two additional tasks are executed that ship the book to the customer and inform the customer about the arrival date before the process is completed by an end event. As you see the high level model doesn’t contain stuff like error handling or the definition of the type of a task. That’s what we will add in the next section.

          在兩個(gè)額外任務(wù)的并行網(wǎng)關(guān)執(zhí)行之后,在通過一個(gè)結(jié)束事件完成流程之前,把書籍發(fā)送給客戶,并通知客戶到貨的日期。正如你所見,高級(jí)模型并不包括錯(cuò)誤處理或者任務(wù)類型定義之類的事情。那是我們?cè)谙鹿?jié)討論的內(nèi)容。

          主站蜘蛛池模板: 彰化县| 巴楚县| 全椒县| 玛多县| 长葛市| 高邮市| 原平市| 宜春市| 东兴市| 东台市| 南丹县| 潜山县| 永登县| 子长县| 会宁县| 东台市| 抚顺县| 吕梁市| 新沂市| 临邑县| 兴仁县| 巴塘县| 南丹县| 通州市| 且末县| 吉安市| 宿松县| 昌都县| 若羌县| 三门县| 甘谷县| 奉化市| 永川市| 永城市| 关岭| 阿拉善右旗| 浙江省| 道孚县| 拉孜县| 巴彦县| 雷山县|