在介绍这个应用的具体使用之前,我们简单说一下,何为 “代理”。
跟 MixIOT 体系其他的应用一样,“代理” 本身是一种服务,不同的是,代理服务本身并不会主动去做些什么,只有第三方对代理进行了委托,这个服务才会生效。
比如,物流就是一种 “货代(货物代理)”,要把货物送到什么地方,并不需要我们自己去,可以找物流(货代);再比如,通过网购从商家购买了什么东西,商家也不用亲自送,我们也不用亲自取,把东西交给货代就行了。物流(货代)的服务始终存在,但只有在有第三方委托了的情况下,这个代理服务才会生效。
所以,“代理服务” 通常也称为 “委托代理服务”。比如,我们在 “维保管理” 应用中创建了维保项目,这个项目会根据配置要求,在需要的时候生成维保任务,但还需要用某种方式去告知相关人或者相关方面去执行这个维保任务。
再比如,在 “特征检测” 应用中有这样一个需求:在一个小时内,如果设备运行出现某种特征且出现这种特征超过10次的时候,就要发生一个指令,让设备停下来。
但实际上,上述的两种情况,“维保管理” 也好,“特征检测” 也罢,只会通过项目配置去生成维保任务和特征统计结果,并不会去做后续的事情。
这些后续的事情,在 MixIOT 体系中,实际上是由 “代理服务” 集中完成的。也就是说,我们可以在 “代理服务” 中,配置一个代理服务项目,专门去盯着“维保管理”,看看有没有产生新的维保任务,一旦产生了新的维保任务,就马上通知相关人;还可以配置一个代理服务项目, 盯着 “特征检测”,一旦某种特征统计结果超过10次,就给这个设备下发一个停机的反向控制指令。
可以用一张图来表示 MixIOT 的代理服务:
这个图的意思是,我们可以在 “代理服务” 中创建代理服务项目,每个代理服务项目,都盯着某个 MixIOT 应用的某个事件。
一旦这些应用中出现这些事件,代理服务就可以通过指定的“信使服务”把需要的信息发送出去,这些信息可以是 App消息推送、手机短信推送或者电子邮件推送。除此以外,还可以是 MixIOT 体系内部的消息流转。