1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        compileflow輕量級(jí)可擴(kuò)展流程引擎

        聯(lián)合創(chuàng)作 · 2023-09-30 05:43

        compileflow是一個(gè)非常輕量、高性能、可集成、可擴(kuò)展的流程引擎。

        compileflow Process引擎是淘寶工作流TBBPM引擎之一,是專注于純內(nèi)存執(zhí)行,無(wú)狀態(tài)的流程引擎,通過(guò)將流程文件轉(zhuǎn)換生成java代碼編譯執(zhí)行,簡(jiǎn)潔高效。

        compileflow能讓開(kāi)發(fā)人員通過(guò)流程編輯器設(shè)計(jì)自己的業(yè)務(wù)流程,將復(fù)雜的業(yè)務(wù)邏輯可視化,為業(yè)務(wù)設(shè)計(jì)人員與開(kāi)發(fā)工程師架起了一座橋梁。

        Design Intention

        1. 希望為業(yè)務(wù)開(kāi)發(fā)提供端至端,從設(shè)計(jì)至實(shí)現(xiàn)的業(yè)務(wù)流程解決方案。
        2. 提供多種流程引擎,實(shí)現(xiàn)從戰(zhàn)略至商業(yè)能力,商業(yè)能力至業(yè)務(wù)流程,業(yè)務(wù)流程至系統(tǒng),并最終實(shí)現(xiàn)業(yè)務(wù)的可視化全局架構(gòu)。
        3. 設(shè)計(jì)高效的執(zhí)行引擎,實(shí)現(xiàn)對(duì)服務(wù)的快速組合或擴(kuò)展,提升ideavalue的研發(fā)響應(yīng)與交互速度。

        Features

        1. 高性能:通過(guò)將流程文件轉(zhuǎn)換生成java代碼編譯執(zhí)行,簡(jiǎn)潔高效。
        2. 豐富的應(yīng)用場(chǎng)景:在阿里巴巴中臺(tái)解決方案中廣泛使用,支撐了導(dǎo)購(gòu)、交易、履約、資金等多個(gè)業(yè)務(wù)場(chǎng)景。
        3. 可集成:輕量、簡(jiǎn)潔的設(shè)計(jì)使得可以極其方便地集成到各個(gè)解決方案和業(yè)務(wù)場(chǎng)景中。
        4. 完善的插件支持:流程設(shè)計(jì)目前有IntelliJ IDEA、Eclipse插件支持,可以在流程設(shè)計(jì)中實(shí)時(shí)動(dòng)態(tài)生成java代碼并預(yù)覽,所見(jiàn)即所得。
        5. 支持流程設(shè)計(jì)圖導(dǎo)出svg文件和單元測(cè)試代碼。

        Quick Start

        Step1: 下載安裝IntelliJ IDEA插件(可選)

        插件下載地址:https://github.com/alibaba/compileflow-idea-designer

        安裝說(shuō)明:請(qǐng)使用IntelliJ IDEA本地安裝方法進(jìn)行安裝,重新啟動(dòng)IntelliJ IDEA就會(huì)生效。

        Step2: 引入POM文件

        首發(fā)包暫時(shí)還未上傳到公網(wǎng),后續(xù)穩(wěn)定后會(huì)進(jìn)行上傳

        <dependency>
            <groupId>com.alibaba.compileflow</groupId>
            <artifactId>compileflow</artifactId>
            <version>1.0.0</version>
        </dependency>

        注意: compileflow僅支持JDK 1.8及以上版本。

        Step3: 流程設(shè)計(jì)

        下面以ktv demo為例,通過(guò)demo的演示和實(shí)踐了解節(jié)點(diǎn)及屬性的配置和API的使用。

        demo描述:N個(gè)人去ktv唱歌,每人唱首歌,ktv消費(fèi)原價(jià)為30元/人,如果總價(jià)超過(guò)300打九折,小于300按原價(jià)付款。

        S3.1

        創(chuàng)建bpm文件,如下圖:

        注:bpm文件路徑要和code保持一致,在文件加載模式下流程引擎執(zhí)行時(shí)會(huì)根據(jù)code找到文件。

        S3.2

        通過(guò)插件進(jìn)行流程設(shè)計(jì)或者直接編寫(xiě)流程xml文件。

        S3.3 調(diào)用流程

        編寫(xiě)如下單元測(cè)試:

        @Test
        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 processEngine = ProcessEngineFactory.getProcessEngine();
        
            final TbbpmModel tbbpmModel = (TbbpmModel)processEngine.load(code);
            final OutputStream outputStream = TbbpmModelConverter.getInstance().convertToStream(tbbpmModel);
            System.out.println(outputStream);
            System.out.println(processEngine.getTestCode(code));
        
            processEngine.preCompile(code);
        
            System.out.println(processEngine.start(code, context));
        }

        compileflow原生只支持淘寶BPM規(guī)范,為兼容BPMN 2.0規(guī)范,做了一定適配,但僅支持部分BPMN 2.0元素,如需其他元素支持,可在原來(lái)基礎(chǔ)上擴(kuò)展。

        更多資料

        瀏覽 11
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        編輯 分享
        舉報(bào)
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            一个色综合网 | 2018henhenr | 骚逼艹 | 台湾无码片 | 色翁荡熄月月小说 | 韩国精品一区二区三区 | 一级黄片在线 | 一区二区三区四区在线 | 国产日韩欧美综合 | 特级西西WWW.444人体聚色 |