sitewhere 相关技术【译】
核心平台技术
SiteWhere使用以下开源组件:
Apache Tomcat 7
Tomcat提供SiteWhere运行的核心服务器。SiteWhere被部署为在Tomcat服务器启动时运行的Web档案(WAR文件)。
Spring框架
Spring提供了引导SiteWhere并允许对其进行配置和扩展的核心配置框架。SiteWhere没有使用硬编码组件,而是有一组核心的服务提供者接口和接口的默认实现。通过在自定义类中使用相同的接口并通过Spring对其进行插入,第三方可以扩展SiteWhere而不触及核心代码。
Spring Security
Spring Security为SiteWhere提供了核心安全基础架构。SiteWhere拥有自己的用户管理界面,同时还实现了Spring Security的界面,允许它使用现有的安全组件来认证对系统资源的访问。例如,Spring Security注释用于控制谁可以访问REST服务。
Hazelcast
Hazelcast是一个内存数据网格,允许跨服务器集群进行高性能数据处理。SiteWhere使用Hazelcast为正在处理的事件提供基于订阅的访问。外部实体可以使用Hazelcast客户端连接到正在运行的SiteWhere实例,并侦听包括位置数据,度量,警报和命令调用的事件源。
数据存储技术
SiteWhere支持将数据存储在许多可用的具可扩展性的持久性存储中。存储实现通过服务提供者接口插入,因此SiteWhere以一致的方式与它们交互。这允许轻松添加新的存储技术。
MongoDB的
MongoDB是一个NoSQL数据库,可用于存储SiteWhere数据。它安装非常快捷,性能优异,并且不需要HBase的计算资源。
Apache HBase
HBase是一个分布式的非关系数据存储器,随着将新硬件添加到群集中, HBase可以提供相对无限的数据存储和接近线性的可扩展性。SiteWhere使用定制的HBase架构将设备事件存储为 跨群集优分布的时间序列数据,从而可以根据收集的时间快速访问事件。
InfluxDB
InfluxDB是一款高度可扩展的时间序列数据库,支持群集。SiteWhere可以使用混合方法,其中设备管理数据存储在MongoDB中,而事件数据存储在InfluxDB中。通过这种方法,可以使用 Grafana等工具来可视化SiteWhere数据。
集成技术
除了用于实施核心SiteWhere功能的技术之外,还有一些增强SiteWhere的补充技术。这些包括:
Mule AnyPoint平台
Mule AnyPoint是一个集成平台,可以访问几乎所有您可以想象的通信协议或云技术。例如,使用Mule可以从文件系统的文件夹中读取消息,解析它们,然后通过REST服务将它们传送到SiteWhere。在硬币的另一面,你可以让骡子事后回应事件。例如,如果检测到给定类型和严重性的警报事件,Mule可以与Twilio进行交互并发送SMS消息以提醒责任方进行响应。Mule AnyPoint Studio是一个功能强大的IDE,它允许以图形方式设计骡子流。SiteWhere有一个Mule Studio插件,允许流程使用拖放式视觉方法订阅设备事件。
Apache Spark
Apache Spark是大规模数据处理的引擎。SiteWhere提供了一个连接器,用于通过Hazelcast连接将设备事件流入Apache Spark。Spark可以将SiteWhere数据提供给其他组件,以便应用机器学习算法或提取分析数据。
资产管理系统
SiteWhere支持使用资产管理系统将设备与外部实体(如人员,位置或硬件)关联。资产可以使用内置的SiteWhere资产管理功能在内部存储。资产也可以从外部系统加载,以便利用现有信息。
WSO2身份认证服务器
WSO2 Identity Server是一种身份管理解决方案,允许使用SCIM协议从多个不同的存储提供商访问用户信息。这允许SiteWhere的资产管理框架使用单个API访问存储在数据库,LDAP存储或任何其他支持格式中的用户信息。然后可以将人员资产分配给设备,以便SiteWhere对事件做出反应时拥有更多的上下文。例如,如果发生警报情况,SiteWhere可以向注册分配给设备的用户的手机发起自动呼叫。
参考:http://documentation.sitewhere.io/overview.html#asset-management-systems
相关文章