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

相关推荐
caoerzhong4 分钟前
跨境海外仓怎么管:JeeWMS 开源 Java 仓库管理系统打通头程、海外仓与尾程
java·开发语言·开源
MayBaymax9 分钟前
Elasticsearch 原理与用法
java·elasticsearch
马剑威(威哥爱编程)11 分钟前
【AI全栈后端12-02】Spring Boot 跑通第一个 AI 对话接口:HR 政策问答机器人实战
java·人工智能·spring boot·机器人
IT枫斗者枫哥13 分钟前
AI返回合法JSON,字段就可信吗?给抽取结果补一道业务校验
java·人工智能·后端
用户31268748772015 分钟前
Java IO/NIO/AIO 演进:从 BIO 到 Netty 的底层逻辑
java
IT枫斗者枫哥18 分钟前
同一个requestId换了参数,为什么不能直接返回旧结果?
java·后端
天天被压力18 分钟前
【别再到处找免费股票数据API了:官方204个接口,32篇一次讲透 #06】Python实时行情总报错?五档盘口+逐笔一次跑通
java·人工智能·python
智能RPA19 分钟前
农业与矿业行业智能体自动化平台对比评测(计量与巡检场景)
运维·人工智能·python·自动化·agent·rpa
今年下半年32 分钟前
【网站连通性检测】java项目telnet、curl命令的使用
java·curl·telnet
TomEval32 分钟前
【测AI】第05篇:Python 爬虫进阶 —— 动态页面爬取与 Scrapy 框架
人工智能·爬虫·python·scrapy·自动化