开发最佳实践
集成应专注于具体功能
过于底层的功能不作为集成。比如单纯的Mqtt、Socket、Webhook等。这些底层能力以系统底层组件或者集成自己的依赖的方式实现,而集成和上层功能的交互以实体的事件为主。
不要做功能大而全的集成。一个反面例子,你想开发一个集成用于检测设备是否在线,如果设备不在线,那么就发送邮件通知。实际上,这是两个集成,分别负责设备在线监控,和告警邮件通知。
简单来说,开发的集成不做过度灵活、通用的功能,而应更加专注于拓展特定场景或者平台的具体功能。
前端集成和后端集成
一个集成并不一定同时需要前端部分和后端部分。
- 一个集成如果只需要利用现有Http API接口进行UI交互,那么它可以只是一个前端集成,比如一个新的Dashboard组件等。
- 如果一个集成只接入其它平台或者组件,来同步设备和实 体数据,那么它可以只是一个后端集成,比如网关对接集成。
如果集成逻辑十分复杂,为了更好的用户体验,同时需要UI和后端功能支持,那么这个逻辑上的集成在才会同时需要前端部分和后端部分。 但是实际上Beaver IoT的前端和后端是两个项目,因此逻辑上的一个集成,在实现上,它的前端部分和后端部分还是作为两个集成来看待。