开始JBoss BPM流程的3种基本方法
這一集提示和技巧將幫助您了解根據需要啟動流程實例的最佳方法。
規劃項目可能包括流程項目,但是您是否考慮過可以啟動流程的各種方式?
也許您的JBoss BPM Suite在您的體系結構中本地運行,也許您在云中運行,但是無論它在哪里,您仍然需要就如何啟動流程做出明智的選擇。
我們將在此處介紹三種可以最好地啟動JBoss BPM流程的基本方法:
右上角的“構建和部署”按鈕。
BPM Suite用戶界面
為了完整性,我們不得不提到啟動流程實例的功能是以JBoss BPM Suite儀表板工具內的按鈕的形式存在的。
登錄JBoss BPM Suite之后,您已經完成了項目開發,然后可以按以下步驟構建和部署BPM項目。
下一步是以兩種方式之一在流程管理透視圖中啟動流程實例。
1. PROCESS MANAGEMENT -> PROCESS DEFINITIONS -> start-icon2. PROCESS MANAGEMENT -> PROCESS DEFINITIONS -> magnifying-glass-icon -> in DETAILS panel -> NEW INSTANCE (button)流程定義的右上角有開始圖標。
這兩種方法都會導致流程實例啟動,如果要將數據提交到BPM流程,則會彈出一個啟動表單。
RestAPI
假設您打算在從多個可能的位置進行部署之后開始BPM流程,我們希望向您展示如何輕松地集成它們。
流程定義的詳細信息視圖具有“新實例”按鈕。
是從Web應用程序,移動應用程序啟動流程還是為企業創建后端服務以用作流程的起點都沒有關系。 公開的RestAPI提供了觸發BPM流程的完美方法,可以在以下代碼示例中進行顯示。
此示例是一個非常簡單的Rest客戶端,為清楚起見,它將把可能傳遞給此類客戶端的各種變量直接嵌入到示例代碼中。 沒有任何變量傳遞給正在啟動的流程,為此,我們將在涵蓋客戶端應用程序的部分中提供一個更完整的示例。
它發送一個啟動流程命令,并且不希望來自被調用的客戶評估BPM流程的任何反饋,因為它是直通式流程(STP)。
public class RestClientSimple {private static final String BASE_URL = "http://localhost:8080/business-central/rest/";private static final String AUTH_URL = "http://localhost:8080/business-central/org.kie.workbench.KIEWebapp/j_security_check";private static final String DEPLOYMENT_ID = "customer:evaluation:1.0";private static final String PROCESS_DEF_ID = "customer.evaluation";private static String username = "erics";private static String password = "bpmsuite";private static AuthenticationType type = AuthenticationType.FORM_BASED;public static void main(String[] args) throws Exception {System.out.println("Starting process instance: " + DEPLOYMENT_ID);System.out.println();// start a process instance with no variables.startProcess();System.out.println();System.out.println("Completed process instance: " + DEPLOYMENT_ID);}/*** Start a process using the rest api start call, no map variables passed.* * @throws Exception*/public static void startProcess() throws Exception {String newInstanceUrl = BASE_URL + "runtime/" + DEPLOYMENT_ID + "/process/" + PROCESS_DEF_ID + "/start";String dataFromService = getDataFromService(newInstanceUrl, "POST");System.out.println("newInstanceUrl:["+newInstanceUrl+"]");System.out.println("--------");System.out.println(dataFromService);System.out.println("--------");}<...SNIPPED MORE CODE...> }這里的基本知識是指向起始 RestAPI調用的業務中心URL的設置。 在主要方法中,可以找到對startProcess()的方法調用,該方法將構建RestAPI URL并捕獲從JBoss BPM Suite發送的數據答復。
要查看實現方法的詳細信息,請在JBoss BPM Suite和JBoss Fuse Integration Demo項目中完整地參考該類。
測試間奏
構建和部署流程后,對其進行測試的一種簡便方法是使用curl通過RestAPI將請求推送到流程。 這樣的請求如下所示,首先是通用形式,然后是與上一個示例中使用的相同的客戶評估項目的真實運行。
通用的RestAPI調用和正確的身份驗證請求在curl中完成,如下所示:
$ curl -X POST -H 'Accept: application/json' -uerics 'http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_par1=var1?_par2=var2'對于客戶評估過程,使用curl調用啟動過程,對我們的用戶進行身份驗證并收到JBoss BPM Suite的響應的完整周期應該提供以下輸出。
$ curl -X POST -H 'Accept: application/json' -uerics 'http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_employee=erics'Enter host password for user 'erics': bpmsuite1!{"status":"SUCCESS","url":"http://localhost:8080/business-central/rest/runtime/customer:evaluation:1.1/process/customer.evaluation/start?map_employee=erics","index":null,"commandName":null,"processId":"customer.evaluation","id":3,"state":2,"eventTypes":[]}我們的卷曲測試結果。
如圖所示,我們在流程實例透視圖中看到流程實例已完成。
客戶申請
啟動JBoss BPM Suite流程實例的第三種也是最后一種方法是與注入一堆預定義的提交內容相結合,以填充報告歷史記錄,并且可以基于歷史數據。
我們提供的大多數演示項目中都提供了此處顯示的示例,但該示例取自Mortgage演示項目 。
該演示客戶端正在使用靜態數據線,一次將其插入到進程中。 通過一些小的調整,就可以從現有數據源中提取歷史數據,并以這種格式注入所需數量的進程。 這也是對流程項目進行壓力測試的好方法。
如上所示,我們將跳過會話和流程細節的設置,而是提供指向整個演示客戶端類的鏈接,并將這些細節留給讀者。
在這里,我們僅關注各個啟動過程調用的外觀。
public static void populateSamples(String userId, String password, String applicationContext, String deploymentId) {RuntimeEngine runtimeEngine = getRuntimeEngine( applicationContext, deploymentId, userId, password );KieSession kieSession = runtimeEngine.getKieSession();Map processVariables;//qualify with very low interest rate, great credit, non-jumbo loanprocessVariables = getProcessArgs( "Amy", "12301 Wilshire", 333224449, 100000, 500000, 100000, 30 );kieSession.startProcess( "com.redhat.bpms.examples.mortgage.MortgageApplication", processVariables );}如您所見,最后一行是個人抵押貸款提交被推送到JBoss BPM Suite的位置。 如果檢查課程的其余部分,您會發現多個條目是一個接一個地啟動的。
我們希望您現在對啟動過程并選擇最適合您項目需求的方法有很好的了解。
翻譯自: https://www.javacodegeeks.com/2014/09/3-essential-ways-to-start-your-jboss-bpm-process.html
總結
以上是生活随笔為你收集整理的开始JBoss BPM流程的3种基本方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 工资12000能打入二类卡么?
- 下一篇: 不满18可以办银行卡吗?