精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

工作流引擎在vivo營銷自動化中的應用實踐

移動開發 移動應用
本文分析了引入工作流引擎的背景,驅使業務邏輯從控制流中剝離出來,讓產研團隊更聚焦于業務,解決研發效率低的問題。

作者 | vivo 互聯網服務器團隊- Cheng Wangrong

本文分析了在營銷自動化業務引入工作流技術的背景和工作流引擎的介紹,同時介紹了幾種業界流行的開源工作流引擎特點,以及在項目自研開發過程中的設計思路和總結思考。

一、業務背景

營銷自動化平臺可以支持不同用戶生命周期的活動旅程策略配置 ,根據用戶觸發的不同活動行為,進行差異化的營銷觸達方案。同時各種類型活動的具體執行過程中也有不同的業務處理流程(比如審批流程和業務流轉)。業務流程復雜多樣,需求變更頻繁,項目開發過程中會有以下痛點:

  1. 項目交付周期長:一個完整的業務流程需要從頭開始按版本迭代,開發時間長,成本高。
  2. 功能重復開發測試:業務之間會摻雜著很多共性的流程,導致大量重復性開發測試工作,效率低。
  3. 維護成本高:隨著項目業務的逐步發展,業務流程逐步積累,可維護性下降,系統改動牽一發而動全身。

如何將業務邏輯從控制流中剝離出來,讓產研人員更聚焦于業務的實現是需要重點解決的問題。而傳統OA領域使用的是久經考驗的業務流程管理解決方案 —— 工作流(Workflow)。工作流是一套工業級的解決方案,由工作流管理聯盟(WfMC)制定了一系列的標準。

二、工作流介紹

2.1 工作流定義

工作流(Workflow)—— 對工作流程及其各操作步驟之間業務規則的抽象,將流程中的工作組織邏輯和規則進行建模,交由計算機進行自動處理。

工作流的本質思想是:通過預定義的工作流程模板,對現實活動進行實例化的過程。簡單說就是通過預設的格式或者可視化配置好流程的模板(比如一種分享活動的運行流程模板),使用時通過該模板構造出一個流程實例對象,通過實例對象完成活動運行跟蹤和回溯。

2.2 工作流參考模型

WfMC工作流管理聯盟為工作流制定了參考模型,其核心就是中間的工作流引擎,工作流引擎提供流程定義工具(接口1)、給使用者提供信息查詢(接口2)、調用外部應用(接口3)、整合其他工作流(接口4)和監控管理(接口5)的能力。  對于大多數工作流產品而言,重點關注的是接口1和接口2的實現。

圖片

2.3 工作流引擎關鍵特性

  1. 流程可視化提供可視化的流程搭建,流程視圖查看能力,以及實時觀測任務運行能力。  
  2. 業務可編排復用將公共業務進行組件化,可以支持任務的自由編排,自由搭建出適合的業務的不同流程。
  3. 業務和控制分離將流程的控制(如流轉、判斷、循環、重試等)的任務交由工作流負責,讓使用者聚焦于核心業務邏輯。

2.4 工作流引擎的類型

對于工作流的類型沒有專門的標準,按照流程任務節點特性可以分為:

  • 順序工作流順序工作流的運行方式類似一種特定的流程圖,上一個流程任務完成后依次進入下一個流程任務,過程不可逆。

圖片

  • 狀態機工作流狀態機工作流側重關注的是流程任務的狀態,驅使任務狀態發生變化的因素一般為外部事件,即事件驅動的方式,驅使任務節點從一個狀態運行到另外一個狀態,節點間可逆。

圖片

  • 規則驅動工作流側重于節點的運轉規則,基于業務規則進行工作流程的執行,在處理具有明確目標但“規則”或規范級別不同的各種項目時,規則驅動的工作流非常有用。

圖片

可以看到不同類型的工作流不是完全割裂的,狀態機工作流中也可以結合著條件和規則進行操作節點轉換的過程。在軟件開發中,一般會考慮結合狀態機和規則驅動的工作流。

2.5 工作流引擎和狀態機的差異

在之前的文章里面,我們有對狀態機和工作流引擎做過一次簡單的對比,事實上,兩者之間并不是一個完全對等的概念:

  1. 狀態機是系統狀態以及這些狀態之間轉移和動作等行為的數學計算模型,而工作流是對整體工作流程及其各操作步驟之間業務邏輯和規則的抽象建模。 
  2. 狀態機模式是事件驅動型,大多通過外部事件觸發狀態的自動流轉;工作流引擎更側重于描述預定義流程任務完成之后的自動流轉,可預測性會更強。
  3.  從適用場景的復雜性上看,直接使用狀態機的方式可以清晰地描繪出所有可能的狀態以及導致轉換的事件,適用于解決單維度、復雜度不高的業務問題,發揮靈活輕便的特點;工作流引擎則更適合復雜的業務流程管理,解決如大型CRM復雜度更高的流程自動化問題,聚焦于改善整體業務流程的效率。
  4. 工作流引擎是可以在狀態機的結構模型基礎上進行構建,事實上很多開源的工作流引擎也都是基于狀態機的實現方式。

了解了工作流的基本特點和使用場景之后,我們來看一下比較流行的開源工作流引擎。   

三、開源工作流引擎

圖片

?

四、工作流引擎自研設計

4.1 使用開源工作流引擎的問題

  1. 開源工作流最大的優勢是可以借助開源的資源,開箱即用,功能全面,但是與之帶來的是附帶的配置和表數量比較多的維護問題。以Activiti為例,使用Activiti7.0版本至少要引入二十多張表,雖然說看似是無侵入的方式,但是系統演進和維護過程中有一定的成本。特別是業務流程實例很多的時候,開發人員需要對表邏輯有更深的把控。
  2. 由于業務的客觀獨特性,作為業務流程組件,一般都需要根據自身業務進行二次開發適配。 比如需要根據自身組織架構,進行流程節點用戶角色權限的管控;將自身的業務能力插件化,加入工作流程配置中,進行攔截回調等。

4.2 自研引擎核心設計思路

4.2.1 引擎核心模塊

回歸工作流的本質, 工作流是通過預定義的流程模板,對現實活動進行實例化的過程。一個基本的工作流引擎主要包括三大核心部分:

  • 流程模板創建根據業務規則和邏輯,創建流程模板,設置每一個節點的操作和變更路徑。基于模板創建,可以延伸出流程設計器、插件式節點,多樣化的模板文件格式、模板持久化等。

  • 流程實例發布根據流程模板,創建一個流程實例,流程模板和流程實例的關系類似類和對象的關系。比如說工單系統管理員定義好一個審批流模板(流程模板),用戶點擊創建一個工單(流程實例)。基于流程實例發布,又可以延伸出實例實時觀測,節點變遷記錄回溯,實例狀態持久化,失敗重試,事務控制等。

  • 任務流程執行創建好流程實例之后,流程實例只需要按照流程模板的定義獨立執行各自實例的任務,不同的實例之間互不影響,完成各自實例的生命周期。

圖片

4.2.2 引擎核心設計

① 應用容器啟動時,加載流程引擎環境配置,包括解析器構造,流程引擎上下文,流程定義文件路徑等。

② 讀取定好的流程定義文件,進行流程節點解析,構建好執行上下文,將流程節點放到內存緩存中。

③ 業務側進行流程創建,啟動一個新的流程實例,同時將業務流程和流程實例進行綁定。

④ 運行流程實例各個節點,將每個流程節點進行持久化保存。

圖片

4.3 具體實踐

① 引擎核心服務。

引擎操作的主要對外接口,包括啟動流程實例,和獲取相關流程定義模板,流程實例,流程節點的服務。

public interface FlowEngine {
/**
* 根據流程定義key,參數列表啟動流程實例
*
*/
FlowInstance startInstance(String processDefKey, Map<String, Object> args);
/**
* 根據流程定義主鍵ID,參數列表執行流程任務(推動流程自動流轉)
* 統一事務控制
*/
void execInstance(Long instanceId, Map<String, Object> args) throws FlowAuthorityException;
/**
* 獲取流程定義process服務
*
*/
ProcessService process();
/**
* 獲取流程實例服務
*
*/
InstanceService instance();
/**
* 獲取任務節點服務
*
*/
TaskService task();
}

② 流程定義服務。

主要是針對流程定義模板的創建和發布,可以根據具體的實現類來支持不同的創建方式。

public interface ProcessService {  
/**
* 創建流程定義模板
*
*/
void create(String definition);
/**
* 發布流程定義模板
*
*/
void deploy(String fileName);
/**
* 獲取流程key對應的流程定義
*/
FlowProcess getProcessByDefKey(String processDefKey);
}

③ 流程實例服務。

提供流程實例創建持久化和流程實例執行的入口。

public interface InstanceService {
/**
* 創建流程實例
*
*/
FlowInstance createInstance(FlowProcess process, Map<String, Object> args);
/**
* 執行流程實例
*
* @param instanceId 流程實例id
*/
void exec(Long instanceId);
/**
* 根據id獲取流程實例
*
* @param instanceId
* @return
*/
FlowInstance getById(Long instanceId);
}

?④ 流程任務節點服務。

提供流程節點具體每個任務的創建和查詢。

public interface TaskService {
/**
* 根據任務模型、執行對象創建新的任務
*
*/
FlowTask createTask(TaskModel taskModel, Execution execution);
/**
* 完成任務
*
*/
FlowTask complete(Long taskId, Map<String, Object> args);
/**
* 獲取流程實例中正在進行的任務
*
*/
FlowTask getActiveTask(Long instanceId);
/**
* 獲取流程實例上一個已完成的任務
*
*/
FlowHistTask getLastDoneTask(Long instanceId);
}

其中核心的方法就是

  • FlowEngine#startInstanceByKey,啟動流程實例。基于流程定義,創建一個流程實例對象。
  • FlowEngine#execInstance,執行流程實例任務,通過傳入的上下文參數(操作人,操作變量等),按照流程定義的節點任務,推進流程實例的自動流轉。

4.4 思考和擴展

  1. 流程定義解析性能。由于目前設計是在應用啟動時對所有的流程定義文件進行加載和解析,流程定義文件過多時會影響應用啟動速度,可以通過多線程解析和懶加載(使用時解析)兩種方式進行優化。
  2. 流程定義版本兼容性。由于業務流程不是一成不變的,在項目發展過程中會不斷進行迭代,需要對前面不同的流程進行兼容。
  3. 流程節點插件化和編排能力。將基礎服務進行提取公用,以支持繪制不同流程的插件化和編排能力。
  4. 流程執行監控能力。對流程任務節點執行情況進行埋點上報,系統自動進行監測告警。

五、總結

本文分析了引入工作流引擎的背景,驅使業務邏輯從控制流中剝離出來,讓產研團隊更聚焦于業務,解決研發效率低的問題。 

工作流的本質思想是通過預定義的工作流程模板,對現實活動進行實例化的過程。一般需要具備流程可視化、業務可編排復用、 業務和控制分離的基本能力。一般常見的工作流分為順序工作流、狀態機工作流和規則驅動工作流,開源工作流框架中最常見的是狀態機工作流,利用事件驅動的方式,驅使流程運轉。

同時簡單介紹了業界比較流行的幾種開源工作流引擎的特點,結合開源工作流引擎的特點的問題,并且針對多樣化和迭代頻繁的業務流程, 以工作流的本質思想為出發點,我們自研了一套輕量級的工作流引擎,分享了在實踐過程中的設計思路和總結思考。  

責任編輯:未麗燕 來源: vivo互聯網技術
相關推薦

2023-08-02 18:48:23

Flowable工作流引擎

2021-10-14 11:34:05

技術工作流引擎

2015-03-13 15:58:11

Adobe

2017-09-07 16:43:36

互聯網

2022-08-25 06:35:09

切圖前端開發D2C

2024-04-15 08:00:00

人工智能DevOps

2025-09-04 01:33:00

Flowable工作流引擎

2015-07-14 09:26:28

微型工作流引擎設計

2023-01-04 08:02:16

工作流架構設計

2024-09-29 21:43:30

2023-07-05 09:48:44

Activiti部署

2011-12-14 09:58:58

JavajBPM

2022-06-09 13:45:18

vivoK8S集群Kubernetes

2022-03-07 11:09:36

自動化企業技術

2023-07-21 15:26:00

數據庫同步數據

2009-06-11 14:43:34

jbpm工作流引擎jBPM搭建

2009-09-01 18:26:23

C#工作流引擎

2022-12-16 21:58:20

NodeJSH5zip

2024-10-17 08:39:32

2022-02-21 10:50:28

SvnGitHub分支
點贊
收藏

51CTO技術棧公眾號

不卡av播放| 亚洲第一免费视频| 欧美色婷婷久久99精品红桃| 欧美性videosxxxxx| 亚洲精品人成| av男人天堂av| 亚洲三级免费| 国产亚洲欧美视频| 国内av免费观看| 阿v视频在线| 国产欧美日韩麻豆91| 成人午夜两性视频| 国产亚洲精品成人| 黑丝美女一区二区| 日韩视频一区二区三区在线播放 | 欧美黄色一级大片| 欧美电影《睫毛膏》| 日韩一区二区免费在线观看| 成熟丰满熟妇高潮xxxxx视频| 国产特黄在线| 夫妻av一区二区| 国产精品激情av电影在线观看 | 亚洲精品久久久蜜桃动漫| 国产精品日韩| 欧美成人在线免费| 亚欧洲乱码视频| 九九九九九九精品任你躁| 疯狂欧美牲乱大交777| 亚洲美女自拍偷拍| 欧美男男激情freegay| 国产在线观看一区二区| 清纯唯美亚洲激情| 欧美日韩精品亚洲精品| 精品理论电影在线| 亚洲国产精品成人一区二区| 亚洲36d大奶网| 麻豆免费在线| 亚洲精品免费电影| 先锋在线资源一区二区三区| 少妇高潮久久久| 精久久久久久久久久久| 热99精品只有里视频精品| 五月天丁香激情| 国产九一精品| 日韩精品福利网站| 亚洲午夜久久久久久久久| 不卡一区视频| 欧美日韩国产综合一区二区三区| 日韩人妻精品无码一区二区三区| www.在线视频| 亚洲欧洲日本在线| 一区二区三区国产福利| 九色在线视频| xfplay精品久久| 国产精华一区| www.av网站| 国产伦精品一区二区三区免费迷 | 欧美日韩一二三四区| 激情欧美亚洲| 欧美激情精品久久久久久久变态| √天堂中文官网8在线| av中文字幕一区二区| 亚洲精品日韩丝袜精品| 制服丝袜第二页| 黑人久久a级毛片免费观看| 日韩午夜小视频| 亚洲男人天堂2021| 97久久中文字幕| 欧美日韩第一区日日骚| 欧美在线aaa| 九九热这里有精品| 欧美日韩三级一区二区| 国产又大又黄又猛| 久久久免费人体| 欧美日韩久久一区二区| 日韩欧美国产片| 亚洲欧洲一二区| 91精品国产欧美日韩| 伊人精品视频在线观看| 午夜视频一区二区在线观看| 精品少妇一区二区三区在线视频| 亚洲成人激情小说| 久久精品国产亚洲blacked| 亚洲精品国产欧美| 男人操女人动态图| 91免费精品| 美女999久久久精品视频| 免费一级全黄少妇性色生活片| 亚洲天堂男人| 日本精品中文字幕| 91欧美日韩麻豆精品| 国产精品亚洲а∨天堂免在线| 97久草视频| 色哟哟国产精品色哟哟| 国产日本欧美一区二区| 桥本有菜av在线| 久久国产精品黑丝| 色女孩综合影院| 日韩成人av免费| 动漫视频在线一区| 亚洲人成网站色ww在线| 婷婷社区五月天| 怡红院精品视频在线观看极品| 欧美在线免费看| 亚洲一级av毛片| 成人午夜大片免费观看| 欧美专区一二三| 99自拍视频在线观看| 亚洲成人免费在线| 在线观看免费成人av| 精品一区二区三区免费看| 亚洲精品第一国产综合精品| 国产在线综合视频| 国内成人在线| 国产精品羞羞答答| 人妻无码中文字幕免费视频蜜桃| 国产亚洲精品免费| 国产精品自拍合集| 久久99久久久精品欧美| 亚洲成人a级网| 99国产精品无码| 日韩一级不卡| 亚洲a级在线观看| 青青国产在线| 亚洲午夜久久久久久久久电影网| 久久久精品麻豆| 狼人精品一区二区三区在线| www.亚洲一区| 亚洲天堂一区在线| 国产成人亚洲综合a∨婷婷| 水蜜桃一区二区三区| 91超碰在线| 91精品中文字幕一区二区三区| 亚洲一区二区三区蜜桃| 欧美日韩91| 成人亚洲欧美一区二区三区| 日本免费不卡| 亚洲18女电影在线观看| 深夜做爰性大片蜜桃| 成人aaaa| 亲爱的老师9免费观看全集电视剧| 亚洲av永久纯肉无码精品动漫| 国产精品天美传媒| 六月激情综合网| 精品福利一区| 欧美激情在线观看| 99在线小视频| 亚洲视频一区在线| 亚洲精品午夜在线观看| 精品久久成人| 国产91色在线| 欧美新色视频| 欧美日韩激情美女| youjizz.com日本| 欧美日本一区| 国产精品资源在线看| 91精品国产高清一区二区三区 | 日韩电影免费在线看| 久久久久久国产精品免费免费| 98色花堂精品视频在线观看| 欧美精品一区二区久久久| 欧美成人精品欧美一级| 国产精品18久久久久| 青青视频免费在线| 视频精品二区| 欧美激情videos| 欧美 日韩 中文字幕| 亚洲一区二区三区视频在线| 国产成人精品综合久久久久99| 欧美国产先锋| 国产精品久久国产三级国电话系列| 色操视频在线| 亚洲福利视频免费观看| 天海翼一区二区| 91麻豆成人久久精品二区三区| 97国产精东麻豆人妻电影| 免费精品国产的网站免费观看| 欧美综合第一页| 成人福利在线| 91精品国产麻豆国产自产在线| 国模无码国产精品视频| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产一级特黄a大片99| 中文字幕21页在线看| 亚洲男人天堂视频| 美国黄色小视频| 91在线精品一区二区| 国产成人黄色片| 精品中文一区| 国产精品视频区1| a免费在线观看| 日韩美女视频在线| 精品无码m3u8在线观看| 高清免费成人av| 国产 日韩 欧美在线| 欧美女王vk| 国产精品私拍pans大尺度在线| melody高清在线观看| 欧美日韩夫妻久久| 久久久久成人片免费观看蜜芽| 国产99精品视频| 黄色片一级视频| 日韩av片子| 91青青草免费观看| av免费在线网站| 亚洲第一综合天堂另类专| 国产精品免费av一区二区| 2020国产精品久久精品美国| 国产精品人人妻人人爽人人牛| 亚洲无中文字幕| 国产一区二区在线观看免费播放| 69久成人做爰电影| 日韩在线高清视频| 日韩欧美亚洲系列| 欧美日高清视频| 国产真实夫妇交换视频| 久久久精品人体av艺术| 人妻精品久久久久中文字幕69| 最新国产乱人伦偷精品免费网站| 欧美精品v日韩精品v国产精品| 成人国产激情在线| 欧美乱大交xxxxx另类电影| 香蕉视频成人在线| 欧美精品在线观看播放| 国产精品变态另类虐交| 91免费视频观看| 超碰人人cao| 久久精品盗摄| 亚洲精品国产suv一区88| 日本福利一区| 9a蜜桃久久久久久免费| 偷拍精品精品一区二区三区| 久久精品亚洲热| 亚洲欧美综合一区二区| 日韩欧美国产精品| 波多野结衣在线电影| 一区二区视频在线看| 日韩视频在线观看免费视频| 91丨九色丨国产丨porny| 91精产国品一二三产区别沈先生| 国产亚洲永久域名| 好色先生视频污| 色综合蜜月久久综合网| 欧美精品与人动性物交免费看| 香蕉免费一区二区三区在线观看| 国产精国产精品| 欧美magnet| 久久人人97超碰精品888| 日本在线播放| 亚洲欧美在线免费观看| 色久视频在线播放| 欧美xfplay| 国产手机精品视频| 欧美无乱码久久久免费午夜一区| 欧美一区二区三区不卡视频| 亚洲电影第三页| 成年人一级黄色片| 国产欧美一区二区三区在线看蜜臀| 波多野结衣影院| 国产99久久久久| 亚洲三级在线视频| 久久精品国产免费| 亚洲天堂网2018| 免费观看久久久4p| 能看的毛片网站| 强制捆绑调教一区二区| 久章草在线视频| av不卡在线| 九九爱精品视频| 欧美亚洲三级| 黑人糟蹋人妻hd中文字幕| 亚洲香蕉网站| 精品人妻大屁股白浆无码| 亚洲国产1区| 国产肉体ⅹxxx137大胆| 欧美福利网址| 欧美视频在线第一页| 欧美日本亚洲韩国国产| 精品久久久无码人妻字幂| 国产精品黄色| 男女爱爱视频网站| 我不卡手机影院| 国产资源在线免费观看| 亚洲欧洲日本一区二区三区| 青青青在线视频播放| 激情综合亚洲| 777av视频| 国产亚洲福利| av在线无限看| 国产馆精品极品| 日本不卡视频一区| 9久草视频在线视频精品| 国产免费一区二区三区网站免费| 国产日韩欧美麻豆| 欧美a级片免费看| 亚洲视频免费观看| 一区二区三区福利视频| 色婷婷亚洲精品| 亚洲视频 欧美视频| 欧美视频一区二区在线观看| 亚洲视频中文字幕在线观看| 91精品国产色综合久久| 丝袜视频国产在线播放| 在线精品高清中文字幕| 国产婷婷视频在线| 久久久久久九九九| 日韩a**中文字幕| 91精品在线影院| 超碰97久久| 亚洲午夜在线观看| 国内视频精品| 男女av免费观看| 国产成人免费av在线| 国产在线观看无码免费视频| 国产欧美日韩不卡免费| 欧美激情精品久久| 精品视频1区2区| 高清毛片aaaaaaaaa片| 亚洲毛片在线免费观看| 牛牛在线精品视频| 日本在线精品视频| 日本一区二区三区视频在线看| 国产成人看片| 亚洲第一偷拍| 国产亚洲精品网站| 国产在线视频一区二区三区| 蜜桃无码一区二区三区| 亚洲精品国产a| 精品国产一区二区三区四| 91麻豆精品国产| 久草在线免费福利资源| 九色精品免费永久在线| 国产私拍福利精品视频二区| 狠狠干一区二区| 91一区在线| 国产二区视频在线播放| 成人免费视频免费观看| 精品熟妇无码av免费久久| 亚洲.国产.中文慕字在线| 91久久久久国产一区二区| 国产丝袜高跟一区| 香蕉久久aⅴ一区二区三区| 欧美一级大片在线免费观看| 四虎影视成人精品国库在线观看| 麻豆av一区| 国色天香一区二区| 在线播放av网址| 中文字幕日本乱码精品影院| 人人草在线观看| 精品无人国产偷自产在线| 欧美xxxx少妇| 成人免费看片视频| 久久久久久久久久久妇女| 欧美伦理视频在线观看| 白白色亚洲国产精品| 久久久久久久9999| 91精品欧美久久久久久动漫| 麻豆91在线| 国产精品视频精品| 国产一区毛片| 日本久久精品一区二区| 91啪亚洲精品| 免费一级特黄特色大片| 亚洲精品720p| 美女网站视频在线| av观看久久| 国产欧美精品| 亚洲の无码国产の无码步美| 亚洲一区中文日韩| 手机在线不卡av| 国自产精品手机在线观看视频| 一区二区三区四区精品视频 | 日韩成人av免费| 亚洲婷婷国产精品电影人久久| 91av国产精品| 久久精品国产亚洲| 视频在线观看免费影院欧美meiju| 中文字幕av导航| 精品在线视频一区| 强行糟蹋人妻hd中文| 日韩免费性生活视频播放| av网站在线免费看推荐| 成人中心免费视频| 欧美黄在线观看| 日本一级片在线播放| 在线观看日韩精品| avtt亚洲| 成人黄色激情网| 亚洲人成人一区二区三区| 亚洲欧美色图视频| 狠狠干狠狠久久| 欧美成人xxx| 91精品国产99久久久久久红楼| 欧美激情成人在线| 成年人网站免费在线观看| 欧美日韩国产专区| 国产福利在线视频| 国产精品入口免费| 亚洲一区二区成人| 女人被狂躁c到高潮|