Factories often have individual integration requirements – from specialized machines and production lines to tailor-made IT systems. The i-flow SDK (Any Connect) makes it possible to expand i-flow in a targeted manner and adapt it to the specific needs of each factory. This allows developers to implement customized solutions that go beyond the standard i-flow connectors (list) and processors. Thereby, the SDK offers the option of seamlessly integrating customer-specific OT and IT systems as well as individual code into the i-flow software. This includes interfaces to machine control systems, ERP systems or AI applications, for example.
Advantages of the i-flow SDK (Any Connect)
Any Connect enables the fast and efficient integration of any system. The advantages are:
Expandability: The i-flow SDK offers developers even easier expansion options to tailor i-flow to individual requirements. This means that specially written services (e.g. interfaces to OT/IT systems or third-party software such as AI applications) can be integrated. This is crucial, as different plants, systems and environments require individual solutions.
Easier development thanks to ready-made modules: The new SDK offers ready-made building blocks (e.g. example implementations) that facilitate the integration of individual services. Developers can save time and resources as they no longer have to program everything from scratch.
Independent of the programming language: The extensions (services) can be written in any programming language. The service is integrated into i-flow via a defined HTTP interface. Any Connect offers integrated middleware support that includes JSON parsing and secure token authentication.
Use-Cases
Any Connect offers a wide range of options that enable customers to expand i-flow with customized solutions.
The following 3 areas of use-cases are particularly relevant:
- Custom IT connectors: In addition to the connection of OT systems, the i-flow SDK offers the option of integrating customer-specific IT systems. This can include, for example, the connection of proprietary interfaces in customer-specific MES or ERP systems.
- Custom processors: The SDK enables the integration of customer-specific processors in i-flow microservices. For example, complex processing procedures for transforming, aggregating or analyzing OT and IT data can be integrated (e.g. AI models via Python runtime to implement a predictive maintenance use-case).
- Custom OT connectors: The SDK enables the integration of services for connecting customer-specific machine interfaces. This includes direct connection and communication with machine controllers and industrial devices. The extensibility of the OT connectors allows proprietary protocols to be connected and specific requirements to be taken into account.
Any Connect Architecture
Any Connect consists of several modules to enable seamless integration and use of customer-specific extensions.
The 4 main components are:
- i-flow Connector “Any Connect Link”: Used to connect the customer-specific extensions (services) with the i-flow software.
- i-flow processor “Any Connect”: Enables the services provided to be called up within a microservice.
- Any Connect Server: The Any Connect Server serves as a central interface for connecting third-party systems and for executing customer-specific code such as ML models. It is usually deployed in a container and provides HTTP endpoints for integrating the services:
- Health Endpoint: Monitors the connection’s health.
- Services Endpoint: Lists all available services, including service definitions.
- Service-specific Endpoints: Offers dedicated endpoints for each service.
- Any Connect SDK: A TypeScript SDK (available on GitHub) as a blueprint for creating an Any Connect server (incl. authentication and Dockerfile). The SDK can also serve as a guide for implementing an Any Connect Server in other programming languages.
How Any Connect works
The implementation of a user-defined service based on the i-flow SDK is essentially carried out in the following 4 steps. A detailed description including an example can be found in the documentation.
- Clone the SDK: Download the i-flow SDK linked above from GitHub.
- Develop the service: A new service can be developed in the following two steps.
- Describe the service: First, the capabilities of the service are defined in the services-controllers.ts. This allows i-flow to detect which services are available using the /services endpoint.
- Implement the service: For each service described in services-controllers.ts, the functionality is implemented in the corresponding file.
- Deploy the service: The SDK supports both local deployment via npm and remote deployment via Docker containers. Select the option that meets your use-case requirements.
- Integration of the services in the i-flow software: Establish the connection to the Any Connect Server via the i-flow connector “Any Connect Link”. You can then call the implemented services via the i-flow processor “Any Connect”.
Conclusion
The i-flow SDK (Any Connect) offers developers the opportunity to create customized solutions and seamlessly integrate customer-specific systems such as OT/IT systems and AI applications into the i-flow software. Thereby, the extensions (services) can be written using ready-made modules in the programming language preferred by the developer.