流程扩展节点接入
本文将会详细介绍如何使用 Dotnet SDK
开发流程扩展节点接入服务.
介绍
流程扩展节点接入
是扩展 流程引擎
中的 扩展节点
的一种方式. 在流程引擎现有的功能不满足需求时, 可以通过开发流程扩展节点接入服务来实现自定义的功能.
info
开发步骤
1. 创建项目
- 创建项目C#控制台程序
- 创建
Programs.cs
文件
2. 引入SDK
- 添加nuget包,详细步骤见Dotnet sdk介绍-使用方式
- 引用命名空间
using AiriotSDK.Data;
using AiriotSDK.FlowExtension;
using AiriotSDK.Tools;
3. 实现流程扩展节点接入接口
SDK
中定义了 流程扩展节点接入
, 该接口是平台扩展节点与该服务交互的桥梁. 开发者需要实现这个接口.
/// <summary>
/// Flow interface
/// </summary>
public interface IFlowExtension
{
/// <summary>
/// Schema
/// </summary>
/// <param name="app"></param>
/// <param name="req"></param>
CommResult Schema(IFlowExtensionApp app);
/// <summary>
/// Run
/// </summary>
/// <param name="app"></param>
/// <param name="input"></param>
/// <returns></returns>
CommResult Run(IFlowExtensionApp app, byte[] input);
}
流程扩展节点服务启动时, SDK
会连接平台的 流程引擎
服务, 并接收流程引擎发送的请求.
当流程执行到该扩展节点时, 会发送请求给该服务程序. SDK
接收到请求后会调用对应的服务实现, 并将服务处理结果返回给流程引擎扩展节点.
4. 配置流程扩展节点接入服务
扩展节点接入服务配置主要是服务与平台的连接配置.
extension:
id: 扩展服务唯一标识
name: 扩展服务显示名称
flowEngine:
host: 流程引擎服务地址
port: 流程引擎服务端口
windows系统打包发布时的插件配置
extension:
id: dotnetFlowExtension
name: dotnet扩展节点服务
log:
level: debug
flowEngine:
host: 127.0.0.1
port: 2333
linux系统打包发布时的插件配置
extension:
id: dotnetFlowExtension
name: dotnet扩展节点服务