[开源]一款全自研工作流引擎和自定义表单引擎,支持自定义扩展
![[开源]一款全自研工作流引擎和自定义表单引擎,支持自定义扩展](https://yy123.ink/api/img/1782595714784-y1datv.jpg)
一、开源项目简介
neatlogic-itsm拥有全自研工作流引擎和自定义表单引擎,支持自定义扩展。支持子任务,支持复杂的SLA计算策略,支持多种的工单分配规则,能满足大型集团企业IT运维各种复杂场景。
二、开源协议
使用AGPL-3.0开源协议
三、界面展示
工作流
自带通用、条件、定时等内置节点,如果激活了其他功能模块,还能使用自动化、配置项同步、变更等专用节点。支持串行、并行、条件、汇聚、分流、回退等流转方式。支持通过扩展的方式实现自定义节点。 
-
支持调用第三方接口,流程提供自动处理节点,用于在流程中调用第三方接口。
-
支持webhook触发器,工单或某个节点在指定状态下,触发调用第三方接口动作。
-
支持节点自动开始、自动流转。
-
支持复杂的工单分派逻辑,包括指定分派到人员、组织、角色、干系人、前置步骤处理人指定、或根据表单值指定。
SLA
基于策略的SLA计算方式。 
-
支持精确到工单的时效策略。
-
支持精确到节点的时效策略。
-
支持根据优先级、影响范围、上报人是否VIP等设置动态时效。
-
支持任务超时或临期通知。
-
支持任务超时或临期自动转派。
服务目录

-
支持自定义服务目录及层级关系。
-
支持自定义服务优先级、服务类别、服务上报权限等。
工单中心

工单中心允许用户根据个人角色预设各种搜索条件,方便跟踪各类工单。
四、功能概述
neatlogic-itsm是it服务管理模块,自带工作流引擎、自定义表单、服务目录、SLA管理等功能。
功能列表
|
编号 |
分类 |
功能点 |
说明 |
|
1 |
流程 |
流程组件 |
根据平台加载的模块,自动加载对应的模块内的流程组件,如:事件、问题、变更、发布、自动化、自定义发布、接口调用组件等。 |
|
2 |
支持用户二次开发定义流程组件,如OA系统的审批、堡垒机授权等场景。 |
||
|
3 |
流程管理 |
支持用户自定义运维管理服务流程,支持图形化拖拉拽布局设计。 |
|
|
4 |
流程支持导出、导入,可用于流程在不同环境迁移。 |
||
|
5 |
支持复制现有流程,用于创建与原流程相似的新流程。 |
||
|
6 |
流程支持并行、串行、条件节点,可做汇聚、分流,回退流转路径。 |
||
|
7 |
流程中的节点支持自动开始处理、自动流转设置。 |
||
|
8 |
流程支持用户自定义个性化表单,且支持不同的流程步骤隐藏或禁用部分表单数据。 |
||
|
9 |
流程步骤支持用户自定义个性化的动作,如催办、取消、修改上报内容等配置。 |
||
|
10 |
流程步骤支持用户自定义步骤的通知策略、通知动作、通知内容。 |
||
|
11 |
流程步骤支持用户自定义步骤的外部调用动作,如流程状态变化,实时同步给第三方系统。 |
||
|
12 |
流程提供自动处理节点,用于在编排中调用第三方接口。 |
||
|
13 |
流程提供自动化节点、CMDB节点,可实现平台产品数据和场景闭环。 |
||
|
14 |
表单 |
表单管理 |
支持用户自定义表单,支持拖拉拽方式的表单布局。 |
|
15 |
提供丰富的组件,包括:文本、富文本、时间、密码、下拉、级联下拉、下拉树、超链接、附件上传、用户选择器、表格选择器、表格输入等组件。 |
||
|
16 |
支持同一个表单,在不同的流程节点上,支持设置不同的查看,编辑权限。 |
||
|
17 |
支持表单数据联动,如:表单控件A的值发生改变后,可自动对另一个控件B做显示、隐藏、禁用、赋值、过滤等操作。 |
||
|
18 |
表单设计过程中,支持预览。 |
||
|
19 |
支持表单的表格化布局方式,支持合并行、列等操作。 |
||
|
20 |
支持表单的版本管理,可快速切换指定版本,支持记录版本信息。 |
||
|
21 |
支持复制现有表单,用于创建与原表单类似的新表单。 |
||
|
22 |
表单支持导出、导入,可用于在不同环境的迁移表单。 |
||
|
23 |
服务目录 |
服务类型 |
支持用户新增、修改、删除服务类型。 |
|
24 |
支持常用的服务类型定义,如:事件、问题、变更、发布等。 |
||
|
25 |
支持不同服务类型工单自定义显示颜色、工单序列号生成规则,如:类型+年月日+当天同类型的工单量。 |
||
|
26 |
服务目录 |
支持用户新增、修改、删除服务目录。 |
|
|
27 |
支持无限制的服务目录层级,支持服务目录设置权限、自定义服务目录的上报帮助。 |
||
|
28 |
服务通道 |
支持用户新增、修改、删除服务通道。 |
|
|
29 |
支持多个服务通道可对应一个管理服务流程。 |
||
|
30 |
支持服务通道优先级、服务类型、服务窗口、服务范围(权限)、服务通道帮助等配置。 |
||
|
31 |
支持服务通道指定是否支持移动端使用。 |
||
|
32 |
支持根据服务通道、服务窗口、优先级动态匹配SLA策略。 |
||
|
33 |
支持服务通道快速搜索、收藏。 |
||
|
34 |
工单面板 |
工单中心 |
支持自定义用户角度的个人代办分类,如:我的上报、待我处理、我所在组待处理、我参与工单等类型。 |
|
35 |
支持按工单类型,配置工单查看权限。 |
||
|
36 |
同时支持卡片、列表方式展示工单数据,超时工单提供红色超时标识。 |
||
|
37 |
支持工单的简单查询条件和复杂的组合条件检索。 |
||
|
38 |
用户可根据上报人、处理人、上报通道、是否超时等条件,创建个人工单分类,在工单中心生成固定菜单。 |
||
|
39 |
任务分派 |
人工指派 |
支持指定分派到人员、组织、角色、干系人(例如上报人、待报人)。 |
|
40 |
支持服务台或具备权限用户人工干预转派工单的处理人、组、角色。 |
||
|
41 |
支持由前置步骤处理人指定下游节点处理人。 |
||
|
42 |
自动分派 |
支持根据表单值动态分派到处理人、组、角色。 |
|
|
43 |
支持复杂分派器动态分派处理人。例如,按工作量平均分配,分派至上报人部门领导等。 |
||
|
44 |
用户报障 |
服务上报 |
支持用户PC端、移动端快速发起故障上报。 |
|
45 |
支持具备权限用户通过导入文件方式的批量上报,事后补单。 |
||
|
46 |
支持具备权限用户或服务台代替他人发起问题上报。 |
||
|
47 |
工单处理 |
工单流转 |
支持工单的流转、驳回、取消、管理干预等操作。 |
|
48 |
支持工单上报、处理过程、活动日志等操作审计。 |
||
|
49 |
支持在工单处理过程中转交、请求协助、咨询流转操作。 |
||
|
50 |
支持工单内容同步到知识库,生成知识库文档。 |
||
|
51 |
支持工单在处理过程中关联、转报其他服务工单。 |
||
|
52 |
支持记录工单生命周期的操作日志,包括表单修改、回复、附件上传、工单流转、回退等生命周期的所有变化均记录在案。 |
||
|
53 |
支持查看工单流程图,全局查看工单进度。 |
||
|
54 |
处理人视角支持工作台模式,快速切换当前用户的多个待处理任务。 |
||
|
55 |
时效 |
SLA时效 |
支持精确到工单的时效策略,以工单为单位统计时效。 |
|
56 |
支持精确到节点的时效策略以单节点或多节点为单位统计时效。 |
||
|
57 |
支持根据优先级、影响范围、上报人是否VIP等设置动态时效,可根据优先级、影响范围、上报人是否VIP等设置动态时效。 |
||
|
58 |
支持任务超时或临期通知,可配置超时自动通知,通知时间点可自定义,如超时前N分钟通知,或超时N分钟后通知;通知接收人可自定义。 |
||
|
59 |
支持任务超时或临期自动转派,可配置超时自动转派策略,转派时间可自定义,如超时前N分钟转派,或超时N分钟后转派;转派对象可自定义。 |
||
|
60 |
通知 |
通知模板 |
通知内容支持设置通知模板,通知模板可引用工单信息(包括但不限于工单号、工单标题、服务路径、上报内容、上报人、工单状态、优先级等)。 |
|
61 |
通知对象可以设置为工单的干系人(如上报人、处理人等),也可指定用户,角色。 |
||
|
62 |
通知策略 |
支持通知途径包括电话、短信等,通知插件支持用户二次开发。 |
|
|
63 |
支持用户自定义通知动作点,如:流程步骤激活、转交、完成、回退等。 |
||
|
64 |
支持代办任务定时催办通知,如我的代办事项、我所在组的代办事项催办通知等。 |
||
|
65 |
满意度评价 |
评分模板 |
支持用户自定义评分模板,设置评分维度,并与流程关联。实现不同流程采用不同的评分维度 |
|
66 |
自动评分 |
支持用户在一定的时间窗口内评分,超过时间窗口流程步骤自动关闭。 |
|
|
67 |
移动端 |
服务上报 |
支持服务端用户快速发起对应的服务通道问题上报登记。 |
|
68 |
工单中心 |
移动端与PC端操作界面一致,支持数据检索、工单分类、工单流转。 |
|
|
69 |
工单流转 |
移动端与PC端操作界面一致,支持转交、回退、完成等常规流转操作。 |
|
|
70 |
知识库 |
知识库模板 |
支持知识库模板定义,简化和约束添加知识的规范。 |
|
71 |
知识库 |
支持知识库的基础管理功能,以及对应知识库类型发布审批、版本管理功能。 |
|
|
72 |
支持知识库的版本比对,高亮显示版本差异。 |
||
|
73 |
支持markdown语法、代码块等高亮展示。 |
||
|
74 |
支持工单直接生成知识。 |
||
|
75 |
知识权限 |
支持自定义知识圈、自定义知识圈成员,审批成员,具备对应的权限可访问对应的知识库。 |
五、技术选型
NeatLogic 原生支持多租户(中间件共享,数据库分租户模式),模块化扩展,已包含流程引擎、表单引擎、报表引擎、大屏、仪表板等关键核心功能,对数据规模敏感的功能,例如 CMDB 在设计上做了充分考虑,同时兼顾报表和日常使用的性能要求。仅使用基本功能情况下,仅需要 Tomcat、Nginx 和 Mysql8+,部分高级功能,例如自动采集需要使用 MongoDb。
NeatLogic 提供 docker 镜像部署模式和安装包部署模式,自带所有数据库和中间件,所有关键服务都封装了启停命令,中间件、软件包和配置文件都做了分离,方便用户日常维护。
运行环境
操作系统:Linux,java 版本:8+,进程内存:4G 以上,建议 8G。
依赖组件
|
组件 |
版本 |
必要 |
说明 |
|
Tomcat |
9.0.75 |
✅ |
Servlet容器 |
|
Mysql |
8.0.27 |
✅ |
数据库 |
|
Nginx |
1.16.1 |
✅ |
前端服务器 |
|
MongoDb |
4.4.3 |
✖️ |
自动采集临时数据库,如果使用CMDB自动采集功能必须使用 |
|
MinIO |
5.0.6(2020-05-08T02:40:49Z) |
✖️ |
附件存储,如果不部署自动切换成本地存储模式,多服务共享附件时需要把上传目录设到共享目录上,例如Nas |
|
Nacos |
2.1.0 |
✖️ |
配置统一管理,如果不部署nacos,配置改为读取本地config.properties文件 |
|
ActiveMQ Artemis |
2.17.0 |
✖️ |
消息队列,没有第三方系统消费消息可以不部署 |
注:neatlogic-itsm是it服务管理模块,仅使用基本功能情况下,仅需要 Tomcat、Nginx 和 MySQL8。