为了从物联网实施中获得最大价值,物联网系统需要与企业中的现有软件系统集成。事实上,与外部系统的集成允许网络世界和物理世界之间的交互——代表物理世界的物联网系统和驻留在网络/虚拟世界中的外部系统。用于此模式的符号如下图所示:
图3.12——外部系统集成模式的符号
与任何一般集成的情况一样,物联网系统与另一个企业或遗留系统的集成所带来的好处远远超过了这些系统单独运行时的好处(整体大于各部分的总和)。集成可以实现端到端工作流的自动化,消除数据的重复性,提高决策质量,或消除依赖过时数据的可能性。
物联网和其他企业系统之间的数据同步可以通过数据推送器或数据拉出器实现。这种集成的性质和级别将因域而异,也因用例而异。例如,与工业用例相比,家庭自动化用例往往不太需要与其他系统集成。由于物联网的实施实现了自动化,因此往往会取代或增强现有的工作流程、流程等,因此物联网数据需要插入现有的工作流和流程是很自然的。由于现有工作流是建立在现有或遗留系统之上的,因此迫切需要进行企业集成。
调用集成逻辑的频率将取决于多个因素,例如用例需求和数据同步操作引入的开销。根据要求,同步可以在同步模式(实时同步)下进行,也可以在批处理模式下启用,在批处理方式下,操作以计划的频率和时间运行。通常,这种集成是在没有任何最终用户直接参与的情况下启用的。
物联网系统通常与以下类型的外部系统集成:
- 客户关系管理(CRM)系统
- 供应链管理系统
- 商业智能和分析
- 人力资源数据
- 存储设备或用户元数据的系统
- 企业资源规划系统
提供辅助信息(如天气信息或卫星图像)的系统,可以增强或完善物联网数据产生的见解
集成需求是通过调用企业系统公开的API来实现的。在这样的集成API不可用的场景中,会在遗留系统上创建一个包装器,然后可以封装遗留系统的细微差别。
外部系统可以对本地和全局规则引擎进行补充,如下图所示:
图3.13-与外部系统集成的需求可能存在于本地和全局规则引擎级别
物联网系统可以通过多种方式(取决于应用程序和用例需求)与其他外部系统集成。
尽管下图显示了与全局规则引擎的集成,但在本地规则引擎级别也可以进行类似的集成:
图3.14-可能与外部系统集成的类型
现在让我们来看一下模式摘要。
模式摘要
企业系统集成的模式总结如下:
解决的问题:
商业
将物联网数据与现有企业应用程序集成,其好处如下:
a) 更好的洞察力和决策能力
b) 更准确的业务见解
c) 由于数据核对工作减少而导致的成本或工作量减少
构思和开发更丰富、更具创新性的用例
通过自动化现有的工作流程和流程,相对于强制安装全新的工具、流程和工作流程,加速企业的数字化转型之旅
通过使用设备元数据(来自企业系统)实现数据清理和数据处理
技术的
- 在系统之间同步数据
- 多种集成选项的选择,如同步、定时、基于代理等
- 实现数据级和应用程序级集成
- 调度集成,用于在非高峰时段处理计算密集型工作负载
- 实现实时和批量集成的灵活性
- 使用基于代理的集成将核心物联网系统的演变与下游外部系统解耦
- 尽快标记和修正不同系统之间的数据差距。
- 用法上下文:
- 物联网数据需要推送到现有的外部、企业或遗留系统。
- 物联网数据需要通过从外部系统提取数据来丰富元数据。
- 外部系统的工作流程从一个阶段过渡到另一个阶段是基于物联网系统报告的传感器信息。
- 离线数据集成(如从一个系统导出的数据,然后使用两步过程将其导入另一个系统)既不实用也不合适。
示例使用场景:
- 工人安全用例:从员工数据库(例如,人力资源管理外部系统)中提取员工的个人数据,以通知主管工人是否摔倒(通过跌倒传感器检测到)。
- 智能制造用例:可用零件的数量低于定义的阈值;需要通过从供应商管理系统(VMS)获得供应商信息来发起新鲜供应的订单。
模式原理:
物联网数据的价值有限,除非它被丰富或与其他企业数据源集成。
物联网系统感测环境(和/或该环境中实体的状况)并生成事件,这些事件被输入外部系统以触发工作流程阶段转换(例如,在入口检测到货物的情况下,启动收货通知单(GRN))。
相关模式:
规则引擎(用于触发企业工作流)
AI/ML集成,用于预测事件和趋势(例如,供应和需求趋势),并触发主动行动而非被动行动
假设:
承载规则引擎的系统能够处理额外的负载,以支持集成需求。
外部系统公开接口(例如,API)以满足数据集成需求。
注意事项:
需要根据当前和未来的需求选择最佳集成类型
根据数据并发、最终用户期望和非高峰负载窗口等因素选择理想的同步频率
最大限度地减少对外部系统的影响
反模式场景:
组织可以容忍孤立数据收集/分析的场景。
总结
本章介绍了通常部署在中央服务器上的体系结构模式(AI/ML集成、规则引擎、文件上传和企业系统集成)。本章中的模式以及前几章中详细介绍的模式将使您能够构建任何物联网应用程序。接下来的章节将向我们展示如何将这些模式组合在一起以解决不同领域的复杂问题的示例,从下一章开始,我们将讨论消费者领域的两个具体用例——家庭自动化和智能煮蛋器——并了解如何将我们之前了解的架构模式应用于开发有趣的用例。