BPMN兼容的引擎

1.12.0 2024-07-01 02:14 UTC

This package is auto-updated.

Last update: 2024-08-31 02:43:14 UTC


README

ProcessMaker Nayra是一个提供基本类以实现流程执行引擎的包。这包括实现活动、事件和网关的模式。

如何执行流程

加载BPMN定义

        $bpmnRepository = new BpmnDocument();
        $bpmnRepository->setEngine($this->engine);
        $bpmnRepository->setFactory($this->repository);
        $bpmnRepository->load('files/ParallelGateway.bpmn');

ParallelGateway diagram

获取流程引用

        $process = $bpmnRepository->getProcess('ParallelGateway');

创建数据存储

        $dataStore = $this->repository->createDataStore();

创建流程实例

        $instance = $this->engine->createExecutionInstance($process, $dataStore);

触发开始事件

        $start = $bpmnRepository->getStartEvent('StartEvent');
        $start->start($instance);

Start Event

执行令牌并运行到下一个状态

        $this->engine->runToNextState();

一个令牌到达第一个任务

        $firstTask = $bpmnRepository->getScriptTask('start');
        $token = $firstTask->getTokens($instance)->item(0);

First task

完成第一个任务

        $startActivity->complete($token);

执行令牌并运行到下一个状态

        $this->engine->runToNextState();

一个令牌到达第二个任务,一个到达第三个任务

        $secondTask = $bpmnRepository->getScriptTask('ScriptTask_1');
        $token1 = $secondTask->getTokens($instance)->item(0);
        $thirdTask = $bpmnRepository->getScriptTask('ScriptTask_2');
        $token2 = $thirdTask->getTokens($instance)->item(0);

Second task and third task

许可证

ProcessMaker Nayra是开源软件,使用Apache 2.0许可证。