跳至主要内容

封裝業務流程(PBP)


功能概述

封裝業務流程,簡稱PBP (Packaged Business Process)是一種特殊的工作流,可以用工作流節點能力編排動作序列,還可以通過定義輸入參數,讓其他流程調用。如果需要使用封裝業務流程中的執行結果,也可以通過輸齣參數,供外部流程使用。

同時,封裝業務流程還會自動生成一套API接口,和定義的輸入和輸齣參數完全對應,供外部係統調用。結閤工作錶和工作流能力,再加上封裝業務流程的API能力,事實上企業擁有瞭一個可以自由組閤的API中心,實現瞭可組閤企業架構(Composable Architect)。

封裝業務流程産品理念來自Gartner提齣的Packaged Business Capabilities框架。和經典的PBC概念不同的是,PBP這樣的可組閤應用架構並不依賴前後臺分離加微服務(microservice)的原生開發過程,它能夠零代碼實現同等的效果。

特點和價值

  • 1、沒有特定數據源,通過定義輸入參數來建立觸發。

  • 2、可被組織內的所有流程調用,最大化流程復用價值。

  • 3、具備API能力,供外部係統使用,實現自由組閤的業務流程。

哪些場景適閤使用封裝業務流程

1、可復用的通用業務處理能力

場景1:商品的庫存更新

庫存的更新涉及多種場景,如商品的銷售齣庫、采購入庫、退貨入庫、盤點等等,在執行庫存更新時,往往隻需要知道是哪個倉庫的,什麼商品、齣入庫類型、齣入庫數量就可以直接更新庫存瞭。因此可以將更新庫存這部分邏輯放在封裝業務流程中完成,銷售齣庫、采購入庫等工作流隻需傳入對應的參數,就可以直接完成庫存的更新,無需每個工作流都寫一遍更新庫存的邏輯。

場景2:獲取手機號歸屬地

多個業務錶需要記錄手機號,如銷售綫索、客戶聯係人、員工檔案等等,需要知曉手機號歸屬地。可以通過Webhook節點,調用第三方服務獲取到手機號,並返迴歸屬地信息。將這部分功能放在封裝業務流程中,每個工作錶觸發的流程直接調用即可。像這種通過Webhook或代碼塊實現的通用數據處理能力,非常適閤作為封裝業務流程,供所有流程調用。

2、多業務對象的API接口服務

場景:外部係統通過API查詢多錶數據

例如,外部係統需要查詢訂單數據,主要信息是:

  • 訂單錶數據(訂單名稱、訂單總額、付款日期)
  • 訂單明細錶數據(産品名稱、數量、單價、小計)

如果通過工作錶API查詢,需要調用兩次API,而且返迴的結果字段比較多,無法隻返迴需要的字段內容。同時,對於查詢狀態的提醒無法自定義。

如果使用封裝業務流程的API接口,隻需傳入訂單編號,觸發流程後,通過查詢數據節點逐步查詢訂單和明細數據,根據不同的查詢結果,利用分支自定義查詢狀態消息,最終通過輸齣參數返迴。

3、標準規範化的業務流程

場景1: 統一管理的財務支付流程

如果公司對財務支付流程要求統一規範化管理,在各類業務活動執行後,和支付相關的流程都需統一調用支付流程,財務隻需在一個應用或流程中處理,那麼很適閤通過PBP來管理支付流程,例如,在付款申請或報銷申請通過後,進入財務支付流程(PBP),財務付款後,並上傳付款憑證等信息,再反寫到付款申請單中。

場景2:新員工入職流程

根據員工的部門和職位,自動發送員工手冊和物品領用清單、根據郵箱或手機號,運維開通各種軟件賬號清單等等,待一係列任務完成後,將結果發送給員工。 將以上任務放在封裝業務流程中,可以方便管理企業流程,幫助企業流程規範化。

4、需要在應用首頁一鍵點擊或掃碼觸發的流程

場景: 設備維修後,維修人員在自定義頁麵中直接點擊按鈕啓動掃碼,掃描設備碼並觸發PBP,PBP中根據傳遞進來的設備碼查詢相關設備和維修工單,然後分彆修改為正常狀態。

配置示例

我們通過幾個案例的介紹,逐步講解PBP中相關知識點:

示例1.利用封裝業務流程實現庫存更新,供相關齣入庫業務流程調用

1.1梳理PBP的4要素

在設置流程前,我們需要梳理齣PBP需要的四個要素

  • 輸入參數

    更新庫存時,我們需要知道更新對象和數量,以及齣入庫類型(入庫是增加庫存,齣庫是減少庫存)。因此流程需要知道商品編號、齣入庫類型、和數量,這個3個信息就是我們需要的參數。

    需要定義的輸入參數有:産品編號齣入庫類型齣入庫數量

    如果您的商品是多倉庫管理,還需要知道是哪個倉庫齣入庫操作,也需要一個輸入參數:倉庫信息。這裏我們為瞭快速示例、不再增加此參數。

  • 流程編排

    觸發流程後,通過相關節點進行編排,完成指定商品的庫存更新。

  • 輸齣參數

    在庫存更新場景中,隻需正常執行更新庫存操作即可,不需要任何結果通知的返迴,因此不需要定義輸齣參數。我們會在後麵的場景示例中介紹輸齣參數的配置。

  • 是否啓用API

    由於本功能僅在本平臺內使用,無需開啓API能力。

1.2新建封裝業務流程

進入應用的工作流模塊,依次點擊 封裝業務流程 > 新建封裝業務流程

雖然PBP可被組織內所有應用的工作流調用,但依然歸屬在一個應用下管理。

1.3定義輸入參數

什麼是參數,簡單來說就是你需要外麵傳遞給你的信息,但是這個信息你需要提前約束好。

例如名稱和格式, 名稱用來區分不同的信息對象,格式用來保證傳遞進來的內容符閤規範。

如果在處理業務時,有些信息是必要的,不然無法執行,則可以設定為 必填

同時,建議充分描述參數說明,這樣對方在調用PBP傳參數時更加清晰。

在本場景中,需要定義的參數( 名稱、格式類型、是否必填和說明)如下:

  • 商品編號、文本類型、必填、說明(需要齣入庫商品的編號)

  • 進齣庫類型、數值類型、必填、 說明(0代錶入庫,1代錶齣庫)

  • 數量、數值類型、必填

流程的觸發曆史列錶中,觸發的數據顯示的是標題參數的內容。

支持的輸入參數類型

  • 文本
  • 數值
  • 人員
  • 組織角色
  • 部門
    • 其中成員、部門、組織角色傳遞的是對象,不是文本。
  • 日期時間
  • 附件
  • 普通數組和對象數組
    • 代碼塊輸齣的數組,需通過JSON解析後纔能選擇為輸入參數

數組結構示範

  • 普通數組

    ["張三","李四"]

  • 對象數組

    [{"name":"張三","age":20},{"name":"李四","age":30}]

    如果您有一段JSON數組,則可以粘貼生成參數。

1.4配置工作流的相關節點

通過相關功能節點的編排實現具體的庫存更新邏輯。

重點介紹:節點如何使用輸入參數值

在定位具體商品的庫存記錄時,需要使用傳遞進來的商品ID,獲取單條數據節點中的條件值選擇輸入參數即可。

其他節點不再贅述。

1.5配置輸齣參數

前麵我們已經梳理好,無需輸齣參數,點擊輸齣參數節點後、刪除空白參數並保存節點。

1.6修改流程名稱並發布

  • 修改流程名稱,便於日常管理和方便外部流程調用時識彆,

  • 發布流程後,纔可被調用。

其他流程如何調用PBP

PBP發布後,其他需要更新庫存的業務流程都可以直接調用PBP,我們以采購入庫流程中,采購入庫明細調用PBP為例進行介紹。

入庫流程中獲取到多條入庫記錄後(獲取多條數據節點),即可調用"更新庫存PBP"。

1)添加“調用業務流程” 節點

2)選擇更新庫存PBP

3)選擇執行方式(執行單次還是多次)

此處和子流程節點功能相同,本案例中,需要多個商品的入庫記錄同時更新庫存,因此選擇執行多次。同時,執行的次數要基於多條數據的數據量

由於每個商品的庫存更新互不影響,可以選擇並行執行。

PBP多次執行時,可接收多少行數據

不同的配置,執行次數有不同的限製,主要有以下兩種。

  • 執行次數按字段值或固定值,則按實際次數執行,沒有限製

  • 執行次數選擇為根據多條記錄數據行數

    • 如果PBP的輸入參數任意一個使用瞭多條數據節點(從工作錶中獲取)中值,最多100行

      • 數據是工作錶數據纔限製100條, 如果數據來著代碼塊、API等則不限製。
    • 如果PBP的輸入參數都沒有使用多條數據節點中的字段值,最多1萬行。

4)設置PBP的傳入參數

這裏顯示的參數,就是PBP流程定義的傳入參數。

商品編號和入庫數量是需要從節點對象中選擇對應的字段,

因為本次流程是入庫流程,齣入庫類型可以寫為固定值0。在齣庫相關的流程中,則寫為1。

5)發布流程並測試

6)開啓API

本流程無需開啓API,不再詳述,具體開啓API介紹,請參考示例3

開啓API入口如下圖:

示例2.通過封裝業務流程實現獲取手機號歸屬地的功能,供所有流程調用

2.1梳理PBP的4個要素

  • 輸入參數 隻需傳入手機號即可

  • 流程編排 獲取到手機號以後,通過發送API請求節點,利用外部服務API獲取到手機號歸屬地。

  • 輸齣參數 將獲取到的歸屬地信息(省、市、縣)輸齣。

  • 啓用API 由於本功能一般在平臺內使用,無需開啓API。

2.2創建封裝業務流程

進入應用的工作流模塊,依次點擊 封裝業務流程 > 新建封裝業務流程

2.3配置輸入參數

隻需定義一個手機號參數即可。

2.4配置工作流的相關節點

本場景實現比較簡單、隻需通過發送API請求節點獲取手機號歸屬地信息。

2.5配置輸齣參數

根據實際需要、可以將歸屬地的省市拼接後作為一個參數輸齣,可以直接寫入到工作錶的“地區”字段中。

注意省份和城市之間的連接符號 /,不然無法寫入到地區字段中。

2.6修改流程名稱並發布

其他流程調用PBP

例如,在綫索聯係人新增時觸發的流程中,調用查詢手機號PBP,獲取手機號歸屬地。

  • 執行方式 由於是查詢當前新增的聯係人歸屬地,因此隻會執行單次。

  • 業務流程執行完畢後,再開始下一個節點

    如果流程中後麵的節點需要使用PBP的輸齣參數,則一定要勾選,錶示等待PBP執行完畢再開始執行後續節點。

  • 輸入參數 即查詢誰的手機號,選擇觸發節點的手機號即可。

後麵節點如何使用PBP執行參數

如果無法選擇PBP的輸齣參數,錶示沒有勾選"業務流程執行完畢後,再開始下一個節點"

配置完成,發布流程測試即可

示例3.通過PBP的API接口實現外部係統對訂單數據的查詢

外部係統通過訂單編號,查詢到訂單的客戶公司、訂單額、付款日期,以及訂單明細(産品名稱、單間、數量、小計)等個彆信息。

3.1梳理PBP的4要素

  • 輸入參數

    隻需一個參數,即訂單編號,格式文本、必填。

  • 流程編排

    觸發流程後,通過相關節點進行編排,完成指定商品的庫存更新。

    • 獲取單條數據節點 根據訂單編號找到對應的訂單記錄

    • 獲取多條數據節點 根據訂單記錄,獲取訂單下的明細數據。

    • 代碼節點 例用代碼節點,將訂單明細數據組裝為數組

  • 輸齣參數

    • 客戶公司(文本)
    • 訂單金額(數值)
    • 付款日期(文本)
    • 訂單明細(數組)
  • 是否啓用API

    本流程主要供外部係統調用,需要開啓API接口功能

3.2創建業務封裝流程

進入應用的工作流模塊,依次點擊 封裝業務流程 > 新建封裝業務流程

3.3配置輸入參數

隻需定義一個訂單編號即可。

3.4編排工作流節點

根據業務需求,需要逐步獲取訂單記錄和訂單明細數據,而訂單明細是多行數據,因此需要利用代碼塊將其轉換為數組。

具體節點配置如下:

點此查看如何通過代碼塊將多行數據轉為數組

3.5配置輸齣參數

根據前麵的梳理,隻需定義4個輸齣參數即可。

3.6修改流程名稱並發布

3.7啓用API能力

進入流程配置 > 平臺API能力 ,開啓或關閉當前流程的API能力

1)API請求地址

自動為當前流程生成瞭一個API地址,如:https://api.mingdao.com/workflow/hooks/******2YzQzNDVlZDM0YzBhNDRiMWU0

請求地址中支持繼續拼接子路徑,如接口功能是獲取訂單信息的,可以拼接上GetOrderinfo,對於開發者便於識彆。但是實際執行時依然隻有前麵自動生成的部分有效。

2)請求鑒權認證

使用應用授權無需授權兩種方式, 使用應用授權時,調用API時,參數中需要appKey和sign 兩個參數, 無需授權方式則不需要這兩個參數。

3)定義API中的請求參數(輸入參數)

PBP中的參數名稱可以是中文,在平臺內部方便識彆和使用,但是在API中,參數名不支持中文,因此我們需要再次定義“彆名”,方便外部係統使用。

  • 如果有彆名,API參數中的參數名顯示為彆名

  • 如果沒有彆名,則顯示為參數名,如果含有中文,在使用時可能會齣錯。

4)選擇響應方式

支持5種響應方式

僅專業版、旗艦版和私有部署版支持直接返迴結果給請求地址, 其他版本需通過迴調地址接受返迴參數。

如果需要返迴參數給請求地址,PBP流程中不能包含調用業務流程、審批、填寫、延時、子流程等不確定處理時長類的節點。

5)配置響應參數

和請求參數相同,支持設置英文名稱和參考值。

6)查看API文檔

通過應用的API接口,可以看到應用下所有可用的API接口,包括封裝業務流程的API接口。當然,您也可以通過下麵快速查看。

在API接口中說明中,給齣來示例代碼,可以直接復用測試。

  • appkeysign不要更改,直接使用。

示例4. 通過PBP統一管理公司財務支付流程

如果公司對財務支付流程要求統一規範化管理,在各類業務活動執行後,和支付相關的流程都需統一調用支付流程,財務隻需在一個應用或流程中處理,那麼很適閤通過PBP來管理支付流程,例如,在付款申請或報銷申請通過後,進入財務支付流程(PBP),財務付款後,並上傳付款憑證等信息,再反寫到付款申請單中。

4.1梳理PBP的4個要素

  • 輸入參數

    由於需要財務在一個流程(業務錶)中操作,財務在支付時需要以下信息:客戶/個人名稱、賬號信息、支付日期、支付金額、為瞭查看原始記錄,還需要知曉原記錄的URL等等。為瞭便於示範,我們精簡一下,隻需必填的幾個字段。

    • 支付標題 文本、必填

    • 賬號信息 文本、必填

    • 支付金額 數值、必填

    • 支付日期 文本、必填

    • 原記錄URL 文本、必填

      同時,需要新增一張工作錶《財務支付》,用來存儲這些信息,並且財務上傳憑證時,填寫到此錶的記錄中。錶中除瞭上麵的參數,還需要一個“支付憑證”的附件字段。

  • 流程編排

    • 根據傳入的參數,嚮《財務支付》錶中新增一條記錄,字段值選擇對應的輸入參數即可。

    • 然後通過“填寫”節點嚮財務人員發齣提醒,等待完成支付並上傳憑證。

  • 輸齣參數

    由於需要獲取支付憑證等信息,返迴參數不支持附件字段,因此我們需要返迴一個記錄ID,供原業務流程查找定位到此支付記錄,然後使用憑證字段。

    記錄ID, 選擇支付記錄的記錄ID

  • 是否啓用API

    暫不需要

4.2創建封裝業務流程

進入應用的工作流模塊,依次點擊 封裝業務流程 > 新建封裝業務流程

4.3設置輸入參數

4.4配置工作流

  • 1)嚮財務支付錶中新增一張記錄

  • 2)填寫節點通知財務辦理支付

4.5輸齣參數

根據前麵的梳理,隻需輸齣支付記錄的記錄ID內容記錄。

4.6修改流程名稱並發布

發布後,流程纔能被外部流程調用。

外部流程如何調用PBP並使用輸齣參數

我們以付款申請流程為例,當付款申請審批通過後,調用統一支付業務流程PBP,等待財務執行完畢,自動將憑證信息寫入到申請記錄中。

1) 通過“調用業務流程” 節點調用PBP

選擇PBP後,選擇參數對應的字段

記錄URL如何獲取

2) 通過“獲取單條數據”節點,定位到財務填寫的支付記錄。

如果無法選擇PBP的輸齣參數,勾選“等待業務流程執行完畢後,再開始下一個節點”即可。

3)將支付記錄的憑證信息寫入到付款申請記錄

到此流程配置完畢,您可以提交一個付款申請進行測試。

示例5、自定義頁麵中點擊按鈕後通過掃描設備碼,自動完成維修工單

5.1梳理PBP的4個要素

輸入參數 :設備碼,文本類型,必填。隻需通過設備碼識彆齣設備記錄。

流程編排 :通過設備碼查找到對應的設備記錄和維修工單,然後分彆將狀態改為正常或維修完成。

輸齣參數 :無需返迴任何信息,不定義。

是否啓用API: 無API需求,不配置。

5.2創建封裝業務流程

進入應用的工作流模塊,依次點擊 封裝業務流程 > 新建封裝業務流程

5.3設置輸入參數

隻需設置1個設備碼參數即可。

5.4業務流程配置

根據業務需要,需要通過兩個“獲取單條數據”節點,分彆獲取到設備記錄和維修記錄。然後通過兩個更新節點分彆修改狀態。

5.5輸齣參數

無需輸齣參數,刪除已有參數後保存即可。

5.6修改流程名稱並發布

流程發布後纔能被調用。

自定義頁麵按鈕如果調用PBP

進入自定義的配置頁麵,配置快捷按鈕。如下圖配置:

  • 1、選擇相關按鈕後,開始配置此按鈕的相關動作。

  • 2、點擊按鈕觸發,啓動掃碼功能

    也可以直接觸發封裝業務流程,本場景需要有明確的操作對象,因此需要掃碼後再調用PBP。

  • 3、選擇碼類型

    支持二維碼和條形碼,本場景我們以二維碼為例)

  • 4、記錄連接

    如果二維碼的內容是某條記錄鏈接,則做什麼操作,我們選擇 “無”,不做任何動作。

  • 5、其他連接

    如果二維碼的內容是其他類型的鏈接,則做什麼操作,我們選擇 “無”,不做任何動作。

  • 6、文本

    如果二維碼內容是一段文本,則做什麼操作。設備碼是一串文本,符閤我們的需求,我們選擇識彆齣瞭設備碼後調用封裝業務流程。

  • 7、選擇對應的PBP

  • 8、選擇輸入參數的值,即掃碼結果

以上配置結束後,保存頁麵。然後在APP中點擊按鈕掃碼測試。


文檔問題反饋

文檔中是否有錯彆字、內容過期、難以理解等問題? 點此給我們反饋吧