




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、流程驅(qū)動的服務(wù)化軟件開發(fā)環(huán)境OnceBPD用戶手冊修訂記錄版本日期作者章節(jié)描述0.12008-11-07SOA組全部創(chuàng)建OnceBPD用戶手冊目錄1.引言31.1.編寫目的31.2.手冊讀者31.3.定義32.簡介52.1.關(guān)于OnceBPD5概述5OnceBPD的優(yōu)點(diǎn)5OnceBPD面向的用戶63.流程設(shè)計與轉(zhuǎn)換73.1.關(guān)于流程設(shè)計7規(guī)劃流程7流程布局8流程建模8設(shè)定屬性9模型轉(zhuǎn)換9部署和運(yùn)行流程9監(jiān)控信息的可視化顯示93.2.創(chuàng)建流程圖表9創(chuàng)建新工程10創(chuàng)建新流程11使用菜單13圖形編輯工具欄153.3.設(shè)定屬性21設(shè)置流程屬性21設(shè)置服務(wù)屬性25設(shè)置活動結(jié)點(diǎn)屬性26設(shè)置轉(zhuǎn)移條件屬性30
2、4.案例介紹324.1.業(yè)務(wù)需求建模324.2.服務(wù)屬性設(shè)置334.3.流程模型轉(zhuǎn)換364.4.流程部署474.5.流程的運(yùn)行與監(jiān)控485.客戶服務(wù)536.版權(quán)信息531. 引言1.1. 編寫目的本手冊旨在幫助使用OnceBPD的業(yè)務(wù)流程設(shè)計人員了解使用OnceBPD工具設(shè)計業(yè)務(wù)流程的步驟及相關(guān)細(xì)節(jié)。1.2. 手冊讀者本文檔主要適用于那些為企業(yè)創(chuàng)建業(yè)務(wù)流程的流程設(shè)計者。流程所有者(如果不是流程設(shè)計者)也可以通過閱讀本文檔以獲得有關(guān)流程設(shè)計的信息。應(yīng)用設(shè)計者和業(yè)務(wù)流程設(shè)計者可以從本文檔中了解到OnceBPD是如何創(chuàng)建流程的。1.3. 定義下面列出了OnceBPD中使用的大部分重要概念和術(shù)語。它們
3、是按邏輯順序組織的。l 流程建模 - 按業(yè)務(wù)規(guī)則路由工作以及指定活動內(nèi)容和服務(wù)的方法和方式。l 流程 - 表示描述工作流的活動和路由規(guī)則,以及完成每個活動的服務(wù)資源的信息。l 服務(wù) - 為了達(dá)到特定目的而實施的單一過程。例如,使用采購訂單請求過程來啟動一項服務(wù),以獲得一份為特定職員購買新計算機(jī)的采購訂單。l 活動 - 一個工作單元,表示流程中的一個步驟。在流程圖中,活動用節(jié)點(diǎn)表示?;顒雍头?wù)綁定在一起,當(dāng)流程執(zhí)行到某個活動時,流程引擎會自動調(diào)用和活動相關(guān)聯(lián)的服務(wù)。完成活動后,流程引擎會繼續(xù)執(zhí)行流程,路由到下一個活動。BPMN介紹2004年,BPMI(Business Process Model
4、ing Integration)組織提出了業(yè)務(wù)流程建模符號(Business Process Modeling Notation,BPMN),統(tǒng)一定義了各種元素的圖形表示,便于業(yè)務(wù)人員的理解。另外,在軟件工具支持下BPMN還能夠轉(zhuǎn)化成可執(zhí)行語言如BPEL,進(jìn)而由流程引擎直接運(yùn)行。這樣,提高了開發(fā)的抽象層次,不同的人員能夠工作在自己擅長的抽象層次,緊密合作,提高了工作效率。在2006年2月,BPMN被OMG(Object Modeling Group)組織接受為正式標(biāo)準(zhǔn),加速了其在業(yè)務(wù)流程可視化建模方向的發(fā)展。BPMN定義了出現(xiàn)在業(yè)務(wù)流程中的各種元素的圖形表示和屬性,BPMN使用四類基本建模符號
5、建模業(yè)務(wù)流程,即組織責(zé)任區(qū)、流對象、連接對象和自定義對象。BPEL業(yè)務(wù)流程執(zhí)行語言WS-BPEL(Web Services Business Process Execution Language)是專為整合Web服務(wù)而定制的一項規(guī)范標(biāo)準(zhǔn)。它是IBM的WSFL和Microsoft的XLANG的結(jié)合,目前已經(jīng)成為業(yè)界的規(guī)范標(biāo)準(zhǔn),新版本W(wǎng)S-BPEL2.0即將獲得OASIS標(biāo)準(zhǔn)組織通過。WSFL支持圖形化的流程,而XLANG在結(jié)構(gòu)化語言構(gòu)造方面有獨(dú)到之處,而BPEL融合了這兩者的優(yōu)點(diǎn),同時摒棄了一些復(fù)雜繁瑣的部分,形成了一個較為自然地表達(dá)可執(zhí)行業(yè)務(wù)流程的描述語言。本文檔會被新的改進(jìn)和信息所更新,有關(guān)
6、本文檔的最新版本,請訪問中國科學(xué)院軟件研究所軟件工程技術(shù)研究開發(fā)中心網(wǎng)站,以及開放網(wǎng)絡(luò)計算環(huán)境網(wǎng)站。2. 簡介2.1. 關(guān)于OnceBPD流程驅(qū)動的服務(wù)化軟件開發(fā)環(huán)境(ONCE Business Process Designer, Once BPD)作為一個面向服務(wù)的業(yè)務(wù)流程設(shè)計平臺,為業(yè)務(wù)流程的設(shè)計、轉(zhuǎn)換、部署、監(jiān)控管理提供了可視化的設(shè)計開發(fā)平臺,支持基于BPMN規(guī)范的業(yè)務(wù)流程圖形化設(shè)計,支持基于QoS信息的web服務(wù)自動檢索及服務(wù)內(nèi)容解析,支持業(yè)務(wù)流程模型與可執(zhí)行的流程描述語言BPEL之間的相互轉(zhuǎn)換,支持流程的自動部署,以及圖形化流程監(jiān)控。2.1.1. 概述下面簡要介紹 OnceBPD的一
7、些基本原理。用粗體表示的術(shù)語是 OnceBPD用到的一些基本詞匯。OnceBPD中的建模工具用于設(shè)計系統(tǒng)的流程(或一組活動)。這些流程是在工作流引擎中運(yùn)行的流程實例的模版?;顒邮墙.嫴贾械墓?jié)點(diǎn),而節(jié)點(diǎn)間的連接則指定路由關(guān)系,這些路由關(guān)系決定了控制流從一個活動到下一個活動所采取的路徑。連接可能會通過路由節(jié)點(diǎn),以顯示并行或者排他性選擇。活動建模定義了每個活動綁定的服務(wù)、活動的局部變量、活動的執(zhí)行者、最后期限和路由條件等。設(shè)計和實現(xiàn) ONCE BPD流程幾乎不需要編程。ONCE BPD中的流程建模工具(以下簡稱建模工具)用于創(chuàng)建流程和定制活動。流程是要完成的某類特定工作的設(shè)計圖。流程實例是運(yùn)行在工
8、作流引擎中用以完成特定工作的實例。流程實例的啟動和執(zhí)行由組織中的個人或其他應(yīng)用、程序或自動活動來完成,并按照為組織設(shè)計的各種流程實現(xiàn)特定的目標(biāo)。流程實例所有者可以監(jiān)控,跟蹤有關(guān)流程實例執(zhí)行進(jìn)度的狀態(tài),并在偏離計劃時進(jìn)行干預(yù)。每個活動都可以由組織中的個人申請并執(zhí)行,也可以根據(jù)為該活動定義的屬性來自動執(zhí)行。當(dāng)每個活動完成后,引擎負(fù)責(zé)將其路由至下一個活動,依此類推,直到完成整個工作。2.1.2. OnceBPD的優(yōu)點(diǎn)OnceBPD的主要優(yōu)點(diǎn)表現(xiàn)在以下幾個方面:l 加快工作速度采用工作流,可以提高組織的運(yùn)作效率。通過對組織中關(guān)鍵業(yè)務(wù)的建模,組織能夠更有效的執(zhí)行這些業(yè)務(wù)。另外,包含在流程定義中的說明和路
9、由條件可以確保建模時的靈活性。l 增強(qiáng)過程控制如果工作流程和規(guī)則只是記在工作人員的頭腦中,將很難保證一致性和質(zhì)量。OnceBPD可以是一個強(qiáng)大的知識管理工具,不僅可以使組織的工作流程標(biāo)準(zhǔn)化,同時也可以很靈活地修改和改進(jìn)工作流程。l 改善客戶服務(wù)當(dāng)您組織的工作流程已經(jīng)標(biāo)準(zhǔn)化,并且可以更快地完成工作時,您的客戶 - 無論是內(nèi)部客戶還是外部客戶 - 將是受益者。您可以設(shè)計工作流,轉(zhuǎn)換到業(yè)務(wù)流程執(zhí)行語言BPEL,并可以在BPEL引擎中部署和運(yùn)行。2.1.3. OnceBPD面向的用戶OnceBPD的用戶是組織中的個人和群組,他們需要管理、設(shè)計或執(zhí)行在組織中支持不同業(yè)務(wù)流程的工作。工作流參與者(有時簡稱
10、為用戶)按照說明完成活動。3. 流程設(shè)計與轉(zhuǎn)換3.1. 關(guān)于流程設(shè)計設(shè)計一個流程包括若干操作。雖然不同的流程設(shè)計者設(shè)計流程的方法各不相同,但以下討論會對您有所幫助。具體操作包括規(guī)劃流程,流程布局,設(shè)定屬性,部署流程等。3.1.1. 規(guī)劃流程設(shè)計流程的來源包括現(xiàn)有的書面程序、組織中的經(jīng)理或上級的指示、您自己的想法等等。通常,規(guī)劃階段涉及組織中不同部門的個人和角色。除了流程設(shè)計者以外您還可以擔(dān)當(dāng)一個或多個其他角色。但作為流程設(shè)計者,您必須創(chuàng)建OnceBPD流程的基本結(jié)構(gòu)。您需要考慮以下幾個方面:l 此流程的“產(chǎn)品”是什么? 可能是采購訂單;招聘、定向及培訓(xùn)新雇員所需的文檔和事件的組合方案;新部件的
11、機(jī)械圖;用于組裝產(chǎn)品的可用組件的庫存情況或其他情況。l 每個步驟由誰負(fù)責(zé)? 基本步驟及其所有者是相互依存的。流程中的基本步驟(OnceBPD中的一個“活動”)應(yīng)該有一個在組織中易于識別的所有者。此活動所有者可以是組織中的個人,但最好通過工作組、角色或部門來標(biāo)識活動所有者。l 哪些活動可以自動執(zhí)行? 某些流程步驟可以不需要活動所有者而自動執(zhí)行,例如,發(fā)送郵件、在數(shù)據(jù)庫中進(jìn)行搜索等等。l 誰可以啟動流程? 啟動者是一類特殊的活動所有者,他們可以領(lǐng)取第一個活動。但是第一個活動不一定是工作的起點(diǎn)。流程可以由外部事件啟動:在應(yīng)用程序中填寫表單(基于API調(diào)用的啟動)或者在 Web 頁面上填寫表單(基于郵
12、件的啟動)。您需要與應(yīng)用設(shè)計者(可能還有組織中的其他人)合作來實現(xiàn)從 OnceBPD外部啟動工作的方法。l 工作的邏輯流程是什么? 請考慮以下因素:執(zhí)行順序(某些事件必須先于其他事件發(fā)生)、條件分支(根據(jù)前一個活動的輸出,從多個活動中選擇一個)、并行活動(不同的人同時執(zhí)行兩個獨(dú)立的步驟)、時間設(shè)置(最后期限、逾期如何處理)等等。l 此流程屬于一個還是多個大流程? 現(xiàn)在可以考慮流程的某些部分如何在其他流程中重復(fù)使用的問題。通過創(chuàng)建子流程,可以使您的工作流更標(biāo)準(zhǔn)、更易于維護(hù)。OnceBPD非常靈活,很容易對已有流程進(jìn)行修訂。3.1.2. 流程布局可以將 OnceBPD建模工具作為功能強(qiáng)大而且直觀的
13、“便箋本”,用來對工作流流程進(jìn)行布局。您可以快速勾勒出流程的基本步驟和控制邏輯,即在圖表中標(biāo)出各個節(jié)點(diǎn),而先不指定屬性。布局后的流程圖可以保存為BPMN模型文件和圖形文件到工作區(qū)中。日后需要修改流程或設(shè)置屬性時,可以直接在OnceBPD中打開圖形文件,完成修改后再保存起來。3.1.3. 流程建模流程建模是OnceBPD中的核心功能,用于完成流程的建模以及服務(wù)屬性的設(shè)置工作。圖 Once BPD的流程建模界面圖3.1顯示的是OnceBPD的流程建模界面,它主要分為以下幾個視圖:l 工程視圖,用于顯示BPMN工程,包括BPMN模型文件,圖形文件,轉(zhuǎn)換后生成的BPEL和WSDL文件。l 流程設(shè)計視圖
14、,是流程圖形化建模的畫板,用戶可以直觀的以圖形化方式來設(shè)計流程。l 流程瀏覽視圖,用于瀏覽流程設(shè)計圖。l 屬性視圖,顯示屬性,用戶可以更改屬性值。l 建模工具提供了三類快捷的可視操作工具欄。l 流程元素工具箱,提供了一組流程元素,可以在流程圖形化建模的過程中選擇適合的元素進(jìn)行繪制,例如,流程的活動節(jié)點(diǎn)元素。l 工程工具欄,提供了對流程工程的基本管理操作。l 視圖工具欄,提供了對流程視圖的縮放和整體移動的便捷操作。3.1.4. 設(shè)定屬性每個流程、活動和路由關(guān)系都具有某些屬性。一旦在建模工具的流程窗口中創(chuàng)建了流程草圖,您就可以開始指定以下屬性:流程級的變量、流程的消息、活動綁定的服務(wù)等等。3.1.
15、5. 模型轉(zhuǎn)換對于設(shè)計好的BPMN流程,可以點(diǎn)擊轉(zhuǎn)換按鈕進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換后生成相應(yīng)的BPEL流程,包括BPEL文件和WSDL文件,可以直接部署和執(zhí)行。對于已有的BPEL流程,沒有對應(yīng)的BPMN圖形流程,您還可以將BPEL流程逆向轉(zhuǎn)換到BPMN流程,在OnceBPD中顯示。3.1.6. 部署和運(yùn)行流程在流程設(shè)計完成并轉(zhuǎn)換為BPEL后,您可以將其部署和運(yùn)行到BPEL引擎上。這意味著此流程定義將被保存到中央數(shù)據(jù)庫中,并且組織中的個人可以通過接口調(diào)用它完成特定服務(wù)。部署在中央數(shù)據(jù)庫中的流程可以通過Web服務(wù)的方式被組織外其他用戶所訪問。同時,部署為Web服務(wù)的流程能夠作為服務(wù)被某活動綁定,從而實現(xiàn)了流程
16、的嵌套。3.1.7. 監(jiān)控信息的可視化顯示當(dāng)BPEL流程在OnceBPEL引擎中執(zhí)行時,OnceBPD可以接收引擎發(fā)送的監(jiān)控消息,然后顯示流程實例列表及其狀態(tài),并在BPMN流程圖中更新相應(yīng)的活動狀態(tài),使用戶可以可視化的監(jiān)控流程的執(zhí)行。3.2. 創(chuàng)建流程圖表可以通過查看工程視圖中已有的范例流程,來熟悉流程圖表的外觀以及圖形元素協(xié)同工作的方式。如果只使用測驗用的范例流程,您可以新建一個BPMN文件,進(jìn)行自由地進(jìn)行練習(xí)。 學(xué)習(xí)使用工具要創(chuàng)建和使用流程圖表,需要了解如何使用 建模工具中的菜單和工具。在學(xué)習(xí)流程圖表的過程中,您需要了解以下主題:l 創(chuàng)建新工程l 創(chuàng)建新流程l 輔助功能l 使用菜單l 使用
17、工具欄l 設(shè)定屬性3.2.1. 創(chuàng)建新工程首先需要創(chuàng)建空的流程工程來存放流程,請在工程視圖中點(diǎn)擊右鍵菜單中的“New”- “Project.”,進(jìn)入新建向?qū)ы撁妫簣D 新建工程,輸入工程名輸入工程名字后,點(diǎn)擊“next”按鈕,進(jìn)入下一頁面,選擇此工程要引用的工程:圖 新建工程,選擇引用工程點(diǎn)擊“Finish”按鈕,完成工程創(chuàng)建。3.2.2. 創(chuàng)建新流程在已經(jīng)創(chuàng)建好的流程工程來建立新流程。請在工程視圖中選中某流程工程,點(diǎn)擊右鍵菜單中的“New”- “BPMN”,進(jìn)入新建向?qū)ы撁妫簣D 新建流程向?qū)?默認(rèn)創(chuàng)建到選中的工程下面,當(dāng)然此處也可以更改,在“File name”處輸入文件名,如果不需要設(shè)置流程
18、名字,則可直接點(diǎn)擊“Finish”按鈕完成,否則點(diǎn)擊“Next”按鈕,進(jìn)入下一向?qū)ы撁妫簣D 新建流程向?qū)?初始化流程信息,包括輸入流程名和選擇流程類型。點(diǎn)擊“Finish”完成。3.2.3. 使用菜單在建模工具屏幕的頂部是一系列下拉菜單。通過這些菜單您可以使用 OnceBPD 建模工具的一部分功能。以下主題將繼續(xù)說明這些菜單項:“文件”菜單“流程編輯輔助”菜單文件菜單 “文件”菜單(圖3.2.5)控制所有與整個文件有關(guān)的操作,包括打開、關(guān)閉、轉(zhuǎn)換等。圖 文件菜單l “Open Project”用于打開選中的處于關(guān)閉狀態(tài)的工程。l “Save”用于保存編輯過的文件。l “Translate”用于
19、將當(dāng)前正在編輯的BPMN流程轉(zhuǎn)換為BPEL,生成bpel文件和wsdl文件。l “Open Monitor”用于打開監(jiān)控器。l “Close Monitor”用于關(guān)閉監(jiān)控器。l “Search Web Service”用于打開指定的web服務(wù)資源庫的檢索頁面。l “ESB Configuration”用于打開指定的ESB服務(wù)器管理控制臺頁面。l “Exit”用于退出OnceBPD。流程編輯輔助菜單當(dāng)打開BPMN圖形編輯窗口時,菜單會增加“Diagram”這項,菜單(圖3.2.6)下各個菜單項對應(yīng)“流程編輯輔助工具欄”(圖3.2.7)各個圖標(biāo)的功能。菜單列出了流程編輯的若干輔助功能。l “Sel
20、ect All”用于選擇所有圖形結(jié)點(diǎn)。l “Arrange All”用于將選擇的圖形結(jié)點(diǎn)重新排列。l “Align”和“Order”用于處理結(jié)點(diǎn)的排列。l “Auto Size”和“Make Same Size”用于處理圖形結(jié)點(diǎn)的大小。l “View”用于改變編輯窗口的背景顯示。l “Zoom”用于改變視圖的顯示比例。圖 流程編輯輔助菜單圖 流程編輯輔助工具欄3.2.4. 圖形編輯工具欄只需單擊工具欄上的按鈕即可進(jìn)行圖形編輯。鼠標(biāo)左鍵點(diǎn)擊工具欄中所需要圖形的按鈕,再到編輯窗口內(nèi)相應(yīng)位置再點(diǎn)一次鼠標(biāo)左鍵,圖形結(jié)點(diǎn)即出現(xiàn)在編輯窗口內(nèi)。圖 流程編輯工具欄l “Note”用于添加注釋信息。圖 流程編輯
21、工具欄l “Swimlanes”用于添加泳池(Pool)和泳道(Lane),以存放圖形結(jié)點(diǎn)。創(chuàng)建圖形文件時已經(jīng)默認(rèn)創(chuàng)建了一個Pool,Pool中包含一個Lane。若還需添加Pool,點(diǎn)擊工具欄Pool按鈕,再點(diǎn)擊編輯窗口空白處,彈出提示框輸入name,點(diǎn)擊完成,則創(chuàng)建好了一個Pool,點(diǎn)擊Pool的最左端的名字,可以修改Pool的名字。這與創(chuàng)建流程時的提示輸入名字框類似,不同的是,這里創(chuàng)建的Pool內(nèi)部不生成Lane。圖 創(chuàng)建Pool若需增加Lane,點(diǎn)擊工具欄中的按鈕,再點(diǎn)擊Pool的深色部分,則Lane就增加好了,點(diǎn)擊Lane的左側(cè)可以增加和更改Lane的名字。若存在多個Lane,需調(diào)整各
22、個Lane的大小,拖動更改Pool的大小或者調(diào)整Lane分界線。圖 創(chuàng)建Pooll “Task”用于添加各類型任務(wù)Task結(jié)點(diǎn),點(diǎn)擊工具欄中task標(biāo)簽行后面的向下小箭頭,彈出如下task的類型展示框:圖 task各類型結(jié)點(diǎn)選擇一個,然后點(diǎn)擊編輯窗口,則可添加相應(yīng)類型的task結(jié)點(diǎn)。ServiceTask:調(diào)用一個服務(wù),并返回結(jié)果;ReceiveTask:從其他實體接收一個消息;SendTask:發(fā)送一個消息到其他實體;NoneTask:主要用于Assign活動。圖 四種主要類型的task結(jié)點(diǎn)l “SubProcess”用于添加子流程結(jié)點(diǎn),點(diǎn)擊工具欄中SubProcess標(biāo)簽行后面的向下小箭頭
23、,彈出如下SubProcess的類型展示框:圖 subProcess結(jié)點(diǎn)類型EmbededSubProcess:嵌入子流程,其中包含了其他活動(包括另一個子流程),將一個子流程封裝成一個task的形式;下面就是該子流程的圖形結(jié)點(diǎn):圖 子流程的圖形結(jié)點(diǎn)EmbededSubProcess分為擴(kuò)展?fàn)顟B(tài)和收縮狀態(tài),處于擴(kuò)展?fàn)顟B(tài)時才能在其中添加其他活動結(jié)點(diǎn)。在擴(kuò)展?fàn)顟B(tài)下,點(diǎn)擊其他結(jié)點(diǎn),鼠標(biāo)移至子流程范圍內(nèi),點(diǎn)擊鼠標(biāo)左鍵,則活動可以在子流程中生成。下圖是添加好了活動的子流程擴(kuò)展視圖。右上角的紅色按鍵是用于狀態(tài)切換,若當(dāng)前是擴(kuò)展?fàn)顟B(tài),點(diǎn)擊后為收縮狀態(tài),反之亦然。右下角的按鍵用于將擴(kuò)展?fàn)顟B(tài)視圖縮小至適應(yīng)內(nèi)部節(jié)
24、點(diǎn),可以根據(jù)內(nèi)部結(jié)點(diǎn)自動調(diào)節(jié)子流程的大小。圖 EmbededSubProcess的擴(kuò)展?fàn)顟B(tài)圖 EmbededSubProcess的收縮狀態(tài)需要注意的是:如果子流程內(nèi)部還有子流程結(jié)點(diǎn),那么收縮子流程之前,必須保證內(nèi)部子流程都處于擴(kuò)展?fàn)顟B(tài),否則無法保存完整內(nèi)部信息。l “Event”用于添加事件發(fā)生結(jié)點(diǎn),Event分為三種類型:StartEvent,EndEvent和IntermediateEvent。點(diǎn)擊工具欄中IntermediateEvent標(biāo)簽行后面的向下小箭頭,彈出如下相應(yīng)的Event的類型展示框:圖 IntermediateEvent的類型所有的事件類型包括:Message(接收消息觸
25、發(fā)事件), Timer(計時觸發(fā)事件), Error(錯誤觸發(fā)事件), Cancel(取消觸發(fā)事件), Compensation(補(bǔ)償觸發(fā)事件)。StartEvent包含類型:None,Message;EndEvent包含類型:None;IntermediateEvent包含類型: Message,Timer,Error,Cancel,Compensation。下圖是Event圖形結(jié)點(diǎn)的例子:圖 Event的圖形結(jié)點(diǎn)l “Gateway”用于添加路由以控制流程運(yùn)行,工具欄中顯示了四種不同類型的Gateway:圖 Gateway的四種類型Exclusive (XOR) Gateway:異或路由,
26、如果是Split(分支),則只能選擇其中的一條路徑往后執(zhí)行;如果是Join(匯聚),則只能有一條路徑到達(dá)此路由。Inclusive (OR) Gateway:或路由,如果是Split(分支),則選擇其中一條或多條路徑往后執(zhí)行;如果是Join(匯聚),則可以有一條或多條路徑到達(dá)此路由。Parallel (AND) Gateway:并發(fā)路由,如果是Split(分支),將后續(xù)所有路徑并發(fā)執(zhí)行;如果是Join(匯聚),則所有到達(dá)此路由的路徑必須是并發(fā)執(zhí)行的,在此路由匯聚為一條路徑。Event Exclusive (XOR) Gateway:事件異或路由,只能是Split(分支),只能選擇其中一條路徑往
27、后執(zhí)行,且后續(xù)路徑由事件來啟動,根據(jù)到達(dá)事件的不同來選擇路徑。它對應(yīng)的匯聚路由為Exclusive (XOR) Gateway。下圖是Gateway圖形結(jié)點(diǎn)的例子:圖 Gateway的圖形結(jié)點(diǎn)l “Artifacts”用于添加注釋和劃分group,以助于業(yè)務(wù)人員溝通和理解。l “Connections”用于添加結(jié)點(diǎn)之間的連接線,工具欄中顯示了兩種不同類型的Connection:圖 Connections的兩種類型Sequence Flow:用于表示流程執(zhí)行的路徑,只能連接同一Pool中的結(jié)點(diǎn);Message Flow:用于表示流程之間的消息傳遞,用于連接不同Pool之間的結(jié)點(diǎn),與流程執(zhí)行路徑無
28、關(guān)。當(dāng)前轉(zhuǎn)換支持的是與流程執(zhí)行路徑有關(guān)的Sequence Flow。下圖是一個圖形例子,其中1為Sequence Flow,2為Message Flow:圖 Connections的圖形結(jié)點(diǎn)3.3. 設(shè)定屬性為了轉(zhuǎn)換到BPEL,必須為流程工程,流程圖表以及其中使用的圖形元素設(shè)置屬性。通過點(diǎn)擊不同元素的圖形結(jié)點(diǎn),再在屬性視圖中修改此結(jié)點(diǎn)的屬性。為了使工作流引擎能夠在參與者之間路由任務(wù),并且跟蹤流程中各個步驟的人員職責(zé),流程設(shè)計者必須指定活動所有者、活動所綁定的服務(wù)等屬性。有關(guān)設(shè)置屬性的詳細(xì)步驟說明,請參見下列主題。l 設(shè)置流程屬性l 設(shè)置服務(wù)屬性l 設(shè)置活動結(jié)點(diǎn)屬性l 設(shè)置轉(zhuǎn)移條件屬性3.3.1
29、. 設(shè)置流程屬性流程中除了名字,類型等信息外,還主要定義了message和bpel中的變量的信息,以及流程所需綁定的web服務(wù)信息。這些信息定義在流程中,共享于流程中的所有結(jié)點(diǎn)。點(diǎn)擊Pool,再看屬性視圖,可以看到Process屬性項,展開Process,得到屬性列表如下:圖 流程工程基本屬性設(shè)置流程屬性設(shè)置l ID:工程ID由系統(tǒng)自動生成。l Message List:定義message信息,以及bpel變量。l Wsdl List:定義web服務(wù)的wsdl地址信息。l Process Type:選擇流程類型,由用戶指定。定義Message List:讓用戶動態(tài)創(chuàng)建message列表,并轉(zhuǎn)換
30、到wsdl文件中,在bpel文件中生成variable,供Task和Event調(diào)用。創(chuàng)建好message之后,可以在Task和Event的屬性inMessage和outMessage選擇相應(yīng)的message,轉(zhuǎn)換時將選擇的message對應(yīng)的variable作為活動的variable屬性。點(diǎn)擊Message List屬性行,出現(xiàn)按鈕,如下圖所示:圖 Message List屬性行點(diǎn)擊此按鈕,彈出message編輯窗口,以樹狀圖形式來編輯,如下圖所示:圖 Message List編輯窗口定義Messge:按照圖中標(biāo)示1的樹狀形式定義,第一層為message的名字,第二層是message的part
31、名字,第三層為part的類型。其中可以包含零個或多個message,每個message下面可以包含零個或多個part,每個part下面只能有一個type。定義引用其他方的消息:按照圖中所示2的形式定義,只有第一層,由一個冒號分隔兩個部分,冒號前面表示其他方的名字,后面表示引用的消息名字。定義bpel的基本變量:按照圖中所示3的形式定義,由兩個冒號分隔為三個部分,第一個部分表示變量名字;第二個部分表示類型的命名空間,通常基礎(chǔ)類型為“xsd”;第三個部分表示基礎(chǔ)類型,如“int”,“Boolean”等。編輯的方式是在某一結(jié)點(diǎn)點(diǎn)擊右鍵,彈出編輯選項菜單,對此結(jié)點(diǎn)進(jìn)行編輯;若是在空白處點(diǎn)擊右鍵,則是對
32、根結(jié)點(diǎn)進(jìn)行操作,可以增加message。右鍵編輯菜單如下所示:圖 Message List右鍵編輯菜單refresh:刷新message樹;add:增加一個message結(jié)點(diǎn),生成一個默認(rèn)的part子樹,若不需要可以刪除;add child:為結(jié)點(diǎn)增加一個子結(jié)點(diǎn),如果有的話;modify:修改此結(jié)點(diǎn)的值;delete:刪除此結(jié)點(diǎn),此節(jié)點(diǎn)的子節(jié)點(diǎn)一并刪除。注意,如果part下的type只能有一個,再增加會視為無效操作。定義Wsdl List:用戶可以創(chuàng)建web服務(wù)的wsdl列表。當(dāng)需要為流程的活動節(jié)點(diǎn)綁定web服務(wù)時,只需從列表中選擇即可。即對web服務(wù)信息做到了統(tǒng)一管理,又簡化了用戶的操作。點(diǎn)
33、擊Wsdl List屬性行,出現(xiàn)按鈕,如下圖所示:圖3.3.5 Wsdl List屬性行點(diǎn)擊此按鈕,彈出wsdl編輯窗口,以樹狀圖形式來編輯,如下圖所示:圖3.3.6 Wsdl List編輯窗口定義Wsdl:每一個web的wsdl信息都是一個兩層的樹型結(jié)構(gòu)。樹的根節(jié)點(diǎn)是該web服務(wù)的wsdl地址信息;葉子節(jié)點(diǎn)則描述了該web服務(wù)的QoS信息。用戶可以直接輸入一個web的wsdl地址信息,也可以輸入所需web服務(wù)的描述信息及QoS信息,然后對綁定的web服務(wù)資源庫進(jìn)行自動搜索,系統(tǒng)將自動選擇符合用戶錄入條件的web服務(wù)的wsdl地址信息。定義過程如下圖所示: 圖3.3.7 設(shè)置web服務(wù)描述信息
34、及QoS信息 自動檢索操作圖 檢索后自動填寫web服務(wù)的wsdl地址信息3.3.2. 設(shè)置服務(wù)屬性l Web Service信息設(shè)置:在Task和Event下增加Web Service屬性,用于定義結(jié)點(diǎn)相關(guān)聯(lián)的Web Service信息。 Web Service屬性的子屬性包括partnerLink,portType,operation,portType NameSpace,role。下圖顯示了在Task和Event中Web Service信息的設(shè)置:圖3.3.10 Web Service屬性編輯視圖若該task為ServiceTask類型,則用戶只需在wsdl選擇框中選擇合適的wsdl地址信
35、息,(partnerLink,portType,role等信息由系統(tǒng)自動填寫),然后在operations for choose選擇框中選擇合適的操作即可。否則,用戶需要設(shè)定partnerLink,portType,operation等信息。l 服務(wù)消息設(shè)置:在Task和Event中定義有關(guān)服務(wù)信息的同時,還需要設(shè)置調(diào)用服務(wù)時所包含的消息。在本節(jié)的流程屬性設(shè)置中,我們定義好了message,這里只需要選擇定義好的消息即可。下圖是選擇message的屬性視圖:圖3.3.11 選擇message屬性視圖選擇好以后,會在屬性視圖中顯示所選的message信息,如下圖所示:圖3.3.12 選擇好的me
36、ssage屬性視圖需要注意的是,在ServiceTask中,inMessage和outMessage都需要設(shè)置;而在ReceiveTask和MessageEvent中只需要設(shè)置inMessage;在SendTask中只需要設(shè)置outMessage。3.3.3. 設(shè)置活動結(jié)點(diǎn)屬性l 增加assign活動在task的屬性中可以定義Assign活動,如下圖所示:圖3.3.13 task屬性下設(shè)置Assign活動視圖點(diǎn)擊Assing所在行,出現(xiàn)一個按鈕,點(diǎn)擊按鈕出來Assign活動的編輯窗口,這個編輯窗口與message的編輯窗口類似,具體操作參見節(jié)。編輯窗口如下圖所示:圖3.3.14 Assign活
37、動編輯窗口這里assign,copy和to所在項不能編輯。copy下包含from和to兩項。from填入message信息即可,如果message包含多個part,還需要指名其中一個part,填入格式為“messagepart”;to下面分了兩項message和part,填入相應(yīng)的值即可。注意,根節(jié)點(diǎn)下可以有多個assign,assign下可以有多個copy,而copy下只能有一個from和to。用戶還可以設(shè)置assignTime(start|end),表示在活動運(yùn)行前執(zhí)行Assign活動,默認(rèn)為start。轉(zhuǎn)換時根據(jù)選擇來將創(chuàng)建的assign活動轉(zhuǎn)換到task之前或之后。另外,NoneTas
38、k可以用來表示assign活動,在NoneTask中創(chuàng)建好assign活動后,轉(zhuǎn)換時只得到assign活動的代碼。圖5 設(shè)置AssignTimel 增加correlationSet在task和event下可以設(shè)置相關(guān)集correlationSet。首先需要在流程中定義所有相關(guān)集correlationSets。由于相關(guān)集的property與message的part對應(yīng),我們在message的part下增加property,使property和part相對應(yīng)。然后再設(shè)置這些property被包含在哪些correlationSet中,每個property可以對應(yīng)多個correlationSet。根據(jù)
39、property和correlationSet的關(guān)系轉(zhuǎn)換得到correlationSet。在流程屬性中打開message編輯窗口,具體視圖如下所示:圖6 設(shè)置correlationSet在partType下創(chuàng)建一個property,這個property與part一一對應(yīng)。在property下可以對應(yīng)多個correlationSet,這里創(chuàng)建了兩個set,表示set1和set2都包含property1,并且property1與request的part部分echoString一一對應(yīng)。在流程中設(shè)置好相關(guān)集后,轉(zhuǎn)換到bpel文件中的process下。在task和event下我們可以動態(tài)添加corre
40、lation,并且需要與message下添加的correlationSet名字一致,這里還需要設(shè)置correlation的initiate和pattern屬性。如下圖所示:圖7 在event和task中添加correlation點(diǎn)擊按鈕,進(jìn)入correlation動態(tài)設(shè)置窗口,具體操作見節(jié)的message編輯窗口介紹。視圖如下所示:圖8 添加correlation編輯窗口可以在根節(jié)點(diǎn)下添加多個correlation,每個correlation包含initiate和pattern兩項:initiate:是否初始化,按上圖所示,輸入yes或no,默認(rèn)為nopattern(選填):表示消息是in(進(jìn)
41、入)還是out(出去),填入in和out即可l task的實現(xiàn)方式可以在task屬性中選擇task的實現(xiàn)方式,如下圖所示:圖9 選擇任務(wù)實現(xiàn)方式選擇WebService,表示實現(xiàn)方式是基于web服務(wù);選擇None,表示普通實現(xiàn)。這里默認(rèn)值為WebService。l SubProcess的事務(wù)屬性可以將子流程申明為一個事務(wù),在OnceBPD中也得到實現(xiàn),點(diǎn)擊某個子流程,打開屬性視圖,我們看到如下屬性行:圖3.3.20 子流程的事務(wù)屬性設(shè)置Is ATransaction顯示是否此子流程被申明為一個事務(wù),此項無法編輯,與下面的Transaction項關(guān)聯(lián)。Transaction項默認(rèn)為空,表示沒有申明為事務(wù)。如果需要申明為事務(wù),我們可以選擇Transaction,如下圖所示:圖3.3.21 申明子流程為一個事務(wù)選擇后,屬性發(fā)生改
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高危兒的系統(tǒng)化治療策略
- 2025至2031年中國普通平板玻璃紙行業(yè)投資前景及策略咨詢研究報告
- 2025至2031年中國按摩沖浪泵行業(yè)投資前景及策略咨詢研究報告
- 民俗村落生態(tài)旅游行業(yè)深度調(diào)研及發(fā)展項目商業(yè)計劃書
- 2025至2031年中國大蔥段行業(yè)投資前景及策略咨詢研究報告
- 用戶體驗(UX)設(shè)計提升行業(yè)跨境出海項目商業(yè)計劃書
- 校園文化攝影書籍行業(yè)跨境出海項目商業(yè)計劃書
- 2025至2031年中國動態(tài)頻閃喉鏡行業(yè)投資前景及策略咨詢研究報告
- 歌劇制作與高端演出市場行業(yè)跨境出海項目商業(yè)計劃書
- 柔力球AI應(yīng)用企業(yè)制定與實施新質(zhì)生產(chǎn)力項目商業(yè)計劃書
- 第14課 光榮的少先隊 課件-2024-2025學(xué)年道德與法治一年級下冊統(tǒng)編版
- 2025年北京市海淀區(qū)高三二模-數(shù)學(xué)+答案
- 安全生產(chǎn)月活動查找身邊安全隱患人人講安全個個會應(yīng)急課件
- 深圳市城市規(guī)劃標(biāo)準(zhǔn)與準(zhǔn)則2024版
- 《低空經(jīng)濟(jì)及其產(chǎn)業(yè)發(fā)展-把握機(jī)會、布局未來》課件
- 我們的節(jié)日-端午
- 工貿(mào)培訓(xùn)課件
- 四川省2024年中考物理試題13套附解析答案
- 第1單元班級衛(wèi)生大掃除(教案)-三年級上冊勞動魯科版
- 鋁合金造型施工方案
- 肱骨外上髁炎的健康宣教
評論
0/150
提交評論