




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