The world of Industrial IoT (IIoT) is significantly influenced by advancing digitalization and the increasing connectivity of OT and IT. In this context, the REST interface, also known as the RESTful interface, plays a crucial role. As an architectural style, REST offers an efficient way to develop web services and APIs. This article highlights the importance of the REST interface in Industrial IoT, the advantages, use-cases and limitations of the standard.
REST and API-based communication
API-based communication describes the exchange of data between software applications via programming interfaces (APIs). APIs define how different software components can interact with each other. They include the definition of the structure of requests, accepted data formats and the type of return values. This definition facilitates integration between different systems and is particularly useful for distributed systems, cloud services and web applications.
One example of API-based communication is the REST interface (Representational State Transfer). REST offers a standardized approach for the development of APIs and is based on the principle of statelessness. This means that every request to the server is handled independently of previous requests. HTTP methods such as GET, POST, PUT and DELETE are used to exchange resources between client and server. Resources are identified by URIs (Uniform Resource Identifiers).
Advantages of REST in the context of Industrial IoT
REST has become very popular in an industrial context due to the following advantages:
- Simplicity and flexibility: REST uses standard HTTP methods and is therefore easy to understand and implement. It enables flexible communication between different systems and platforms.
- Lightweight: Since REST is stateless and uses simple text messages for communication, it is resource-saving and efficient in data transmission.
- Scalability: REST is highly scalable. This feature makes REST ideal for large, distributed systems, as is often the case in the context of Industrial IoT.
Use-cases of the REST interface in Industrial IoT
In the context of Industrial IoT (IIoT), the REST interface has become very popular due to its simplicity, flexibility, light weight and scalability. REST is the standard for API-based communication, which enables the simple integration of various IT systems and applications. REST APIs are often used for remote monitoring of production facilities, for the collection and distribution of operational data and for IT to IT integration of enterprise and production systems (e.g. ERP, MES).
Limits of REST and API-based communication
The REST interface reaches its limits in many OT/IT integration scenarios. Especially in use-cases that have specific requirements, such as:
- Real-time requirements: REST API is designed for synchronous communication. This means that the client must wait for a request until it receives a response from the server. In real-time applications where fast data transfer and responses are required, this synchronous nature can lead to delays
- Bidirectional communication: REST API is unidirectional by default, with the client initiating requests and the server responding to them. In cases where bi-directional communication is required, for example for sending commands to IoT devices or for a constant update of status information.
- Persistent connections: REST is stateless. This means that each request and response cycle is independent of each other. In environments where persistent connections are required for constant monitoring and control of devices, these constant re-logins and authentications can lead to increased overhead.
- Efficient resource utilization: REST API can be inefficient when it comes to bandwidth usage. Adding headers to each request can lead to increased network load. In applications where efficient use of resources and minimization of traffic is critical, alternative protocols may be preferred.
- Availability in the event of network failures: As REST is not designed for persistent connections, there may be difficulties in restoring connections and maintaining consistency between OT and IT systems in the event of network failures.
Alternatives to API-based communication
In use-cases with the above-mentioned requirements, alternatives to API-based communication are preferable. For example:
- Messaging protocols: Instead of APIs, systems can also use messaging protocols such as message queues or publish-subscribe systems. These enable asynchronous communication between applications.
- Webhooks: Webhooks are HTTP callbacks in which an application automatically receives notifications or data from another application when a certain event occurs.
- File transfer: Applications can share data by exchanging files. This can be done via FTP, SFTP or other file transfer protocols.
- Direct socket connections: Applications can also communicate with each other directly via network sockets, establishing a direct connection for data exchange.
Webhook vs. REST API
- Triggering of actions:
- REST-API: In a REST API, the client initiates the request to the server (request) to retrieve, create, update or delete data. The server responds to this request (response).
- Webhook: In a webhook, the server (the sending application) initiates the communication process by sending data to previously registered endpoints. This happens when a certain event occurs.
- Direction of communication:
- REST-API: Communication takes place at the request of the client. The client sends requests to the server and the server responds with the requested data.
- Webhook: Communication takes place in real time and is initiated by the server. The server sends data to previously registered end points (webhook URLs) when a relevant event occurs.
- Asynchronism:
- REST-API: Communication is synchronised. The client sends a request and waits for an immediate response from the server.
- Webhook: Communication can be asynchronous. The server sends data to the webhook endpoint and the receiving application processes it regardless of when it is sent.
- Use-Cases:
- REST-API: Suitable for use-cases in which the client must actively request information or trigger actions.
- Webhook: Suitable for real-time applications and notifications where the server is to inform other applications about events.
i-flow and REST – Seamless Integration in the Industrial IoT
The combination of i-flow and REST offers a powerful solution for the data infrastructure in the factory. i-flow can serve as an interface to harmonize heterogeneous data from production systems and make it available to IT systems via REST APIs. This enables the seamless integration of production and company data, which helps to increase efficiency and improve the traceability of product and process data. REST ensures flexible and efficient data transfer.