读懂SAP Leonardo物联网平台-平台层 – SAP Leonardo Foundation
SAP Leonardo Foundation不是一个独立的产品,而是建立在SAPCloud Platform平台上的一系列功能组合,这些功能组合以微服务的形式进行封装,共同提供了传感器数据采集、海量数据处理、与企业软件系统集成等能力,让客户快速开发端到端的物联网应用,实现业务价值再创造。
AP Leonardo Foundation的基础是SAP Cloud Platform,主要由以下三部分组成:
-
SAP Cloud Platform IoT: 可以将设备连接到SAP云平台,从而在物联网应用中使用这些数据。可以管理物联网设备规模化部署的全生命周期管理,可通过各种各样的物联网协议安全地连接到远程设备,在边缘或云端收集和处理传感器数据,并将数据存储在SAP云平台上以供其他应用程序使用
-
SAP IoT Application Enablement:通过行业成熟的微服务为物联网提供可重用的业务语义,为数字化双胞胎赋能;让构建物联网应用更加快速和高速,驱动物联网应用的规模化,快速实现业务价值
-
SAP Cloud Platform Integration: 主要作用于连接 IoT Services 与SAP S/4HANA等后端业务系统
3.1 SAP Cloud Platform
SAP云平台是一个开放的PAAS平台,提供了内存计算能力、核心的平台服务、和独特的商业服务等,帮助客户构建个性化的、协同的、创新的应用程序。SAP云平台旨在通过使企业组织更快、更轻松、更经济地构建精准应用程序来加速跨业务的数字化转型,而不用关注基础设施的维护与投资。基于开放标准,SAP云平台为云、框架和应用程序提供了巨大的灵活性:
-
所有应用基于单一平台:借助SAP云平台,考核可以使用简单、现代的设计理念和技术,快速构建敏捷的、创新的应用程序,如改进客户体验和物联网的应用程序等
-
开放与稳健的云平台:SAP云平台与CloudFoundry技术紧密集合,为企业提供了自由选择云基础设施提供商的灵活性(比如亚马逊AWS、微软Azure、谷歌云平台等),并在满足法规和合规要求的同时,灵活地将新的云应用程序与现有的投资相结合
-
充分利用已有的投资:SAP云平台可以连接内部部署的应用和云端应用程序,包括SAP商务套件软件S/4HANA、SAAS应用软件SAP Success Factors 、SAP Hybris Cloud、SAP Analytics Cloud等
-
功能强大的应用程序:在SAP App Center,已经有700多个合作伙伴基于SAP云平台构建了1300多个应用程序,SAP App Center是一个充满活力的客户生态系统,它提供可信的第三方解决方案来增强SaaS应用程序
AP云平台提供一系列服务,包括云基础设施、SaaS扩展、大数据分析、Business Services、协同平台、数据与存储、开发平台、集成平台、物联网、移动开发、Multi Cloud、运行环境& 容器、安全组件、用户界面等。下面要介绍的IoT Service与Aplication Enablement也都是部署在云平台之上。
3.2 SAP Cloud Platform IoT
SAP Cloud Platform IoT可以将设备连接到SAP云平台,从而在物联网应用中使用设备传入的数据。它提供了规模化的物联网设备从注册到退出的全生命周期管理能力,通过各种各样的物联网协议安全地连接到远程设备的能力,对边缘端或云端的传感器数据进行收集、处理和存储的能力,把SAP云平台上的数据提供给应用程序进行调用的能力。简而言之,SAP Cloud Platform IoT可以看做是设备层与应用层之间的数据 “搬运工”。
SAP Cloud Platform IoT可以划分为IoT Gateway、IoT Message Management Service、IoT Core Service、IoT Service Cockpit几个核心模块,下面会依次对这些模块进行介绍。
IoT Message Management Service
IoT Message Management Service负责接收通过IoT Gateway Edge/Cloud传入的传感器数据流和设备消息,或者向设备发送远程指令:
-
支持应用组件创建、发送、接收和读取消息
-
允许分布式应用程序的不同组件实现送耦合的、可靠的、异步的通信
-
具有高度可扩展性,支持Message as a Service机制
-
具有可伸缩性,可支持数百万设备的集成
-
支持多租户机制,按照实时数据量进行资源分配
Message Service通过HTTPS提供Publish/Subscribe(P/S) 机制来处理实时数据,P/S模型与点对点模型相对应, P/S模型的特点:
-
发布者和订阅者可以动态地发布或订阅消息内容
-
系统负责将来自主题的多个发布者的消息分发给多个消息订阅者
-
发布者和订阅者有时间依赖性
-
允许只发送消息而不接收消息
-
它提供的灵活而可靠的队列
IoT Core Service
IoT Core Service 提供核心的IoT后端基础服务,包括多租户、语义数据模型、数据流分析、数据管理、大数据接口、应用程序管理等。这些服务通过RESTFULAPI形式提供,任何经过授权的客户都可以使用处理过的数据,并利用这些数据来优化和提升应用程序和后端系统。
IoT Core Service是整个IoT系统的“支柱”,负责将所有IoT服务组件统一在一起,它包括四个层级:
Connectivity Service包括的主要服务有:
-
Rule Engine: 采用IoT Service脚本语言DSL(Domain Specific Language)定义规则,当被内部网络验证通过时,这些规则可以改变中间件的行为
-
Alarm: 当满足特定条件时,IoT Service可以触发报警,任何用户可以通过基于脚本定义的规则来触发报警
-
KPI:允许持续监控不同的KPI指标,比如Application Frame Rate,该指标含义是应用程序通过IoTService发布消息和订阅消息的比率
-
User Identity Management:通过一系列的API和Cockpit提供了用户身份管理和资源访问策略的功能。IoT Service依赖于双向认证技术,以确保与用户的通信安全,用户被分配一个唯一的数字标识,用户可以分配角色
Device and Integration Service:提供可扩展的数据模型支持自定义流程对象,通过一系列的面向服务的架构机制让IoT Service与其它平台集成变得更加方便:
-
Device Management:可对具体的IoT设备进行了抽象,从而建立虚拟的设备数字化表征。通过REST APIs,提供了丰富而灵活的功能包,可以支持搭建各种复杂的、客制化的Device Model:
-
Storage:可以永久地将不同类型的数据存储在历史数据库中。客户可以根据存储的数据类型和数据量来选择存储提供商,无论您选择哪一个存储平台来部署IoT Service,都保证系统的整体可操作性
-
Open Interfaces:开放式接口允许IoT Service与其他服务交付平台(SDP)和外部信息通信技术(ICT)基础设施集成,比如AMQP OASIS、DDS OMG、ETSI、JMS、 MQTT协议、REST API
Application Service:提供了在平台上开发物联网垂直解决方案和应用程序的API和工具集。通过Web接口,IoT API Service可以使得开发者更加熟悉每个API,允许在运行的IoT API Service实例上直接调用API
Messageing Processing:消息处理服务提供了处理传入消息的不同方法。根据实际应用场景,消息可能需要持久地保存在数据库中,或者转发给消息代理、事件处理器、文档存储库或任何其他系统。为了保证这种灵活性,IoT Messageing Management Service提供了消息处理服务。默认的处理服务是SQL,意味着所有传入的消息都存储在数据库中。此外,消息处理服务还提供HTTP和Kafka处理服务。HTTP处理服务可用于将消息转发到任意HTTP端点,并提供基本配置。Kafka处理服务能够连接到一个自给的KafkaCluster。
IoT Service Cockpit
作为IoT service的统一用户界面,是管理用户、租户、Device Management、Message Management、Core Service的统一前端界面,可支持进行高度灵活的项目、任务、场景管理,支持规则、事件和预警的设置,通过统一的用户界面来管理与监控设备的行为。
IoT Security
物联网为每一台设备提供唯一标识,确保只有经过安全认证的设备访问物联网服务,安全认证要防止未经授权的设备发送伪造数据或接收机密数据。SAP的物联网安全保证由边缘端和云端两层组成:
-
边缘端:由于核心服务和设备之间的双向通信可能发生,既要通过存储在设备上的专用私钥来对设备进行认证,又要确保设备上的核心服务接收消息的安全处理
-
云端:IoT Service提供的核心功能是由SAP云平台中托管的组件提供的,即基于SAP云平台的Cloud Foundry环境
有组件及其安全相关信息流可以分解为:
设备层与IoT Gateway Edge之间的安全,取决于设备实现的协议,特定的IoT Gateway Edge负责利用协议安全机制,保证从设备到连接物联网服务的安全性;
设备可以连接到IoT Gateway Cloud(MQTT / REST),通过客户端证书进行安全认证TLS(Transport Layer Security),这里执行的是TLS的最新版本1.2;
IoT Gateway Edge通过加密连接连接到IoT Message Management Service,这种加密连接是基于X.509数字证书的相互认证机制;
应用程序可以从Message Management Service中获取数据,这里的数据连接安全是通过基于TLS的客户证书认证来保证的,核心的REST API端点可以通过基本身份验证进行访问。
3.3 SAP IoT Application Enablement
SAP IoT Application Enablement(AE)是由一系列微服务、apps、UI模板组成,AE运行在SAP云平台的Cloud Foundry环境中,客户通过AE可以快速构建IoT应用,利用大数据存储和分析能力从实时数据获得洞察。AE的目标主要有:
-
快速构建应用:利用SAP云平台Web IDE应用开发模板来创建丰富的UI应用程序,这些应用程序通过AE连接到数据源
-
利用Thing Model来组织数据:利用Thing Model为设备实体创建一个数字化对象(Digital Twin),并可容易地重用元素来创建复杂的模型,用模型自由定义对象的属性
-
生成和管理事件:使用自动或手动的事件管理功能来监视和控制对象或Thing中的更改
-
安全地访问数据:使用基于复杂角色和对象组的授权模型来实现安全访问数据
-
大数据处理:通过提供access to smart data storage来处理海量的实时数据
-
提供分析能力:可以从设备传感器获取的数据中深入挖掘价值
上面是AE的总体技术架构,从技术架构可以看出,AE前端与SAP IoT Service集成,可以获取数据;后端与机器学习、预测性分析集成,实现数据的深度分析,将数据转化为决策输出。从功能上,AE可以分为三大部分:
Dveloper Experience
AE提供了SAP WEB IDE开发平台,可以快速调用应用程序开发模板,让开发者无需编程,通过选择界面样式来创建自己的应用程序,并将这些可重用UI元素连接到数据源。Web IDE具有以下特征:
-
支持Fiori、IoT、大数据、HANA、OData等SAP技术和js、Node.js、java等开源技术
-
简化端到端的应用程序的开发周期,包括原型设计、开发、打包、部署、客户扩展、优化Fiori/ SAPUI5应用
-
基于SAP HANA云平台
-
SAP Web IDE在一年前发布,现在已经拥有25000个用户注册使用
-
每个月发布Web IDE的新版本
-
我们内部有很多开发人员使用Web IDE创建Fiori和S4的应用
通过为开发人员提供向导式开发模式,加快开发速度:
-
让开发者专注于设计而不是代码,在更短的时间内构建新的应用程序
-
通过向导式的开发方法来构建定制化的IoT应用程序
-
采用Storyboard视角实现快速应用程序开发
-
支持水平和垂直部分的可自由定义的页面布局
-
拖拽可重用的UI控件
-
拥有丰富的可重用UI控件,可满足常用IoT应用开发需要,比如地理地图、列表展示、明细页、传感器图表、标准表格、事件列表、传感器图像等。
-
可轻松实现与后端服务的数据绑定
-
可轻松实现控件与事件或操作之间的交互配置
-
实时连接数据和实时预览
-
生成的应用程序可以直接部署,或通过UI5开发编辑器里的UI控件进行定制
Application Services
Application Services包括的主要内容有:
-
Semantic and Hierarchical Thing Model:允许创建一个物理对象(比如一种机器类型)的数字化映射Thing Model,并自由定义ThingModel关联属性;Thind Model可与Device Model实现对应:
-
Thing Registry:包含所有创建的Thing,每个Thing是一个特定Thing Type的实例化对象
-
Location Service:提供业务伙伴或者在平台上注册的Thing的地理位置信息
-
Event Management:用于监控和控制Thing的状态变化,比如当超出某个阈值时,会触发创建一个Event,并可被查询到,Event创建必须作为应用程序实现的一部分
-
Business Partner Management:用来定义业务伙伴,比如员工、合作伙伴、客户等,业务伙伴用于授予特定角色的数据访问权
-
Thing Authorization Model:提供定义对象组合角色的服务,可以分配角色给业务伙伴,分配授权访问给特定的对象组
Big Data & Analytics
按照访问速度和存储成本的不同要求,提供3种不同的存储类型。在数据采集时,根据每个数据存储的属性,每条数据会自动存储到这3种存储类型中。
Hot Storage是最快的存储方案,它是基于SAP HANA 技术,可以对时间序列数据进行聚合,以将数据快速地发送给应用程序。聚合数据会存储1年,然后会迁移到Warm Storage。Hot Storage提供了基于每120秒、每小时、每周的平均值、方差、求和等聚合功能。此外还提供简单地分析查询功能。
Warm storage用于存储和读取时间序列数据中的单个数据点。储存在Warm storage的时间序列数据有60天的标准保留期,但可以设置自定义的保存期,保留期的设置会与数据一起存储。也就是说它可以适应每个新插入的数据集。Warmstorage采用分布式存储技术,对存储和读取时间序列数据的单个数据点进行优化。分析查询不能直接在这种存储类型上执行。
Cold storage能够在几乎无限的时间内低成本地存储大量的时间序列数据,它是成本相对经济的一种长期存储方式。因此,从Coldstorage读取数据不如从Warm storage读取高效。读取时间序列数据通常需要几秒钟才能到达应用程序。从Cold storage读取数据通常是在数据科学应用场景下使用,将一个大的数据集复制到一个数据存储比如SAP HANA、SAP Vora或Hadoop,数据科学家然后用数据来识别数据中的模式或应用机器学习算法。
3.4 SAP Cloud Platform Integration
SAP Cloud Platform Integration托管在SAP云中,它有助于支持基于云和本地部署的应用程序的端到端业务流程集成,实现跨越不同部门、组织或公司的业务流程集成,高效而安全地使用ETL功能在本地系统和云端应用之间传输数据。
包括以下主要特征:
-
运行时的消息处理由运行在SAP云平台上的一组虚拟机执行,确保与Cloud Integration 相关的不同客户的数据是隔离的
-
支持各种连接方式,比如IDOC,SFTP,SOAP / HTTPS,SuccessFactors、OData,HTTPS
-
安全特性,如内容加密和基于证书的通信
-
客户不需要安装集成中间件