Help Center> > Service Overview >What Is ROMA?

What Is ROMA?

Enterprises face many difficulties in digital transformation:

  • There is no unified way to integrate device information.
  • Data formats are diverse, which makes it difficult to transmit and integrate data.
  • There is no convenient way to share data and backend services with partners.
  • There is no secure information channel for cloud and on-premises applications across different networks.

Relationship, Open, Multi-Ecosystem, and Any-Connect (ROMA) is a full-stack application & data integration platform that is derived from Huawei's digital transformation integration practice. It focuses on application and data connections and applies to multiple common scenarios of enterprises. ROMA provides lightweight message, data, API, and device integration to simplify enterprise cloudification and support cross-regional integration for cloud and on-premises applications, helping enterprises achieve digital transformation.

Figure 1 Overall ROMA architecture

ROMA consists of four components: data integration (FDI, short for Fast Data Integration), business integration (APIC, short for API Connect), message integration (MQS, short for Message Queue Service), and device integration (LINK).

FDI

FDI is a data integration component of ROMA. FDI supports flexible, fast, and non-intrusive data integration between multiple data sources, such as text, messages, APIs, and relational and non-relational data. It implements data integration across equipment rooms, data centers, and clouds, and supports automatic deployment, O&M, and monitoring of integrated data.

For example, if an enterprise and its partners use different data sources, it is difficult to achieve effective information transmission. FDI provides multiple methods to convert mainstream data source formats such as MySQL, Kafka, and API. FDI can also cooperate with other services of HUAWEI CLOUD, such as Data Ingestion Service (DIS) and Data Warehouse Service (DWS), to store, convert, and analyze big data.

Table 1 FDI functions

Function

Introduction

Lifecycle management of data integration tasks

FDI allows you to modify data integration task information and view running reports, run logs, and status of data integration tasks.

System management

FDI provides permission, authentication, menu, and user management.

Flexible data reading and writing

  • Reads and writes various types of data by fragment, such as MySQL data, text files, messages, and APIs.
  • Supports automatic recovery of tasks when the service is restored after an unexpected interruption occurs.
  • Supports task scheduling, monitoring, and resumable reading.

Reliable data transmission channel

FDI can continuously monitor data in data channels and supports concurrent execution of more than 100 threads. It monitors the message queue in real time and writes data to the target queue in real time.

Task scheduling

FDI provides comprehensive, flexible, and highly available task scheduling services and supports data integration through APIs or messages. It schedules tasks based on time and data volume rules. FDI assigns tasks to the plug-ins based on the task configuration, and monitors and records the task execution status.

Enterprises can select different data integration modes to suit their service requirements.

  • Incremental real-time integration is applicable to scenarios in which data changes need to be monitored in real time, for example, collecting real-time parameters of devices on the production line.
  • Full real-time integration is ideal for scenarios in which all historical data needs to be monitored in real time, for example, collecting statistics on the supplier shipments.
  • Incremental scheduled integration is ideal for scenarios in which data changes need to be monitored for a period of time. For example, enterprises use new production policies to verify whether production efficiency meets expectations.
  • Full scheduled integration is ideal for scenarios in which all historical data needs to be monitored for a period of time, for example, collecting statistics on the number of vehicles entering or leaving a campus during peak and off-peak hours.

Simple debugging tool

FDI provides a convenient inline debugging tool to verify whether data sources can be accessed, simplifying data integration development and reducing maintenance costs.

API monitoring

FDI monitors the running status of data integration tasks and processes abnormal tasks to ensure service running.

Version management

An integration task can be published in different environments to meet scenario change and version upgrade requirements.

APIC

APIC is an API integration component of ROMA. It opens data and backend services as APIs to simplify data sharing and service provisioning and reduce the cost on interconnection between enterprises. APIC provides SDKs and sample code in different programming languages to simplify the process of opening up backend services as APIs.

For example, if a company headquarters integrates its IT system with those of its branches in different regions, it is too complex to directly access each other's database and information disclosure may occur. If APIs are used to access databases and security is enhanced for API call, cross-network and cross-regional collaboration can be achieved.

Table 2 APIC functions

Function

Introduction

API lifecycle management

The lifecycle of an API involves creating, publishing, removing, and deleting the API.

Simple debugging tool

APIC provides an inline debugging tool to simplify API development and reduce maintenance costs.

Version management

An API can be published in different environments to meet version upgrade requirements.

Request throttling

Request throttling controls the maximum number of times an API can be called by a user or an app within a time period.

The throttling can be accurate to the second, minute, hour, or day. Special applications can be configured to be not affected by request throttling policies.

Monitoring statistics

APIC provides real-time, visualized API monitoring in terms of requests and errors.

Environment variables

When an API is published to different environments, the specified header parameters and special values are added to the API call request header to distinguish different environments. During publication, the variable is replaced with the environment variable value to ensure that the definition of the API does not change.

Custom backend

The custom backend supports data APIs and function APIs.

  • A custom data API allows enterprises to connect a database to APIC as a backend service and convert data service capabilities into REST APIs.
  • A custom function API is similar to a simplified function service. You can compile custom scripts or functions on the APIC backend as a backend service for the frontend to invoke.

Accessing backend services using domain names

You can specify the domain name of a backend service, to which APIC will automatically forward requests.

MQS

MQS is a message integration component of ROMA. Kafka-based MQS uses a unified message access mechanism to provide enterprises with secure and standard message channels for cross-network access.

For example, if an enterprise and its partners use different message systems, interconnection between the message systems is costly, and message transmission after the interconnection may not be reliable or secure. To address these issues, the Kafka protocol can be used for communication between the enterprise and its partners. In this way, MQS functions as a message transfer station to provide secure and reliable message transmission. Specifically, the enterprise can create multiple topics, set the permission for each partner to subscribe to these topics, and publish messages to the topics. Then, partners can subscribe to the topics to obtain messages.

Table 3 MQS functions

Function

Introduction

Kafka-native basic functions

MQS supports topic management and message publishing and subscription after being connected to the client. It also supports visualized operations on the ROMA console, including topic creation and management, user management, permission configuration, and message query.

Monitoring and alarming

MQS allows you to configure monitoring metrics from multiple dimensions, such as instances, nodes, topics, and consumer groups. After monitoring data is reported to the Cloud Eye service, enterprises can view the monitoring data on the Cloud Eye console. In addition, MQS allows you to configure alarm rules so that alarms can be generated if an exception occurs.

Message tracking

MQS can trace the complete link information of message production and consumption, obtain the status of any message, and provide valid data for troubleshooting.

LINK

LINK is a device integration component of ROMA. LINK uses the standard Message Queue Telemetry Transport (MQTT) protocol to connect devices, helping enterprises quickly and easily manage devices on the cloud.

In industrial scenarios, device information and parameters involved in the production process are scattered. If a fault occurs in a production line, it takes a long time to manually collect information and parameters for each device. LINK connects devices to IT systems or big data platforms, and uploads information such as device running status to these platforms so that enterprise customers can see information about all devices graphically and therefore quickly locate faults. In addition, enterprise customers can configure the upper thresholds for device parameters to rule engines of LINK. If real-time parameters of a device are close to the upper thresholds, an alarm notification is sent to users to remind them to stop the device and perform maintenance.

Table 4 LINK functions

Function

Introduction

Publishing and subscribing to messages

LINK supports the standard MQTT protocol. Enterprises can use open-source device SDKs based on this MQTT protocol to easily connect devices to the cloud for message publishing and subscription.

Message exchange between devices and backend applications

You can configure a rule engine on the LINK console to enable a device to communicate with other devices, backends, and other HUAWEI CLOUD products.

LINK supports rule engines to forward data to MQS. Third-party services obtain data through MQS to implement asynchronous message communication between devices and third-party services.

Low-latency access for massive numbers of devices

LINK supports horizontal expansion of Broker and long connections of millions of devices.

Two-way synchronization between devices and applications

LINK supports profile definition and binds the profile with a device shadow. This allows users to implement two-way synchronization of configuration data and status data between devices and applications.

On the one hand, users can set configuration parameters to the device shadow through APIs. When a device is online or goes online, the configuration parameters can be obtained from the device shadow. On the other hand, devices can report their statuses to the device shadow. When a user queries the device status, the user only needs to query the device shadow instead of directly communicating with the device.

Secure information transmission

LINK provides authorization certification for devices and applications and bidirectional binding authorization for topics to ensure device security and uniqueness. It provides TLS-based data transmission channels for secure message transmission.