最佳实践
文档版本 03
发布日期 2022-01-21
播。
商标声明
和其他华为商标均为华为技术有限公司的商标。
本文档提及的其他所有商标或注册商标,由各自的所有人拥有。
注意
您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。
由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。
目 录
1 传统停车场管理系统数字化改造... 1
1.1 方案概述...1
1.2 在 ROMA Connect 注册设备...2
1.3 配置设备数据转发 MQS... 5
1.4 创建 MQS 到数据库的集成任务... 7
1.5 创建并开放数据 API...11
1.6 设备接入 ROMA Connect...14
2 企业数据以 API 形式开放共享... 16
2.1 方案概述... 16
2.2 通过数据 API 开放数据... 17
2.3 通过函数 API 开放数据... 23
3 跨系统业务数据集成与转换...29
3.1 方案概述... 29
3.2 配置系统间数据集成... 30
4 搭建企业业务开放中台... 35
4.1 方案概述... 35
4.2 配置业务开放中台... 37
1 传统停车场管理系统数字化改造
方案概述
在ROMA Connect注册设备 配置设备数据转发MQS 创建MQS到数据库的集成任务 创建并开放数据API
设备接入ROMA Connect
1.1 方案概述
应用现状
随着城市汽车数量的增加,停车难的问题日益突出。
● 传统停车场靠人力管理,难以实时掌握停车场的车位全景,进出、缴费时间长,
车位流转效率低下。
● 停车用户无法实时了解停车场的空余车位情况,在找车位过程中需要耗费大量时 间,进一步增加道路交通压力。
● 交通部门无法实时掌握城市停车位使用情况,难以针对停车问题制定有效的交通 缓解措施。
解决方案
本章节介绍如何通过ROMA Connect对传统停车场的管理系统进行数字化改造,实现 停车场车辆进出、计费、停车位状态的智能化管理。
1. 停车场车位感应设备和进出门闸设备通过设备集成连接到ROMA Connect,实时 上报车位状态信息和车辆出入信息。
2. 设备上报的数据经规则引擎转发到消息集成的Topic上存储。
3. 通过数据集成任务把Topic中的停车场数据实时写入停车场管理系统的数据库中,
用于车位状态监测和停车计费,并可在IOC大屏上显示。
4. 通过数据API把数据库中的车位状态数据开放给第三方应用,供车主、城市管理者 了解停车场车位情况。
使用ROMA Connect实现停车场管理系统数字化改造的业务流程如下:
1. 在ROMA Connect注册设备
2. 配置设备数据转发MQS
3. 创建MQS到数据库的集成任务
4. 创建并开放数据API
5. 设备接入ROMA Connect
1.2 在 ROMA Connect 注册设备
概述
通过在ROMA Connect注册设备,为设备在ROMA Connect内分配唯一的ID和密码,
使设备可以接入到ROMA Connect。
前提条件
● ROMA Connect与停车场设备和停车场管理系统的网络互通。若通过公网互通,
ROMA Connect实例需绑定弹性IP。
设备的配置为例进行说明。
操作步骤
1. 创建集成应用。
a. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制 台”,进入实例控制台。
b. 在左侧的导航栏选择“集成应用”,单击页面右上角的“创建集成应用”。
c. 在创建集成应用弹窗中填写集成应用的“名称”,然后单击“确认”。
2. 根据停车场设备的能力模型,在ROMA Connect上定义产品。
a. 在左侧的导航栏选择“设备集成 LINK > 产品管理”,单击页面右上角的“创 建产品”。
b. 在创建产品弹窗中配置产品相关信息,完成后单击“确认”。
表1-1 产品配置
参数 配置说明
产品类型 停车场设备通过网络直连ROMA Connect,此处选择
“普通产品”。
协议类型 停车场设备通过集成MQTT客户端接入ROMA Connect,此处选择MQTT协议类型。
应用 选择1中创建的集成应用。
产品模板 本实践配置中未使用产品模板,此处不设置。
产品名称 填写产品的名称,自定义。
厂商名称 填写停车场设备的厂商名字。
厂商ID 填写停车场设备的厂商ID。
产品型号 填写停车场设备的产品型号。
设备类型 选择接入设备的类型,本实践配置中选择默认的
“Default Type”。
模型版本 填写设备的模型版本,本实践配置中不设置。
描述 填写产品的描述信息。
c. 在“产品管理”页面的“产品”页签下,单击2.b中创建的产品名称,进入产 品详情页面。
d. 在“物模型”页签下,单击“创建物模型服务”。
e. 在创建物模型服务弹窗中配置物模型服务相关信息,完成后单击“确认”。
表1-2 物模型服务配置
参数 配置说明
物模型服务名称 填写物模型服务的名称,自定义,例如
“ParkingStatus”。
是否启用 是否启用该物模型服务,保持默认“启用”。
描述 填写物模型服务的描述信息。
f. 选择2.e中创建的物模型服务,在右侧物模型服务的“属性”页签下单击“创 建属性”。
g. 在新增属性弹窗中配置属性相关信息,完成后单击“确认”。
此处以车位感应设备的配置为例进行说明,车位感应设备上报如下信息:
▪
设备物理标识“deviceId”,数据类型为“String”。▪
车位状态属性数据“status”,数据类型为“String”,值为“0”表示 未停车,值为“1”表示已停车。表1-3 服务属性配置
参数 deviceId属性配置说明 status属性配置说明 属性名称 设备上报属性参数的名
称,此处填写为
“deviceId”。
设备上报属性参数的名 称,此处填写为
“status”。
数据类型 设备上报属性参数的数据 类型,此处选择
“String”。
设备上报属性参数的数据 类型,此处选择
“String”。
是否必填 设备是否必须上报该属 性,保持默认必填。
设备是否必须上报该属 性,保持默认必填。
描述 填写属性的描述信息。 填写属性的描述信息。
数据长度 属性值的最大长度,此处
填写为“64”。 属性值的最大长度,此处 填写为“16”。
枚举值 属性的枚举值,此处不设 置。
属性的枚举值,此处填写 为“0,1”,表示未停车或 已停车。
3. 在ROMA Connect上注册设备。
每个停车场设备都需要在ROMA Connect上进行注册。
a. 在左侧的导航栏选择“设备集成 LINK > 设备管理”,单击页面右上角的“创 建设备”。
b. 在创建设备弹窗中填写设备相关配置信息,完成后单击“确认”。
参数 配置说明
应用名称 选择1中创建的集成应用。
所属产品 选择2中所创建的产品。
设备标识 填写设备的物理标识,如设备的IMEI、MAC地址等。
设备名称 填写设备的名称,自定义。
设备密码 填写设备的接入密码,若不设置,则系统自动生成。
确认密码 填写确认密码,若不设置,则系统自动生成。
是否启用 选择是否启用设备,只有启用设备后,设备才可以接入 ROMA Connect,保持默认启用。
设备标签 为设备设置标签信息,用于快速查找设备。
设备描述 填写设备的描述信息。
1.3 配置设备数据转发 MQS
概述
ROMA Connect不会直接存储设备上报的数据,用户需要通过配置数据转发规则,把 设备数据转发到其他服务进行存储。本实践中,我们把设备数据转发到ROMA Connect的消息集成MQS。
操作步骤
1. 创建用于存储设备数据的消息Topic。
a. 在左侧的导航栏选择“消息集成 MQS > Topic管理”,单击页面右上角的
“创建Topic”。
b. 在创建Topic弹窗中填写Topic相关配置信息,然后单击“确定”,创建 Topic。
表1-5 Topic 配置
参数 配置说明
Topic名称 填写Topic的名称,自定义。
集成应用 选择在ROMA Connect注册设备中创建的集成应用。
权限 为Topic所属的集成应用选择对Topic的操作权限,此处 选择“发布+订阅”,即该Topic可用于生产和消费消 息。
分区数 合理设置分区数量,可以提升消息生产与消费的并发性 能。
参数 配置说明
副本数 ROMA Connect会自动在每个副本上备份数据,当其中 一个副本故障时数据依然可用,Topic的副本数越多,
可靠性越高。
老化时间(小
时) 超过老化时间后,Topic中存储的消息将会被删除。
同步复制 客户端向Topic生产消息时,是否把消息复制给所有副 本,然后才向消息客户端返回响应,此处不启用。
同步落盘 消息客户端向Topic生产的每条消息是否立即写入磁 盘,此处不启用。
标签 添加Topic的标签信息,用于快速过滤和查找Topic。
敏感字段 添加Topic的消息敏感字段。若向Topic生成的消息中包 含敏感字段,则敏感字段内容会被屏蔽。此处不添加。
描述 填写Topic的描述信息。
2. 配置数据转发规则。
a. 在左侧的导航栏选择“设备集成 LINK > 规则引擎”,单击页面右上角的“创 建规则”。
b. 在创建规则弹窗中填写规则相关配置信息,完成后单击“确认”。
表1-6 规则配置
参数 配置说明
应用名称 选择在ROMA Connect注册设备中创建的集成应用。
规则名称 填写规则的名称,自定义。
规则描述 填写规则的描述信息。
状态 是否启用该规则,保持默认开启。
c. 在规则列表中单击2.b中创建的规则名称,进入规则详情页面。
d. 在“数据源端”下单击“创建数据源端”,设置数据源端相关配置,然后单 击“保存”。
表1-7 数据源端配置
参数 配置说明
产品名称 选择在ROMA Connect注册设备中所创建的产品。
设备名称 选择“全部设备”。
Topic名称 选择设备发送消息的Topic,格式为:{产品标 识}/out/+。
Topic级别 Topic的级别,根据“设备名称”的选择自动适配,
“设备名称”不做选择,默认为“产品级别”;“设备 名称”选择具体设备则默认匹配为“设备级别”。
base64编码 是否对转发的设备数据进行base64编码,此处不开启。
包含设备信息 转发的设备数据是否包含设备信息,为方便后续识别转 发数据所属的设备,此处开启。
e. 在“数据目的端”下单击“创建数据目的端”,设置数据目的端相关配置,
然后单击“保存”,完成数据转发规则的配置。
表1-8 数据目的端配置
参数 配置说明
数据目的端 本实践中把数据转发到ROMA Connect的消息集成 MQS,此处选择“ROMA MQS”。
连接地址 选择当前ROMA Connect实例的“消息集成 MQS内网 连接地址”,您可以在ROMA Connect实例控制台的
“实例信息”页面中查看得到。
Topic名称 选择1中创建的消息Topic。
用户名 仅当ROMA Connect实例的“MQS SASL_SSL”已开 启时需要配置。
填写“Topic名称”中Topic所属集成应用的Key。
密码 仅当ROMA Connect实例的“MQS SASL_SSL”已开 启时需要配置。
填写“Topic名称”中Topic所属集成应用的Secret。
1.4 创建 MQS 到数据库的集成任务
概述
通过数据集成任务,把MQS中的设备数据进行数据结构转换并写入停车场管理系统的 数据库中。此处我们假设停车场管理系统的数据库为MySQL。
操作步骤
1. 接入MQS数据源。
a. 在左侧的导航栏选择“数据源管理”,单击页面右上角的“接入数据源”。
b. 在接入数据源页面的“默认数据源”页签下,选择“MQS”数据源类型,然 后单击“下一步”。
c. 在页面中填写MQS数据源的相关配置信息。
表1-9 MQS 数据源配置
参数 配置说明
数据源名称 填写MQS数据源的名称,自定义。
集成应用 选择在ROMA Connect注册设备中所创建的集成应用。
描述 填写数据源的描述信息。
连接地址 选择当前ROMA Connect实例的“消息集成 MQS内网 连接地址”,您可以在ROMA Connect控制台的实例信 息页面查看该地址。
是否SSL 仅当ROMA Connect实例的“MQS SASL_SSL”已开启 且“VPC内网明文访问”未开启时,选择“是”,其他 情况下选择“否”。
SSL用户名/应用
Key 仅当“是否SSL”选择“是”时需要配置。
填写配置设备数据转发MQS中创建的Topic所属集成应 用的Key。
SSL密码/应用
Secret 仅当“是否SSL”选择“是”时需要配置。
填写配置设备数据转发MQS中创建的Topic所属集成应 用的Secret。
d. 完成MQS数据源参数配置后,单击“开始检测”,进行数据源的连接测试
▪
若测试结果为“数据源连接成功!”,则继续下一步。▪
若测试结果为“数据源连接失败!”,则检查和修改数据源连接参数配 置,然后单击“重新检测”,直到连接成功为止。e. 单击“创建”,完成MQS数据源的接入。
2. 接入MySQL数据源。
a. 在“数据源管理”页面单击右上角的“接入数据源”。
b. 在接入数据源页面的“默认数据源”页签下,选择“MySQL”数据源类型,
然后单击“下一步”。
c. 在页面中填写MySQL数据源的相关配置信息。
表1-10 数据源配置参数
参数 配置说明
数据源名称 填写数据源的名称,自定义。
集成应用 选择在ROMA Connect注册设备中所创建的集成应用。
描述 填写数据源的描述信息。
连接模式 选择“默认”方式。
主机IP地址 填写MySQL数据库的访问IP地址。
端口 填写MySQL数据库的访问端口,MySQL的默认访问端 口为3306,以数据库的实际配置为准。
数据库名 填写数据表所在的数据库名称。
编码格式 数据库所使用的编码格式。
超时时间(秒) 连接数据库的超时时间,单位为秒。
用户名 访问数据库的用户名,且该用户具备数据库的读写权 限。
密码 访问数据库的用户密码。
d. 完成数据源参数配置后,单击“开始检测”,进行数据源的连接测试
▪
若测试结果为“数据源连接成功!”,则继续下一步。▪
若测试结果为“数据源连接失败!”,则检查和修改数据源连接参数配 置,然后单击“重新检测”,直到连接成功为止。e. 单击“创建”,完成MySQL数据源的接入。
3. 创建MQS到MySQL的数据集成任务。
a. 在左侧的导航栏选择“数据集成 FDI > 任务管理”,单击“创建普通任 务”。
b. 在创建任务页面中填写数据集成任务的相关配置信息。
i. 配置任务基本信息。
表1-11 任务基本信息
参数 配置说明
任务名称 填写任务的名称,自定义。
描述 填写任务的描述信息。
集成模式 选择数据集成的模式。使用MQS作为源端数据源时 仅支持实时任务,此处选择“实时”。
任务标签 添加任务标签,用来对任务进行分类,方便用户快 速查询。为简单起见,此处不设置。
企业项目 选择任务所属的企业项目,保持默认设置
“default”。
ii. 配置源端MQS数据源信息。
表1-12 源端配置信息
参数 配置说明
源端实例 选择当前正在使用的ROMA Connect实例。
源端集成应用 选择在ROMA Connect注册设备中所创建的集成应 用。
源数据类型 选择“MQS”。
数据源名称 选择1中所配置的MQS数据源。
Topic名称 选择配置设备数据转发MQS中所创建的Topic。
是否解析 源端MQS与目标端MySQL的数据结构不一样,需要 对数据进行解析和转换,此处选择“是”。
数据根字段 指从源端获取到的JSON格式数据中,元数据集上层 公共字段的路径。此处不设置。
数据类型 选择从MQS数据源获取的数据格式类型,需要与 MQS实际存储的数据格式一致。存储到MQS的设备 数据为JSON格式,此处选择“JSON”。
消费偏移设置 选择“最新”,即集成最新获取的消息数据。
元数据 指从源端获取到的JSON格式数据中,要集成到目标 端的数据元素。
以车位感应设备的数据为例,我们需要把车位感应 设备信息和车位状态信息集成到目标端数据库中。
● 别名:deviceId,类型:String,解析路径:
data.deviceId
● 别名:status,类型:String,解析路径:
data.status
时区 选择MQS数据源使用的时区,以便ROMA Connect 识别数据的时间戳,默认为GMT+8:00时区(北京时 间)。
iii. 配置目标端MySQL数据源信息。
表1-13 目标端配置信息
参数 配置说明
目标端实例 选择当前正在使用的ROMA Connect实例。
目标端集成应
用 选择在ROMA Connect注册设备中所创建的集成应 用。
目标数据类型 选择“MySQL”。
数据源名称 选择2中所配置的MySQL数据源。
目标端表 选择MySQL数据库中集成数据要写入的数据表。
选择数据表后,单击“选择表字段”,选择车位感 应设备信息和车位状态信息要写入数据库的列字 段。
批次号字段 此处不设置。
仅更新更改的 字段
选择是否只更新值有变化的字段,此处选择开启。
iv. 配置MQS到MySQL的数据映射规则。
单击“自动Mapping”,自动建立源端和目标端数据字段间的映射规 则。如果两端的数据表字段不一致,您需要为目标端字段选择对应的源 端字段。
c. 单击“保存”,完成数据集成任务的创建。
d. 在“任务管理”页面,在刚创建的数据集成任务右侧单击“启动”,启动任 务。
1.5 创建并开放数据 API
概述
通过创建数据API,把停车场管理系统中的车位状态数据开放给第三方应用,供车主、
城市管理者了解停车场车位情况。
操作步骤
1. 创建后端。
a. 在左侧的导航栏选择“服务集成 APIC > 自定义后端”,在“后端列表”页签 中单击“创建后端”。
b. 在创建后端页面填写后端相关配置信息,完成后单击“立即创建”。
表1-14 后端配置
参数 配置说明
后端名称 填写后端的名称,自定义。
集成应用 选择在ROMA Connect注册设备中创建的集成应用。
后端请求方法 选择后端的请求方法,此处选择“GET”。
后端请求路径 填写后端的请求路径,格式如:/serviceName/
interfaceName。
后端安全认证 选择后端的安全认证方式。本实践中开放的API与后端 服务在同一实例内,此处选择“无认证”。
描述 填写后端的描述信息。
参数 配置说明
高级设置 高级设置保持默认设置。
后端创建完成后,页面自动跳转到该后端的编辑器页面,后端类型默认为数 据后端。
2. 配置和部署数据后端。
a. 在编辑器页面左侧单击“添加数据源”。
b. 在添加数据源弹窗中配置数据源信息,完成后单击“立即添加”。
表1-15 数据源配置
参数 配置说明
选择数据源 选择创建MQS到数据库的集成任务中接入的MySQL数据 源。
选择执行语句类
型 选择执行语句的类型,此处选择“SQL”。
高级设置 高级设置保持默认设置。
c. 添加数据源后,在编辑器左侧选择数据源,然后您可以在右侧的语句编辑框 中为数据源添加如下执行语句,从数据库中获取当前空余车位数量。
假设MySQL数据库中存储车位信息和车位状态信息的数据表名为
“ParkingData”,表中车位状态字段为“Status”。
SELECT COUNT(Status) AS FreeNo FROM ParkingData WHERE Status="0";
d. 完成后在页面右上角单击“保存”,保存数据后端配置。
e. 在页面右上角单击“测试”,然后在下方的测试窗口中单击“立即测试”。
在“执行结果”栏查看后端的响应结果是否为如下JSON数据,其中xxx为统 计返回的空余车位数量值。
{"default":[{"FreeNo":xxx}]}
f. 后端测试完成后,在页面右上角单击“部署”,然后在弹窗中单击“立即部 署”,部署数据后端。
3. 发布数据API。
a. 后端部署完成后,在页面右上角单击“发布”。
b. 在发布弹窗中填写发布相关参数,完成后单击“立即发布”,为该后端创建 一个对应的前端数据API,并发布到环境上。
表1-16 发布后端
参数 配置说明
所属分组 选择前端API所属的API分组。若没有可用的API分组,
可单击右侧的“创建分组”,创建一个API分组。
发布环境 选择默认的“RELEASE”环境
前端安全认证 选择前端API的安全认证方式,推荐使用APP认证方式。
● APP认证:表示由ROMA Connect对API请求进行安 全认证。用户调用API时,使用集成应用的Key和 Secret进行API请求的安全认证。
● 华为IAM认证:表示由IAM对API请求进行安全认 证。用户调用API时,使用Token或AK/SK进行API请 求的安全认证。
● 自定义认证:表示使用自定义的函数API对API请求 进行安全认证。
● 无认证:表示API请求不需要认证。
自定义认证 仅当“前端安全认证”选择“自定义认证”时需要配 置。
选择已创建的前端类型自定义认证。
前端请求协议 选择前端API使用的请求协议,可选择“HTTP”、
“HTTPS”和“HTTP&HTTPS”,传输重要或敏感数据 时推荐使用HTTPS。
后端超时 (ms) 后端服务请求的超时时间,默认为60000ms。
重试次数 ROMA Connect调用后端服务失败后的重试次数。
● 值为-1时,表示不开启重试功能。
● 值为0-10时,表示开启重试功能,并根据设置的值 执行重试。
高级设置
前端请求方法 选择前端API的请求方法。“ANY”表示该API支持任意 请求方法。
前端请求路径 填写前端API的请求路径,格式如:/getUserInfo/
userId。
请求路径中的内容区分大小写。
支持跨域(CORS) 是否支持跨域访问API,此处选择不启用。
4. 为数据API绑定独立域名。
a. 在左侧的导航栏选择“服务集成 APIC > API管理”,在“API分组”页签中单 击数据API所属API分组右侧的“更多 > 域名管理”。
b. 在域名管理页签下单击“绑定独立域名”。
c. 在绑定独立域名弹窗中填写要域名配置信息,完成后单击“确定”。
表1-17 独立域名配置
参数 配置说明
域名 填写要绑定的域名。
支持最小TLS版
本 选择域名访问所使用的最小TLS版本。
d. (可选)如果数据API支持HTTPS请求协议,则需要为独立域名添加SSL证 书。否则跳过此步骤。
i. 在已绑定的独立域名右侧单击“添加SSL证书”。
ii. 在添加SSL证书弹窗中配置证书相关信息,完成后单击“确定”,完成 SSL证书的添加。
表1-18 SSL 证书配置
参数 配置说明
证书名称 填写证书的名称,自定义。
证书内容 填写pem编码格式的SSL证书内容。
密钥 填写pem编码格式的SSL证书密钥。
5. 在左侧的导航栏选择“服务集成 APIC > API管理”,在“API列表”页签中单击数 据API的名称,进入API详情页面。
在“调用信息”页签的“请求基础定义”下,可获取数据API的“子域名”、“请 求协议”、“请求方法”和“请求路径”,并提供给第三方应用使用。
1.6 设备接入 ROMA Connect
概述
停车场的车位感应设备通过集成开源MQTT客户端接入ROMA Connect,实现车位状 态信息的上报。
操作步骤
1. 获取MQTT客户端。
根据您所使用的编程语言获取3.1或3.1.1版本的Eclipse paho MQTT Client。
2. 获取设备的接入信息。
a. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制 台”,进入实例控制台。
b. 在左侧的导航栏选择“设备集成 LINK > 设备管理”,在页面中获取设备的连 接信息。
▪
MQTT/MQTTS连接地址:在设备管理页面上方获取设备的接入地址,如 果使用MQTT接入,则获取“MQTT连接地址”;如果使用MQTTS接 入,则获取“MQTTS连接地址”,并下载SSL证书。“客户端ID”、“用户名”和“密码”。
▪
设备的Topic信息:单击设备的名称进入设备详情页面,在Topic列表页签 下,获取设备上报(发布)消息的Topic信息,Topic名称格式为:{产品 标识}/out/{设备标识}。3. 设备集成MQTT客户端。
对车位感应设备进行开发并集成Eclipse paho MQTT Client,在集成开发过程中写 入设备的接入信息,并设置当车位状态变化时,车位感应设备上报设备信息和车 位状态信息。设备上报的数据为JSON格式,格式如下所示。
deviceId为设备的物理标识信息,数据类型为String;status为车位状态信息,数 据类型为String,值为0(未停车)或1(已停车)。
{ "deviceId": "xxxxxx", "status": "0/1"
}
具体开发过程请参考设备集成开发。
4. 设备接入ROMA Connect。
设备完成集成开发后,上电并联网,接入ROMA Connect。此时,在ROMA Connect实例控制台的“设备集成 LINK > 设备管理”页面中,可以看到设备的
“状态”为“在线”。
5. 设备上报车位状态数据。
当车位状态变化时,车位感应设备上报车位状态数据。
– 在ROMA Connect实例控制台选择“消息集成MQS > 消息查询”,选择配置 设备数据转发MQS中所创建的Topic,可看到转发到MQS的设备数据记录。
– 在ROMA Connect实例控制台选择“数据集成 FDI > 任务管理”,单击创建 MQS到数据库的集成任务中创建的任务名称,在任务信息的“日志 > 运行日 志”页签下,可看到任务执行成功的记录。
– 在停车场管理系统的数据库中,可查看写入数据表的车位状态数据。
2 企业数据以 API 形式开放共享
方案概述
通过数据API开放数据 通过函数API开放数据
2.1 方案概述
应用现状
随着信息化技术的不断发展,企业的业务系统越来越多,各业务系统间需要进行数据 的互联互通,以提升企业的运作效率。如何实现企业内新老业务系统之间的数据安全 互通,甚至是跨企业业务系统的数据安全互通,成为企业越来越重视的问题。
● 随着企业的跨区域发展,企业的业务系统也随之部署到各区域子公司中,总公司 与各区域子公司的业务系统间需要时常进行业务交互。若不同业务系统间直接访 问对方的数据库,操作方式过于复杂,且容易发生数据库信息泄露风险。
● 企业在日常运营的过程中,会持续的生产和累积数据资产,大部分企业的数据资 产仅在企业内部使用,资产复用率低。若直接把数据库提供给合作伙伴或第三方 访问,又难以保证数据库的对外安全访问问题。
解决方案
服务集成APIC是ROMA Connect的API集成组件,支持将已有后端服务、数据源和自定 义函数封装成标准的RESTful API,并对外开放,简化分享数据或提供服务的过程,降 低企业之间对接的成本。
本章节介绍如何通过ROMA Connect的服务集成,快速把数据库开放为RESTful API,
不同业务系统间的数据以API方式互相开放访问,同时在开放API时可选择多种安全认 证方式,实现跨网络跨地域应用系统数据间的安全访问。
● 对数据提供方而言,使用RESTful API形式对外开放其数据库中的数据,通过简单 的操作,即可快速、低成本、低风险的开放数据或服务,提供业务增值能力。
● 对数据使用方而言,不再需要定制各种连接客户端,只需要使用一个具备简单 RESTful请求发送能力的客户端,即可轻松获取各种数据库的数据。
ROMA Connect的服务集成直接读取数据库中的数据,把读取到的数据封装为一个 RESTful API,并开放给企业内或企业外的其他业务系统。其他业务系统通过调用该 API,即可获取该业务系统数据库中的数据。
ROMA Connect的服务集成把数据库数据封装为RESTful API有两种实现方式:
● 数据API:通过编写SQL脚本方式,读取数据库中的数据。操作简单方便,但灵活 性较低。
● 函数API:通过编写JavaScript脚本方式,读取数据库中的数据。ROMA Connect 提供了用于读取数据库数据的Java类DataSourceClient,在读取数据后可以通过 JavaScript脚本对数据进行编排适配。操作较复杂,但灵活性更高。
2.2 通过数据 API 开放数据
前提条件
● 确保业务系统所在网络与ROMA Connect的网络互通。
若通过公网互通,ROMA Connect实例需绑定弹性IP。
● 确保业务系统的数据库为ROMA Connect支持的数据源类型。
数据API支持的数据源请参见服务集成支持的数据源。
● 准备一个可用的独立域名,用于作为API的访问域名。
确保已完成独立域名到“服务集成APIC连接地址”的域名解析配置,具体请参考 增加A类型记录集。
若还没有独立域名,您可以通过域名注册服务申请域名,并通过备案中心完成域 名备案。
● 如果数据API使用HTTPS请求协议,您还需要为独立域名申请SSL证书,并获取 pem格式的SSL证书内容和密钥。
业务系统开放数据 API
1. 创建集成应用。
ROMA Connect实例中的资源都要归属到某个集成应用下,在创建其他资源前,
您需要确保有一个集成应用。若已有可用的集成应用,可跳过此步骤。
a. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制 台”,进入实例控制台。
b. 在左侧的导航栏选择“集成应用”,单击页面右上角的“创建集成应用”。
c. 在创建集成应用弹窗中填写集成应用的“名称”,然后单击“确认”。
2. 接入数据源。
配置ROMA Connect接入业务系统的数据库,确保可以正常从数据库读取数据。
不同类型数据源的接入配置不同,此处以MySQL数据库为例,其他类型数据库请 参考接入数据源。
a. 在左侧的导航栏选择“数据源管理”,单击页面右上角的“接入数据源”。
b. 在接入数据源页面的“默认数据源”页签下,选择“MySQL”数据源,然后 单击“下一步”。
c. 在页面中配置数据源的连接信息。
表2-1 数据源连接信息
参数 配置说明
数据源名称 填写数据源的名称,根据规划自定义。建议您按照一定 的命名规则填写数据源名称,方便您快速识别和查找。
集成应用 选择数据源所归属的集成应用。
描述 单击“ ”,编辑数据源的描述信息。
连接模式 选择连接数据库模式。
● 默认:由系统根据用户配置自动拼接数据源的连接 字符串。
● 专业:由用户自己输入JDBC格式的数据源连接字符 串。
连接地址 仅当“连接模式”选择“默认”时需要配置。
填写数据库的连接IP地址和端口号。
数据库名 仅当“连接模式”选择“默认”时需要配置。
填写要接入的数据库名。
编码格式 仅当“连接模式”选择“默认”时可配置。
数据库所使用的编码格式。
超时时间 仅当“连接模式”选择“默认”时可配置。
连接数据库的超时时间,单位为秒。
连接字符串 仅当“连接模式”选择“专业”时需要配置。
填写MySQL数据库的JDBC格式连接串,例如:
jdbc:mysql://{hostname}:{port}/{dbname}。
● {hostname}为数据库的连接地址。
● {port}为数据库的连接端口号。
● {dbname}为要接入的数据库名。
用户名 填写连接数据库的用户名。
密码 填写连接数据库的用户密码。
d. 完成数据源参数配置后,单击“开始检测”,进行数据源的连接测试。
▪
若测试结果为“数据源连接成功!”,则继续下一步。▪
若测试结果为“数据源连接失败!”,则检查和修改数据源连接参数配 置,然后单击“重新检测”,直到连接成功为止。e. 单击“创建”,完成数据源的接入。
3. 创建数据后端。
通过自定义后端,把业务系统的数据转换为一个后端服务。
a. 在左侧的导航栏选择“服务集成 APIC > 自定义后端”,在“后端列表”页签 中单击“创建后端”。
b. 在创建后端页面配置后端信息,完成后单击“立即创建”。
表2-2 后端请求配置
参数 配置说明
后端名称 填写后端的名称,根据规划自定义。建议您按照一定的 命名规则填写后端名称,方便您快速识别和查找。
集成应用 选择后端所属的集成应用。
后端请求方法 选择后端的请求方法,可选择“GET”、“POST”、
“PUT”和“DELETE”。
后端请求路径 填写后端的请求路径,格式如:/getUserInfo/userId。
请求路径中的内容区分大小写。
后端安全认证 选择后端的安全认证方式。
● 签名秘钥:表示使用签名密钥的方式,对请求发送方 进行认证。若使用签名密钥进行认证,调用该后端服 务的API,也需要绑定相同的签名密钥。
● 无认证:表示不对调用请求进行认证。
描述 填写后端的描述信息。
高级设置
参数 配置说明
版本号 填写后端的版本号,自定义,用于区分不同版本的后端 服务,如V1.0。
入参定义 根据实际需要定义后端服务的请求参数。
在“入参定义”下单击“新增入参定义”,添加自定义 后端的请求参数。
● 名称:请求参数的名称,自定义。
● 参数位置:请求参数在后端服务请求中的位置,可选 择“Headers”和“Parameters”。
● 测试界面默认值:仅用于后续的自定义后端测试步 骤,作为参数的默认测试值。在自定义后端部署时不 生效。
● 必填:在后端服务请求中,请求参数是否必填。
● 描述:填写参数的描述信息。
返回类型 选择后端的响应数据格式,可选择“JSON”、“XML”
和“STREAM”。
是否格式化 是否将响应消息体按选择的返回类型进行格式化。
后端创建完成后,页面自动跳转到该后端的编辑器页面,后端类型默认为数 据后端。
c. 在编辑器页面左侧单击“添加数据源”。
d. 在添加数据源弹窗中配置数据源信息,完成后单击“立即添加”。
表2-3 数据源配置
参数 配置说明
选择数据源 选择接入数据源中已创建的数据源。
选择执行语句类
型 选择执行语句的类型,可选择“SQL”和“SP”
(Stored Procedure)。
如果是Redis或MongoDB数据源,选择“SQL”,实际 执行语句为NoSQL。
高级设置
返回对象 填写返回对象的名称,执行语句的执行结果将封装在该 对象中返回。
结果分页选项 执行语句的执行结果是否分页返回。
若同一个数据后端添加多个数据源时,不支持配置“结 果分页选项”。
预编译 是否对执行语句进行预编译,可以防止SQL注入风险。
中添加执行语句,通过执行语句获取要返回的数据。
▪
数据后端支持标准SQL语法,部分语法差异请参见数据API执行语句开 发。▪
如果是Redis或MongoDB数据源,实际为Redis或MongoDB的数据处理 命令。说明
若在SQL语句中同时引用多种数据类型的后端请求参数时,系统会默认把传入的参数 转换为String类型。因此在执行SQL语句时,需要调用相应的函数对非String类型参数 做数据类型转换。
f. 完成后在页面右上角单击“保存”,保存数据后端配置。
g. 测试后端功能。
在页面右上角单击“测试”,在下方的“测试参数”处,根据后端服务的定 义添加请求参数,然后单击“立即测试”,发送请求。在“执行结果”栏查 看后端的响应是否返回所期望的数据。
h. 后端测试完成后,在页面右上角单击“部署”,在确认弹窗中单击“立即部 署”,部署后端服务。
4. 发布数据API。
把数据后端发布为数据API并部署到环境中,即可供其他业务系统调用。
a. 在页面右上角单击“发布”。
b. 在发布弹窗中配置前端API的相关信息,完成后单击“立即发布”,为该后端 创建一个对应的前端数据API,并发布到环境上。
表2-4 发布配置
参数 配置说明
所属分组 选择前端API所属的API分组。若没有可用的API分组,可 单击右侧的“创建分组”,创建一个API分组。
发布环境 选择前端API要发布的环境,对外正式开放API时,应选 择默认环境“RELEASE”。
前端安全认证 选择前端API的安全认证方式,推荐使用APP认证方式。
● APP认证:表示由ROMA Connect对API请求进行安 全认证。用户调用API时,使用集成应用的Key和 Secret进行API请求的安全认证。
● 华为IAM认证:表示由IAM对API请求进行安全认证。
用户调用API时,使用Token或AK/SK进行API请求的 安全认证。
● 自定义认证:表示使用自定义的函数API对API请求进 行安全认证。
● 无认证:表示API请求不需要认证。
自定义认证 仅当“前端安全认证”选择“自定义认证”时需要配 置。
选择已创建的前端类型自定义认证。
参数 配置说明
前端请求协议 选择前端API使用的请求协议,可选择“HTTP”、
“HTTPS”和“HTTP&HTTPS”,传输重要或敏感数据 时推荐使用HTTPS。
后端超时 (ms) 后端服务请求的超时时间,默认为60000ms。
重试次数 ROMA Connect调用后端服务失败后的重试次数。
● 值为-1时,表示不开启重试功能。
● 值为0-10时,表示开启重试功能,并根据设置的值执 行重试。
高级设置
前端请求方法 选择前端API的请求方法。“ANY”表示该API支持任意 请求方法,用于获取数据库数据的API一般使用GET方法 即可。
前端请求路径 填写前端API的请求路径,格式如:/getUserInfo/
userId。
请求路径中的内容区分大小写。
支持跨域(CORS) 是否支持跨域访问API。
浏览器出于安全性考虑,限制从页面脚本内发起的跨域 请求,此时页面只能访问同源的资源。而CORS允许浏览 器向跨域服务器发送XMLHttpRequest请求,从而实现 跨域访问。跨域访问API请参见配置跨域访问API。
5. 为数据API绑定独立域名。
a. 在左侧的导航栏选择“服务集成 APIC > API管理”,在“API分组”页签中找 到数据API所属的API分组。
b. 单击API分组右侧的“更多 > 域名管理”,在域名管理页签下单击“绑定独立 域名”。
c. 在绑定独立域名弹窗中填写要域名配置信息,完成后单击“确定”。
表2-5 独立域名配置
参数 配置说明
域名 填写要绑定的域名。
支持最小TLS版
本 选择域名访问所使用的最小TLS版本。
d. (可选)如果数据API使用HTTPS请求协议,则需要为独立域名添加SSL证 书。否则跳过此步骤。
i. 在已绑定的独立域名右侧单击“添加SSL证书”。
ii. 在添加SSL证书弹窗中配置证书相关信息,完成后单击“确定”,完成 SSL证书的添加。
参数 配置说明
证书名称 填写证书的名称,自定义。
证书内容 填写pem编码格式的SSL证书内容。
密钥 填写pem编码格式的SSL证书密钥。
其他业务系统调用 API
1. 向API提供方获取API的调用信息。
– 获取API的请求信息。
API提供方可在ROMA Connect控制台选择“服务集成 APIC > API管理”,在
“API列表”页签中单击API的名称进入API详情页面,在“调用信息”页签 下,可获取API的“子域名”、“请求协议”、“请求方法”、“请求路径”
和“入参定义”。
– 获取API的认证信息。
根据API的安全认证方式不同,需要获取不同的认证信息。
▪
APP认证:○ 签名认证:向API提供方获取该API所授权集成应用的Key和Secret
(或客户端的AppKey和AppSecret),以及用于调用API的SDK。
○ 简易认证:向API提供方获取该API所授权客户端的AppCode。
○ 其他认证:向API提供方获取该API所授权集成应用的Key和Secret
(或客户端的AppKey和AppSecret)。
▪
华为IAM认证:通过云服务平台的帐号凭证(帐号密码或者AK/SK)进行 认证。如果使用AK/SK进行认证,还需要向API提供方获取用于调用API 的SDK。▪
自定义认证:向API提供方获取请求参数中要携带的自定义认证信息。▪
无认证:无需认证信息。2. 根据获取的API调用信息,拼接并发送API请求,获取所需数据。
2.3 通过函数 API 开放数据
前提条件
● 确保业务系统所在网络与ROMA Connect的网络互通。
若通过公网互通,ROMA Connect实例需绑定弹性IP。
● 确保业务系统的数据库为ROMA Connect支持的数据源类型。
函数API支持的数据源请参见服务集成支持的数据源。
● 准备一个可用的独立域名,用于作为API的访问域名。
确保已完成独立域名到“服务集成APIC连接地址”的域名解析配置,具体请参考 增加A类型记录集。
若还没有独立域名,您可以通过域名注册服务申请域名,并通过备案中心完成域 名备案。
● 如果函数API使用HTTPS请求协议,您还需要为独立域名申请SSL证书,并获取 pem格式的SSL证书内容和密钥。
业务系统开放函数 API
1. 创建集成应用。
ROMA Connect实例中的资源都要归属到某个集成应用下,在创建其他资源前,
您需要确保有一个集成应用。若已有可用的集成应用,可跳过此步骤。
a. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制 台”,进入实例控制台。
b. 在左侧的导航栏选择“集成应用”,单击页面右上角的“创建集成应用”。
c. 在创建集成应用弹窗中填写集成应用的“名称”,然后单击“确认”。
2. 创建函数后端。
通过自定义后端,把业务系统的数据转换为一个后端服务。
a. 在左侧的导航栏选择“服务集成 APIC > 自定义后端”,在“后端列表”页签 中单击“创建后端”。
b. 在创建后端页面配置后端信息,完成后单击“立即创建”。
表2-7 后端请求配置
参数 配置说明
后端名称 填写后端的名称,根据规划自定义。建议您按照一定的 命名规则填写后端名称,方便您快速识别和查找。
集成应用 选择后端所属的集成应用。
后端请求方法 选择后端的请求方法,可选择“GET”、“POST”、
“PUT”和“DELETE”。
后端请求路径 填写后端的请求路径,格式如:/getUserInfo/userId。
请求路径中的内容区分大小写。
后端安全认证 选择后端的安全认证方式。
● 签名秘钥:表示使用签名密钥的方式,对请求发送方 进行认证。若使用签名密钥进行认证,调用该后端服 务的API,也需要绑定相同的签名密钥。
● 无认证:表示不对调用请求进行认证。
描述 填写后端的描述信息。
高级设置
版本号 填写后端的版本号,自定义,用于区分不同的后端服务 版本,如V1.0。
入参定义 根据实际需要定义后端服务的请求参数。
在“入参定义”下单击“新增入参定义”,添加自定义 后端的请求参数。
● 名称:请求参数的名称,自定义。
● 参数位置:请求参数在后端服务请求中的位置,可选 择“Headers”和“Parameters”。
● 测试界面默认值:仅用于后续的自定义后端测试步 骤,作为参数的默认测试值。在自定义后端部署时不 生效。
● 必填:在后端服务请求中,请求参数是否必填。
● 描述:填写参数的描述信息。
返回类型 选择后端的响应数据格式,可选择“JSON”、“XML”
和“STREAM”。
是否格式化 是否将响应消息体按选择的返回类型进行格式化。
后端创建完成后,页面自动跳转到该后端的编辑器页面,后端类型默认为数 据后端。
c. 在编辑器的左上角单击“文件 > 新建函数后端 > 调用Mysql数据源示例”,
在弹窗中单击“确定”,切换后端类型为函数后端。
如果是Redis或MongoDB数据源,可选择“调用Redis数据源示例”。
d. 在右侧的语句编辑框中根据系统提供的函数脚本示例,修改数据源相关接入 配置。importClass(com.roma.apic.livedata.client.v1.DataSourceClient);
importClass(com.roma.apic.livedata.config.v1.DataSourceConfig);
function execute(data){
var config = new DataSourceConfig() config.setType("mysql")
config.setUrl("jdbc:mysql://127.0.0.1:3306/db?allowPublicKeyRetrieval=true") config.setUser("xxxx")
config.setPassword("xxxx")
var ds = new DataSourceClient(config)
return ds.execute("SELECT * FROM person where name = ? and age = ?","Tom",20);
}
▪
在setType、setUrl、setUser和setPassword处配置数据源的连接信息,具体参数配置说明请参考DataSourceConfig类说明。
▪
在ds.execute处设置SQL执行语句,通过执行语句获取要返回的数据。e. 完成后在页面右上角单击“保存”,保存函数后端配置。
f. 测试后端功能。
在页面右上角单击“测试”,在下方的“测试参数”处,根据后端服务的定 义添加请求参数,然后单击“立即测试”,发送请求。在“执行结果”栏查 看后端的响应是否返回所期望的数据。
g. 后端测试完成后,在页面右上角单击“部署”,在确认弹窗中单击“立即部 署”,部署后端服务。
3. 发布函数API。
把函数后端发布为函数API并部署到环境中,即可供其他业务系统调用。
a. 在页面右上角单击“发布”。
b. 在发布弹窗中配置前端API的相关信息,完成后单击“立即发布”,为该后端 创建一个对应的前端函数API,并发布到环境上。
表2-8 发布配置
参数 配置说明
所属分组 选择前端API所属的API分组。若没有可用的API分组,可 单击右侧的“创建分组”,创建一个API分组。
发布环境 选择前端API要发布的环境,对外正式开放API时,应选 择默认环境“RELEASE”。
前端安全认证 选择前端API的安全认证方式,推荐使用APP认证方式。
● APP认证:表示由ROMA Connect对API请求进行安 全认证。用户调用API时,使用集成应用的Key和 Secret进行API请求的安全认证。
● 华为IAM认证:表示由IAM对API请求进行安全认证。
用户调用API时,使用Token或AK/SK进行API请求的 安全认证。
● 自定义认证:表示使用自定义的函数API对API请求进 行安全认证。
● 无认证:表示API请求不需要认证。
自定义认证 仅当“前端安全认证”选择“自定义认证”时需要配 置。
选择已创建的前端类型自定义认证。
前端请求协议 选择前端API使用的请求协议,可选择“HTTP”、
“HTTPS”和“HTTP&HTTPS”,传输重要或敏感数据 时推荐使用HTTPS。
后端超时 (ms) 后端服务请求的超时时间,默认为60000ms。
重试次数 ROMA Connect调用后端服务失败后的重试次数。
● 值为-1时,表示不开启重试功能。
● 值为0-10时,表示开启重试功能,并根据设置的值执 行重试。
高级设置
前端请求方法 选择前端API的请求方法。“ANY”表示该API支持任意 请求方法,用于获取数据库数据的API一般使用GET方法 即可。
前端请求路径 填写前端API的请求路径,格式如:/getUserInfo/
userId。
请求路径中的内容区分大小写。
支持跨域(CORS) 是否支持跨域访问API。
浏览器出于安全性考虑,限制从页面脚本内发起的跨域 请求,此时页面只能访问同源的资源。而CORS允许浏览 器向跨域服务器发送XMLHttpRequest请求,从而实现 跨域访问。跨域访问API请参见配置跨域访问API。
4. 为函数API绑定独立域名。
a. 在左侧的导航栏选择“服务集成 APIC > API管理”,在“API分组”页签中找 到函数API所属的API分组。
b. 单击API分组右侧的“更多 > 域名管理”,在域名管理页签下单击“绑定独立 域名”。
c. 在绑定独立域名弹窗中填写要域名配置信息,完成后单击“确定”。
表2-9 独立域名配置
参数 配置说明
域名 填写要绑定的域名。
支持最小TLS版
本 选择域名访问所使用的最小TLS版本。
d. (可选)如果函数API使用HTTPS请求协议,则需要为独立域名添加SSL证 书。否则跳过此步骤。
i. 在已绑定的独立域名右侧单击“添加SSL证书”。
ii. 在添加SSL证书弹窗中配置证书相关信息,完成后单击“确定”,完成 SSL证书的添加。
表2-10 SSL 证书配置
参数 配置说明
证书名称 填写证书的名称,自定义。
证书内容 填写pem编码格式的SSL证书内容。
密钥 填写pem编码格式的SSL证书密钥。
其他业务系统调用 API
1. 向API提供方获取API的调用信息。
– 获取API的请求信息。
API提供方可在ROMA Connect控制台选择“服务集成 APIC > API管理”,在
“API列表”页签中单击API的名称进入API详情页面,在“调用信息”页签 下,可获取API的“子域名”、“请求协议”、“请求方法”、“请求路径”
和“入参定义”。
– 获取API的认证信息。
根据API的安全认证方式不同,需要获取不同的认证信息。
▪
APP认证:○ 签名认证:向API提供方获取该API所授权集成应用的Key和Secret
(或客户端的AppKey和AppSecret),以及用于调用API的SDK。
○ 简易认证:向API提供方获取该API所授权客户端的AppCode。
○ 其他认证:向API提供方获取该API所授权集成应用的Key和Secret
(或客户端的AppKey和AppSecret)。
▪
华为IAM认证:通过云服务平台的帐号凭证(帐号密码或者AK/SK)进行 认证。如果使用AK/SK进行认证,还需要向API提供方获取用于调用API 的SDK。▪
自定义认证:向API提供方获取请求参数中要携带的自定义认证信息。▪
无认证:无需认证信息。2. 根据获取的API调用信息,拼接并发送API请求,获取所需数据。
3 跨系统业务数据集成与转换
方案概述
配置系统间数据集成
3.1 方案概述
应用现状
在数字化转型过程中,一些大型企业的业务系统数据格式多样化,难以在业务系统间 形成有效信息传输。如何实现多种数据类型之间灵活、快速的数据集成和转换,成为 企业数字化转型所面临的重要问题。
比如企业中不同业务系统数据的存储格式、存储位置各不相同,当一个业务系统需要 获取另一个业务系统的某些数据时,就会出现获取的数据内容不符合要求,无法直接 与自己数据结合使用等问题,不同业务系统间的数据共用难度大,效率低,影响业务 发展。
解决方案
数据集成FDI是ROMA Connect的数据集成组件,支持多种数据类型之间灵活、快速、
无侵入式的数据集成和转换,为业务系统之间建立有效的数据连接。
本章节介绍如何通过ROMA Connect的数据集成,把业务系统A中的数据进行格式转换 后,集成到业务系统B的数据库中使用。后续根据制定的同步计划,定时把业务系统A 中新增的数据同步到业务系统B中,保证了两个系统间的数据同步。
ROMA Connect的数据集成直接读取业务系统A中数据库的数据,并根据集成任务的配 置,筛选出指定数据并进行数据转换,然后把转换后的数据写入到业务系统B的数据库 中。
3.2 配置系统间数据集成
前提条件
● 确保业务系统数据库所在网络与ROMA Connect的网络互通。
若通过公网互通,ROMA Connect实例需绑定弹性IP。
● 确保源端和目标端业务系统的数据库为ROMA Connect支持的数据源类型 数据集成支持的数据源请参见数据集成支持的数据源。
● ROMA Connect具备向目标端数据库写入数据的权限。
配置数据集成任务
1. 创建集成应用。
ROMA Connect实例中的资源都要归属到某个集成应用下,在创建其他资源前,
您需要确保有一个集成应用。若已有可用的集成应用,可跳过此步骤。
a. 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制 台”,进入实例控制台。
b. 在左侧的导航栏选择“集成应用”,单击页面右上角的“创建集成应用”。
c. 在创建集成应用弹窗中填写集成应用的“名称”,然后单击“确认”。
2. 接入数据源。
配置ROMA Connect接入业务系统的数据库,确保可以正常从数据库读取和写入 数据。
不同类型数据源的接入配置不同,此处以Kafka作为源端数据库,MySQL作为目 标端数据库为例进行说明,其他类型数据库请参考接入数据源。
接入源端Kafka数据源:
a. 在左侧的导航栏选择“数据源管理”,单击页面右上角的“接入数据源”。
b. 在接入数据源页面的“默认数据源”页签下,选择“Kafka”类型的数据源,
然后单击“下一步”。
c. 在页面中配置数据源的连接信息。
表3-1 数据源连接信息
参数 配置说明
数据源名称 填写数据源的名称,根据规划自定义。建议您按照一定 的命名规则填写数据源名称,方便您快速识别和查找。
集成应用 选择数据源所归属的集成应用。
描述 编辑数据源的描述信息。
连接地址 填写Kafka的连接地址和端口号。
如果Kafka有多个副本(Broker),可点击“添加地 址”填写多个连接地址。
是否SSL ROMA Connect与Kafka的连接是否使用SSL认证加密。
SSL用户名/应用
Key 仅当“是否SSL”选择“是”时需要配置。
SSL认证所使用的用户名。
SSL密码/应用
Secret 仅当“是否SSL”选择“是”时需要配置。
SSL认证所使用的用户密码。
d. 完成数据源接入配置后,单击“开始检测”,进行数据源的连接测试。
▪
若测试结果为“数据源连接成功!”,则继续下一步。▪
若测试结果为“数据源连接失败!”,则检查数据源状态和数据源连接 参数配置,然后单击“重新检测”,直到连接成功为止。e. 单击“创建”,完成数据源的接入。
接入目标端MySQL数据源:
a. 在“数据源管理”页面单击右上角的“接入数据源”。
b. 在接入数据源页面的“默认数据源”页签下,选择“MySQL”数据源,然后 单击“下一步”。
c. 在页面中配置数据源的连接信息。
表3-2 数据源连接信息
参数 配置说明
数据源名称 填写数据源的名称,根据规划自定义。建议您按照一定 的命名规则填写数据源名称,方便您快速识别和查找。
集成应用 选择数据源所归属的集成应用。
描述 编辑数据源的描述信息。
连接模式 选择连接数据库模式。
● 默认:由系统根据用户配置自动拼接数据源的连接 字符串。
● 专业:由用户自己输入JDBC格式的数据源连接字符 串。
连接地址 仅当“连接模式”选择“默认”时需要配置。
填写数据库的连接IP地址和端口号。
数据库名 仅当“连接模式”选择“默认”时需要配置。
填写要接入的数据库名。
编码格式 仅当“连接模式”选择“默认”时可配置。
数据库所使用的编码格式。
超时时间 仅当“连接模式”选择“默认”时可配置。
连接数据库的超时时间,单位为秒。
参数 配置说明
连接字符串 仅当“连接模式”选择“专业”时需要配置。
填写MySQL数据库的JDBC格式连接串,例如:
jdbc:mysql://{hostname}:{port}/{dbname}。
● {hostname}为数据库的连接地址。
● {port}为数据库的连接端口号。
● {dbname}为要接入的数据库名。
用户名 填写连接数据库的用户名。
密码 填写连接数据库的用户密码。
d. 完成数据源参数配置后,单击“开始检测”,进行数据源的连接测试
▪
若测试结果为“数据源连接成功!”,则继续下一步。▪
若测试结果为“数据源连接失败!”,则检查数据源状态和数据源连接 参数配置,然后单击“重新检测”,直到连接成功为止。e. 单击“创建”,完成源端数据源的接入。
3. 创建数据集成任务。
ROMA Connect通过数据集成任务,读取源端数据库中的数据,进行数据结构转 换后,写入目标端数据库中。
a. 在左侧的导航栏选择“数据集成 FDI > 任务管理”,单击页面的“创建普通 任务”。
b. 在创建任务页面中配置任务基本信息。
表3-3 任务基本信息
参数 配置说明
任务名称 填写任务的名称,根据规划自定义。建议您按照一定的 命名规则填写任务名称,方便您快速识别和查找。
描述 填写任务的描述信息。
集成模式 选择数据集成的模式。
● 定时:指数据集成任务根据任务计划,在指定的时 间执行任务,将源端数据集成到目标端。
● 实时:指数据集成任务不断检测源端数据的变更,
并实时将新增的数据集成到目标端。
使用Kafka作为源端数据源时仅支持实时任务,此处选 择“实时”。
任务标签 添加任务标签,用来对任务进行分类,方便用户快速查 询。
企业项目 选择任务所属的企业项目,保持默认设置“default”。
表3-4 源端信息
参数 配置说明
源端实例 选择当前正在使用的ROMA Connect实例。
源端集成应用 选择源端Kafka数据源所属的集成应用,在接入数据源 时已配置。
源端数据类型 选择“Kafka”。
数据源名称 选择接入数据源中已配置的Kafka数据源。
Topic名称 选择要读取数据的Topic名称。
是否解析 获取到的源端数据是否由ROMA Connect做进一步的数 据解析。
● 若选择是,则ROMA Connect根据配置的解析规 则,对获取到的源端数据解析后再集成到目标端。
● 若选择否,则ROMA Connect会直接透传获取到的 源端数据,并集成到目标端。
本实践中需要对源端数据进行数据结构转换后,再写入 目标端数据库,此处选择“是”。
数据根字段 指从源端获取到的JSON或XML格式数据中,元数据集 上层公共字段的路径。此处不设置。
数据类型 选择从Kafka数据源获取的数据格式类型,需要与Kafka 实际存储的数据格式一致。
消费偏移设置 选择集成最早获取的消息数据还是最新获取的消息数 据。
元数据 指从源端获取到的JSON或XML格式数据中,要集成到 目标端的每一个底层key-value型数据元素。
● 别名:对元数据的自定义名称。
● 类型:元数据的数据类型,需要与源端数据中对应 字段的数据类型一致。
● 解析路径:由于数据根字段不设置,此处填写元数 据的完整路径。
以JSON格式数据{"a": {"b": "xx", "c": "xx"}}为例,参 数b和c为底层数据元素,其解析路径分别为a.b和a.c。
时区 选择Kafka数据源使用的时区,以便ROMA Connect识 别数据的时间戳,默认为GMT+8:00时区(北京时 间)。
d. 配置目标端数据信息。
表3-5 目标端信息
参数 配置说明
目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例 配置后目标端自动关联,无需配置。
目标端集成应用 选择目标端MySQL数据源所属的集成应用,在接入数据 源时已配置。
目标端数据类型 选择“MySQL”。
数据源名称 选择接入数据源中已配置的MySQL数据源。
目标端表 选择集成数据要写入MySQL数据库中的数据表。
选择数据表后,单击“选择表字段”,可以选择要写入 数据的列字段。
批次号字段 选择目标表中类型为String并且字段长度大于14的字段 作为批次号字段,且该批次号字段不能和Mapping信息 中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,
同一批次插入的数据具有相同的批次号,表示这些数据 是同一批次插入的,可以用来定位或者解析回滚。
仅更新更改的字 段
如果开启此选项,仅更新值有变化的表字段。如果关闭 此选项,则更新所有表字段。
e. 配置源端到目标端的数据映射规则。
单击“自动Mapping”,自动建立源端和目标端数据字段间的映射规则。如 果两端的数据表字段不一致,您需要为目标端字段选择对应的源端字段。
f. 单击“保存”,完成数据集成任务的创建。
启动数据集成任务
数据集成任务创建后,“任务状态”为“停止”状态,此时任务不会执行,需先启动 任务。
● 实时任务启动后,ROMA Connect会不断检测源端数据变更。首次执行时,会把 所有符合条件的源端数据集成到目标端,后续若检测到新增数据,则将其集成到 目标端。
● 定时任务启动后,ROMA Connect按照任务计划进行数据集成。首次执行时,会 把所有符合条件的源端数据集成到目标端,后续根据任务配置,集成符合条件的 全量数据或只集成增量数据。
1. 启动数据集成任务。
在数据集成任务左侧勾选上要启动的任务,单击任务列表上方的“启动”,启动 任务。任务启动成功后,“任务状态”变为“启动”。
2. 任务启动后,任务状态为“执行中”,待任务状态为“执行成功”,则表示该数 据集成任务执行完成。
3. 执行完成后,可在目标端数据库的数据表中查看集成同步过来的数据。
4 搭建企业业务开放中台
方案概述
配置业务开放中台
4.1 方案概述
应用现状
使用ROMA Connect进行业务系统数字化改造的一些大型企业中,不同的子公司或部 门基于独立维护的要求,都有自己的ROMA Connect实例。各子公司或部门的业务系 统都对接到自己的ROMA Connect实例,通过API的形式实现数字资产的互通共享。
● 由于各子公司或部门在运作上相互独立,其ROMA Connect实例可能会归属到不 同的VPC上,而且每个ROMA Connect实例都有自己的访问地址。某个子公司或 部门要通过内网访问其他子公司或部门的开放API,就需要打通到多个不同VPC的 网络,访问多个不同的地址,在操作配置上十分复杂。
● 不同子公司或部门在开放API时,定义的API认证方式、格式等会各不相同。某个 子公司或部门要访问其他子公司或部门的开放API时,需要使用不同的认证信息,
增加了子公司或部门间数字资产的共享难度。
解决方案
ROMA Connect的服务集成APIC提供了API级联的能力,通过API级联能力把企业内所 有子公司或部门要开放的API级联到一个ROMA Connect实例上,把该ROMA Connect 实例作为企业内的业务开放中台。所有的子公司或部门都调用业务开放中台的API来获 取共享的数字资产,实现了调用入口的统一,认证信息的统一,提升了数字资产的共 享效率,降低共享难度。
本章节介绍如何通过服务集成的API级联能力,把子公司A和子公司B ROMA Connect 实例的API级联到公司总部的ROMA Connect实例上,把公司总部的ROMA Connect实 例作为业务开放中台,所有数字资产都通过业务开放中台对外共享。
4.2 配置业务开放中台
前提条件
● 级联的实例间网络可以互通。
若级联的两个实例在不同VPC,可以通过创建VPC对等连接,将两个VPC的网络打 通,实现跨VPC访问,具体请参考VPC对等连接说明。
● 级联的实例间跨网互通时,如果经过网闸设备,需要将中台实例和子公司实例的 地址和端口提供给网闸设备,并在网闸设备中采用TCP协议摆渡方式打通网络路 径。也可以通过专用VPN或隧道来实现跨网互通。
配置实例间的级联关系
配置中台实例到各子公司实例的级联关系,使中台实例可使用各子公司实例的开放API 作为后端服务。
1. 在子公司实例配置级联功能。
a. 登录子公司实例A所在的ROMA Connect控制台,在“实例”页面单击实例上 的“查看控制台”,进入实例控制台。
b. 在“实例信息”页面选择“配置参数”页签,并找到级联功能开关参数
“cascade”。
c. 单击参数右侧的“编辑”,把参数运行值设置为“on”,然后单击“保 存”,打开级联功能开关。
d. 单击参数左侧的“ ”,展开并配置级联相关配置参数。