IOT-Tree 1.7.0实现了一个类似Node-Red的流程功能

本人一直研究这个软件,1.7.0版本最近刚刚发布,里面有个大变化,增加了消息流的功能,这个功能和IBM的Node-Red很相似。

Node-Red那个图形化流程很多年前就给了我很深刻的印象,我个人理解是,通过这样的图形化编程机制把软件开发直接分成了两个层次。

  1. 一个是应用层面,给用户、项目实施技术人员或维护人员能够在不需要掌握深入技术的前提下,还可以快速实现业务需要,并且极大的降低后续业务微调成本。毕竟灵活的图形化流程能够在线修改和调整。

  2. 二是在节点开发上,则需要一定技术能力的程序员来完成,但开发方式上就好比制造有一定技术规范的零件,零件功能通过流程节点的封装,屏蔽了复杂的底层知识。

这两个层次在软件工程角度,面对各种纷繁复杂应用的业务场合,基本上是个最优解了。IOT-Tree中的文档介绍里面说,节点应该是偏向有一定封装的中粒度功能,而不是使用细致到每个if else都用这样的图型流程实现------这样的话估计流程会庞大到还不如若干行代码了。

下面,我就简单介绍一下IOT-Tree的这个消息流了。先给一张里面的演示控制流程图:

1 这是后端用Java实现,前端js的消息流实现

Node-Red基于Node.js实现,估计在国内相关程序员比较低很多,搞Java可以研究看看了,毕竟这是一种比较新的系统实现模式。

本质上,虽然IOT-Tree里面的消息流是系统的一部分,但我感觉这个可以完全独立出来。当然,这个软件也是通过提供特定的一些节点来和底层设备、通信和监控数据进行交互的。虽然可以通过这些节点反过来实现控制逻辑,但本质上之前的这些功能也可以看成是这个消息流的节点插件。

2 这个消息流充分利用了java特点

这个消息流一些节点带了旋转标识,表面是个异步运行节点------本质就是有自己的内部运行线程,这样你可以通过这样的节点调整控制流程的时间效率,如果对线程运行机制不了解那么这个理解起来会稍微难一些。不过,这个对于Javaer来说,那就比较亲切了,可以让你设计流程的时候有更好的掌控能力。

3 在线调试功能比较强

IOT-Tree的消息流每个节点都可以打开弹出节点运行状态信息板,这个比Node-Red方便多了。并且Debug节点更强大,直接在自己的状态信息板显示接收到的信息列表。

直接看里面自带的那个演示项目,就可以看出这个使用效果,可以说是比较有创新的。

下面说说美中不足

1 目前文档还缺一些,里面说了可以使用标准java webapp开发提供节点插件,但虽有例子但还缺点文档,估计是刚推出的缘故。

2 节点实现和Node-Red相比,需要实现Java类和对应的参数配置界面,复杂不少。

不过这个我认为其实问题不大,事实上实现节点需要的接口再多也即是那些函数,实现节点真正的复杂还是在节点自身功能上。

最后,如果感兴趣给大家推荐一个链接

iot-tree/web/doc/cn/doc/msgnet/mf_for_ctrl.md at main · bambooww/iot-tree · GitHub

如果上面的链接图片没法看,看下面这个链接

web/doc/cn/doc/msgnet/mf_for_ctrl.md · Jason Zhu/iot-tree - Gitee.com

相关推荐
wei_shuo18 分钟前
飞算 JavaAI 开发助手:深度学习驱动下的 Java 全链路智能开发新范式
java·开发语言·飞算javaai
xcs1940524 分钟前
集运维 麒麟桌面版v10 sp1 2403 aarch64 离线java开发环境自动化安装
运维·自动化
欧阳秦穆40 分钟前
apoc-5.24.0-extended.jar 和 apoc-4.4.0.36-all.jar 啥区别
java·jar
岁忧1 小时前
(LeetCode 面试经典 150 题 ) 58. 最后一个单词的长度 (字符串)
java·c++·算法·leetcode·面试·go
Java初学者小白1 小时前
秋招Day14 - Redis - 应用
java·数据库·redis·缓存
代码老y1 小时前
Spring Boot + 本地部署大模型实现:优化与性能提升
java·spring boot·后端
GodKeyNet1 小时前
设计模式-桥接模式
java·设计模式·桥接模式
guojl2 小时前
Java多任务编排技术
java
丶意冷2 小时前
mybatisPlus分页方言设置错误问题 mybatisPlus对于Oceanbase的Oracle租户分页识别错误
java·数据库·oracle·oceanbase
AiTEN_Robot2 小时前
AGV 无人叉车关键技术问题解析:精准定位算法 / 安全避障逻辑 / 系统对接协议全方案
人工智能·机器人·自动化·制造