Thingsboard
application
项目主目录
actors:设备,规则链,
config:相关配置类
controller:控制类
exception:异常处理
install:在“install”环境下的配置
service:服务接口,打包后,server要运行的服务的实现
cluster: 集群服务,包括服务发现、服务实例等
script: 脚本执行服务,主要是规则引擎的执行(JS)
transport: 消息传输服务
rpc: 远程调用服务
utils:工具类(杂项)
common
公共工具集、方法集模块
dao-api: 提供服务的接口及对应的自定义注解。
dao: 各种不同结构的实体类,包括生成方法。
message: 消息服务的实现集,包括集群消息、TB的基础服务消息、系统类消息
queue:队列服务的实现集,用的 Kafka
transport:
transport-api: 消息传输通道服务的实现,定义公共接口,给客户端的 transport 层使用
coap:物联网协议
http:传输协议
mqtt:消息队列
util:工具集(异步回调,监听)
dao
数据访问对象集合,整个应用的 DAO 层
msa
微服务半自动构建模块
black-box-tests: 黑盒测试工具
js-excutor: js 执行引擎,基于 nodejs,用于执行规则引擎中的 js 代码(沙盒执行)
tb: tb主应用程序配置
tb-node: tb 程序节点配置
transport: docker 中的消息传输服务的部署配置
web-ui: TB 的 web 用户界面在 docker 中部署的配置,自带 http server
netty-mqtt
TB 的 MQTT 协议的实现,包括连接、发布、订阅、遗嘱、关闭等。
rest-client
REST 客户端
rule-engine
TB 自己开发的规则引擎,包含 3 个组件和 1 套服务接口。
rule-engine-api:服务接口
rule-engine-components:规则引擎组件,包含动作、流程管理、数据、队列、消息、延迟加载、滤波器、消息队列、脚本、RPC 实现、邮件等。
tools
工具模块,MQTT with SSL 客户端。可以测试用。
transport
三种消息传输服务启动器
ui
页面展示相关,使用 AngularJS 和 react 组件