中文文檔請參閱中文文檔。
Compileflow是一個非常輕量、高效能、可整合且可擴充的流程引擎。
Compileflow流程引擎是淘寶業務流程管理(TBBPM)的重要組成部分,致力於優化阿里巴巴淘寶商城的營運。具體來說,Compileflow旨在透過轉換進程檔案來產生、編譯和執行java程式碼,專注於純記憶體執行和無狀態進程引擎。
目前,compileflow 為阿里巴巴的電商商店和交易等多個核心系統提供支援。
Compileflow讓開發人員透過流程編輯器設計自己的業務流程,將複雜的業務邏輯視覺化,在設計師和開發工程師之間架起一座橋樑。
1.提供從業務發展思路的設計到執行的端到端業務流程解決方案。
2.提供多種流程引擎,實現視覺化全局架構,使策略輕鬆轉化為視覺化,進而增強業務能力、流程和系統。
3.設計高效率的執行引擎,能夠支援公司快速部署新業務,並且能夠精簡流程,加快開發回應和互動速度。
1.高效能:透過進程檔轉換產生java程式碼,編譯執行簡單有效率。
2、應用場景多元:廣泛應用於阿里巴巴中台解決方案;支援導購、交易等多種業務場景。
3.可整合:輕量、簡潔的設計使其極為容易整合到各種解決方案和業務場景中。
4.完整的插件支援:Compileflow目前支援IntelliJ IDEA和Eclipse插件。在流程設計過程中可以動態產生並即時預覽Java程式碼。所見即所得。
5.製程設計圖:支援匯出為SVG檔案和單元測試程式碼。
外掛程式下載網址:https://github.com/alibaba/compileflow-idea-designer
安裝說明:請使用IntelliJ IDEA本地安裝方式進行安裝。然後重啟IntelliJ IDEA即可啟動。
< dependency >
< groupId >com.alibaba.compileflow</ groupId >
< artifactId >compileflow</ artifactId >
< version >1.2.0</ version >
</ dependency >
在 search.maven.org 檢查可用版本。
注意:Compileflow 僅支援 JDK 1.8 以上版本。
參考下面的KTV demo,透過demo的示範和實踐來了解節點和屬性的配置以及API的使用。
示範說明:N個人去ktv唱歌。每個人唱一首歌。 KTV一般收費為30元/人,但總價超過300元可享10%的折扣。但如果團體總費用低於300元,則需支付全額。
建立bpm文件,如下圖:
注意:bpm檔案的路徑必須與程式碼一致。當流程引擎以文件載入方式執行時,會根據程式碼找到文件。
透過插件設計流程或直接編寫流程xml檔案。
編寫以下單元測試:
public void testProcessEngine () {
final String code = "bpm.ktv.ktvExample" ;
final Map < String , Object > context = new HashMap <>();
final List < String > pList = new ArrayList <>();
pList . add ( "wuxiang" );
pList . add ( "xuan" );
pList . add ( "yusu" );
context . put ( "pList" , pList );
final ProcessEngine < TbbpmModel > processEngine = ProcessEngineFactory . getProcessEngine ();
final TbbpmModel tbbpmModel = processEngine . load ( code );
final OutputStream outputStream = TbbpmModelConverter . getInstance (). convertToStream ( tbbpmModel );
System . out . println ( processEngine . getTestCode ( code ));
processEngine . preCompile ( code );
System . out . println ( processEngine . start ( code , context ));
}
Compileflow 旨在支援淘寶 BPM 規範。它進行了一些調整以相容於 BPMN 2.0 規範,但僅支援部分 BPMN 2.0 元素。如果需要其他元素,可以在原有基礎上進行擴充。
示範快速啟動
原淘寶BPM規範詳解
請聯絡@餘蘇@徐工@梵度@哲良@無相
歡迎註冊本期公司名稱:#9