




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