BPM 應用系統開發案例實戰3


圖 10. 完成活動的參數映射

按照”COCE_GIW_ALL_Index”活動所述步驟完成”Approve”活動的步驟。

右鍵點擊”SendMail”,在彈出的菜單中選擇”活動嚮導”,在彈出的對話框中,”服務類型”區域選擇”系統服務”,在”服務選擇”區域中選擇”連接現有服務”,並點擊”選擇”按鈕,在彈出的對話框中選擇”Send E-mail via SMTP”,在”屬性”標籤頁下的數據映射選項卡中填寫郵件發送的相關信息,其中”to”欄位填寫如下 JS 代碼:tw.local.approverNames[tw.local.currentApproverNumber – 1]

“messageText”欄位填寫如下 JS 代碼:tw.local.mailContents[tw.local.currentApproverNumber – 1]

contentType 欄位填寫”text/html”,”smtpHost”欄位填寫合法的 SMTP 主機 IP 或者域名,”from”欄位填寫對應的合法郵件賬戶,其他欄位填寫空字元串。右鍵點擊”COCE_GIW_ROBF_DuplicateCheck”,在彈出的界面中分別選擇”系統服務”和”新建服務”,保持名稱不變點擊”下一步”,在”活動嚮導 – 參數”頁面為新建的服務修改如圖 11 所示的參數輸入輸出映射,並點擊”完成”按鈕:


圖 11. COCE_GIW_ROBF_DuplicateCheck 參數映射

雙擊業務流程定義中”COCE_GIW_ROBF_DuplicateCheck”的節點,詳細編輯節點的子步驟。選擇 Common 區域中的”Nested Service”,在其”Properties”選項卡下的”Implementation”中的”AttachedService”區域中,點擊右邊的”Select”按鈕,在彈出的頁面中選擇”Read From HTTP”服務,最後用”序列流”將整個子步驟連接起來,完成後如圖 12 所示:


圖 12. 更改 COCE_GIW_ROBF_DuplicateCheck 的實現

返回到”SimpleRapidBPD”主流程定義頁面,點擊圖中”LoopDecision”決策網關,選擇”屬性”選項卡下的”實施”子屬性,在右邊的”決策”區域中,”to SendMail”對應的編輯框中填入相應代碼。

完成後如圖 13 所示:


圖 13. 決策網關定義

如上圖所示,”to 結束”右邊默認填入”預設行”,如果”to SendMail”處於下面,並且右邊區域默認填入”預設行”,可通過右邊的上下箭頭進行交換。此時流程定義結束。點擊設計器右上方的 按鈕,Authoring Environment 將自動切換到”檢查器”視圖,左上方區域中是流程實例相關數據,右上方是 Activity 相關運行數據,左下方是當前運行實例的模擬視圖,右下方是調試數據。當前正在運行”COCE_GIW_ALL_Index”活動,由橘黃色游標指示。點擊右上角的 按鈕,會刷新出最新產生的活動,選擇其中一個活動,點擊其右邊的 按鈕,會執行該活動。通過不斷重複上述步驟,直到流程正確結束。

注意:在模擬運行流程之前,須將 SendMail 活動的數據映射中的”to”和”messageText”欄位改成任意符合條件的非空欄位,否則模擬運行時會拋出異常。

自此,基於 IBM BPM 的發票審核流程定義完成。


回頁首

構建基於 IBM Business Process Manager 流程定義的應用程序

本文所描述的 JavaEE 系統主要使用 IBM BPM 所提供的 WebAPI 作為外部系統和 BPM 系統交互的通道。

打開 Eclipse 啟動程序,點擊菜單欄”File”—>”New”—->”Dynamic Web Project”,在彈出的對話框中”Project name”段中填入”LombardiSimulation”,選擇合適的”Target Runtime”和”Web Module Version”點擊”Finish”,完成工程的創建。根據情況選擇合適的”Target Runtime”和”Dynamic web module version”,項目中分別為 Apache Tomcat V6.0 和 v2.5。完成後在工作台中的 JavaEE Perspective 中的 Project 視圖中可以看見工程結構。

創建 Web 組件之前,先了解一下工程中所使用的 Web 組件。表 5 中列出了 Web 工程中主要的後台功能組件,表 6 列出了工程中的前台頁面組件。


表 5. Dynamic Web Project 功能組件

名稱

類型

訪問 URL

描述

FileLoadDaemon

Thread

輪訓後台服務端,當出現新的文檔 Image 的時候啟動 StartPIThead 的實例

StartPIThread

Thread

根據配置文件,連接 IBM BPM 的伺服器,並啟動一個 Process 的實例

ApproverServlet

Servlet

ApproverServlet

處理審核者的審核請求

DisposeIndexServlet

Servlet

DisposeIndexServlet

處理髮票錄入員錄入發票數據及其他信息的請求

DuplicateCheckServlet

Servlet

DuplicateCheckServlet

響應由 IBM BPM 服務端發送的進行重複性檢查的 HTTP 請求

InitServlet

Servlet

InitServlet

載入並初始化整個系統所使用的參數,並根據配置文件創建 FileLoadDaemon 實例

LoadApproveData

Servlet

LoadApproveData

為發票審核頁面載入後台需審核的數據

LoadProcessListData

Servlet

LoadProcessListData

為初始頁面載入活動的 Process 實例列表數據

WebAPIUtil

Common

產生連接 IBM BPM 服務端的 WebAPI 實例的工具類

列表中為 Web 系統所使用的主要的類,包括各種 Thread 類,Servlet 類以及普通的 Java 類,圖 14 描述了各個類之間的關係:


圖 14. 類關係

以下文章點擊率最高

Loading…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營