
# 产品功能
#### ROMA Connect
应用与数据集成平台（ROMA Connect）是一个全栈式的服务平台，聚焦应用和数据连接，提供数据、API、消息和设备集成能力，帮助企业快速联接云上云下，消除数字鸿沟，实现数字化转型。根据不同的集成业务场景，您可以选择使用不同的ROMA Connect功能。
- **数据集成**：接入源端和目标端数据源，然后通过集成任务进行源端到目标端的数据集成。
- **服务集成**：把API、数据源和自定义函数封装成标准的RESTFul API，并对外开放。

- **消息集成**：创建消息Topic，不同系统通过Topic进行对接，发送和接收消息。
- **设备集成**：在云端定义设备模型和注册设备，设备通过集成SDK接入云端，发送和接收消息。
![](https://support.huaweicloud.com/productdesc-roma/zh-cn_image_0000001384453708.png)
详情请参见：[数据集成FDI使用指导](https://support.huaweicloud.com/usermanual-roma/fdi-ug-190429001.html)、[服务集成APIC使用指导](https://support.huaweicloud.com/usermanual-roma/roma_03_2101.html)、[消息集成MQS使用指导](https://support.huaweicloud.com/usermanual-roma/mqs-ug-190429008.html)、[设备集成LINK使用指导](https://support.huaweicloud.com/usermanual-roma/link-usage-introduction.html)
#### 集成应用
ROMA Connect通过集成应用来实现同一实例内不同用户间的资源隔离。用户在ROMA实例中创建的资源（如数据源、API、Topic、产品等等）都要归属到某个集成应用下，IAM用户默认只能查看和管理自己创建的集成应用和资源，无法查看其他IAM用户创建的集成应用和资源，主账号可查看和管理其下所有IAM用户所创建的资源。
如果需要把自己创建的资源共享给其他IAM用户查看和使用，可通过将集成应用授权给其他IAM用户的方式实现。
详情请参见：[创建ROMA Connect集成应用](https://support.huaweicloud.com/usermanual-roma/create-application.html)、[配置ROMA Connect集成应用授权](https://support.huaweicloud.com/usermanual-roma/authorize-application.html)
#### 数据集成任务
ROMA Connect支持接入多种类型的数据源，并通过数据集成任务实现源端到目标端的数据集成转换。
数据集成任务规定了源端到目标端的数据集成规则，包括两端的数据类型、数据字段的映射规则、数据集成的过滤条件等。ROMA Connect支持两种数据集成任务：
- 数据集成任务（普通任务）：普通数据集成任务，有定时任务和实时任务两种集成模式，支持所有默认类型的数据源，对于数据库类型数据源，只支持单数据表的集成。
  - 定时任务：根据制定的任务计划，定时获取源端数据并集成到目标端。
  
  - 实时任务：实时将源端产生的数据集成到目标端。
   
- 数据集成任务（组合任务）：组合任务，通过CDC（Change Data Capture，数据变更抓取）实现源端到目标端数据的实时同步及增量同步，支持一个源端多个数据表到一个目标端多个数据表的同步，当前仅支持有限的几种数据类型。

- 数据集成任务（编排任务）：编排任务，通过可视化UI界面来创建任务，以降低不同经验背景用户的开发门槛。编排任务主要支持以下功能：
  - 通过一个处理器节点实现一个数据源到N个目标端的采集，能够完成1:N场景的数据采集。
  
  - 任务配置采用拖拽节点的方式实现参数配置，简化流程。
  
  - 编排模式的数据转换模式分为映射模式和脚本模式。JavaScript脚本能够实现从源端读取数据后先进行处理再写入目标端。
   
详情请参见：[创建FDI普通任务](https://support.huaweicloud.com/usermanual-roma/fdi-ug-190624005.html)、[创建FDI组合任务](https://support.huaweicloud.com/usermanual-roma/fdi-ug-190624014.html)、[创建FDI编排任务](https://support.huaweicloud.com/usermanual-roma/roma_03_1005.html)
#### 自定义数据源
ROMA Connect支持常见的数据源类型，如关系型数据库、大数据存储、半结构化存储、消息系统等。如果ROMA Connect支持的数据源类型无法满足您的数据集成场景，您可以自行开发一个数据源读写插件，通过标准的RESTful接口与ROMA Connect进行连接，实现ROMA Connect对这类特殊数据源的读写。这个自定义数据源插件，称为连接器，通过连接器读写的数据源，称为自定义数据源。
为确保ROMA Connect可正常读写数据，连接器开放给ROMA Connect进行数据读写的RESTful接口，必须遵循ROMA Connect定义的接口实现规范。
详情请参见：[ROMA Connect接入自定义数据源](https://support.huaweicloud.com/usermanual-roma/data-source-from-connector.html)
#### 负载通道
ROMA Connect通过创建负载通道，可访问指定服务器中已部署的后端服务，并实现后端服务访问的负载均衡功能。ROMA Connect的负载通道可直接访问同一VPC内的弹性云服务器（ECS），也可以通过IP访问其他VPC内的ECS和私有服务器。
例如，VPC中包含6台ECS，ROMA Connect已创建一条负载通道，并把ECS 01和ECS 04已添加到负载通道中，此时ROMA Connect通过负载通道可以直接访问VPC中的ECS 01和ECS 04。
详情请参见：[创建API的负载通道](https://support.huaweicloud.com/usermanual-roma/roma_03_2104.html)
#### 自定义后端
ROMA Connect支持自定义后端，作为开放API的后端服务。自定义后端有数据后端和函数后端两种类型：
- 数据后端：将数据源封装为标准RESTful格式API，通过调用API可获取数据源中的数据。
- 函数后端：将自定义函数封装为标准RESTful格式API，通过调用API使用函数的功能。
详情请参见：[创建API的数据后端](https://support.huaweicloud.com/usermanual-roma/roma_03_2118.html)、[创建API的函数后端](https://support.huaweicloud.com/usermanual-roma/roma_03_2112.html)
#### 环境与环境变量
**环境**是指API的受限使用范围，API只有在发布到环境后，才能被调用。API可以被发布到不同的自定义环境中，如开发环境、测试环境等。RELEASE是默认存在的环境，也是正式发布环境。
**环境变量**是指在环境上创建的一种变量，该变量固定在环境上。通过环境变量，可实现同一个API，在不同环境中调用不同的后端服务。
例如创建API时，后端服务请求Path中定义了变量"Path"。在环境1中创建了变量"Path"，变量值"/Stage/test"，则API在发布到环境1时，使用"/Stage/test"代替"Path"，在环境1中调用此API时，后端服务请求Path为"/Stage/test"。在环境2中创建了变量"Path"，变量值"/Stage/AA"，则API在发布到环境2时，使用"/Stage/AA"代替"Path"，在环境2中调用此API时，后端服务请求Path为"/Stage/AA"。
![](https://support.huaweicloud.com/productdesc-roma/zh-cn_image_0000001434454481.png "点击放大")
详情请参见：[配置API的发布环境和环境变量](https://support.huaweicloud.com/usermanual-roma/roma_03_2107.html)、[发布APIC创建的API](https://support.huaweicloud.com/usermanual-roma/roma_03_2108.html)
#### 跨域访问
出于安全性考虑，浏览器会限制从页面脚本内发起的跨域请求，此时页面只能访问当前域的资源。CORS允许浏览器向跨域服务器发送XMLHttpRequest请求，从而实现跨域访问。
![](https://support.huaweicloud.com/productdesc-roma/zh-cn_image_0000001594475877.png)
浏览器将CORS请求分为两类：简单请求和非简单请求。
- **简单请求** ：同时满足以下2个条件的，即为简单请求。
  - 请求方法为HEAD/GET/POST。
  
  - HTTP的头信息不超出以下几种字段：Accept、Accept-Language、Content-Language、Last-Event-ID、Content-Type（只限于三个值application/x-www-form-urlencoded、multipart/form-data、text/plain）。
  
  
  对于简单请求，浏览器自动在头信息之中添加一个Origin字段，用于说明本次请求来自哪个源（协议+域名+端口）。服务器根据Origin字段，决定是否同意这次请求。服务器响应消息中包含"Access-Control-Allow-Origin"时，表示同意请求。
  
- **非简单请求** ：不满足以上2个条件的，都为非简单请求。
  对于非简单请求，在正式通信之前，浏览器会增加一次HTTP查询请求，称为预检请求。浏览器查询服务器，当前页面所在的源是否在服务器的许可名单之中，以及可以使用哪些HTTP请求方法和头信息字段。预检通过后，浏览器向服务器发送简单请求。
  
详情请参见：[跨域调用APIC开放的API](https://support.huaweicloud.com/usermanual-roma/roma_03_2124.html)、[配置API的跨域资源共享](https://support.huaweicloud.com/usermanual-roma/roma_03_2147.html)
#### 流量控制
**流量控制**是指在单位时间内对单个API的调用次数进行限制，以保证API能够提供持续稳定的服务。流量控制可以从用户、应用和源IP的维度，对API的调用次数进行限制。
流量控制策略和API本身相互独立，流量控制策略只对与策略绑定的API生效。
详情请参见：[配置API的流量控制](https://support.huaweicloud.com/usermanual-roma/roma_03_2142.html)
#### 访问控制
**访问控制**是指对API的调用来源进行限制，对API的调用进行安全防护。访问控制可以对访问API的IP地址或账号设置黑白名单，允许或拒绝指定IP地址或账号访问API。
访问控制策略和API本身相互独立，访问控制策略只对与策略绑定的API生效。
详情请参见：[配置API的访问控制](https://support.huaweicloud.com/usermanual-roma/roma_03_2143.html)
#### Topic
Topic即消息主题，是消息队列的一种发布与订阅消息的模型，消息的生产、消费及管理围绕着消息主题进行。生产者向消息主题发布消息，多个消费者订阅该消息主题的消息，生产者与消费者彼此并无直接关系。
详情请参见：[创建MQS Topic](https://support.huaweicloud.com/usermanual-roma/mqs-ug-190429002.html)、[使用客户端连接MQS](https://support.huaweicloud.com/usermanual-roma/mqs-ug-190429007.html)、[查看MQS Topic消息内容](https://support.huaweicloud.com/usermanual-roma/mqs-ug-190429004.html)
#### 生产者与消费者
**生产者**为向Topic发布消息的一方，发布消息的最终目的在于将消息内容传递给其他系统，使对方能按照约定处理该消息。
**消费者**为从Topic订阅消息的一方，订阅消息的最终目的在于处理消息内容。如日志集成场景中，监控告警平台作为消费者从Topic订阅日志消息，识别出告警日志并发送告警消息/邮件。
详情请参见：[使用客户端连接MQS](https://support.huaweicloud.com/usermanual-roma/mqs-ug-190429007.html)
#### 产品
产品是某一类具有相同能力或特征的设备合集。每个设备都有一个归属的产品，通过定义产品来确定设备所具备的功能属性。
详情请参见：[创建LINK产品](https://support.huaweicloud.com/usermanual-roma/define-product.html)、[创建LINK产品模板](https://support.huaweicloud.com/usermanual-roma/create-product-template.html)
#### 规则引擎
ROMA Connect不直接存储设备上报的数据，用户可以通过规则引擎配置设备数据的转发规则，把设备上报的数据转发到其他云服务进行存储或做进一步分析处理，供业务应用使用。
详情请参见：[配置LINK设备数据转发规则](https://support.huaweicloud.com/usermanual-roma/rule-engine-basic.html)、[导入导出LINK设备数据转发规则](https://support.huaweicloud.com/usermanual-roma/roma_03_4002.html)
#### 设备通知
ROMA Connect提供设备变更通知服务，当订阅的设备状态发生变化，如设备上线、下线、删除等，ROMA Connect会发送消息到对应的消息集成Topic，方便实时获取设备最新状态信息。
详情请参见：[订阅LINK设备的通知消息](https://support.huaweicloud.com/usermanual-roma/subscription-config.html)
#### 组合应用
组合应用是指将多条业务流整合在一起，形成一个更复杂的自动化解决方案，以满足多样化的业务需求。通过组合应用，用户可以实现跨系统、跨服务的端到端业务流程自动化。
例如，可以将数据采集、处理、存储和通知等多个业务流串联起来，形成一个完整的数据处理管道。组合应用的优势在于其灵活性和可扩展性，用户可以根据业务变化随时调整或扩展工作流的逻辑，同时支持多工作流之间的数据共享和协同工作，从而实现更高效的业务运营。
一个组合应用可以包含多条业务流，并对多条流进行编辑、启动、停止、调试等操作。
详情请参见：[创建组合应用](https://support.huaweicloud.com/usermanual-roma/roma_03_5094.html)、[配置连接器](https://support.huaweicloud.com/usermanual-roma/roma_03_5007.html)、[配置处理器](https://support.huaweicloud.com/usermanual-roma/roma_03_5026.html)
