Fogwing IIoT Architecture
Fogwing Platform components and role in IoT Implementation.
Fogwing Industrial IoT - Enterprise Cloud is the comprehensive suite of various components required to implement end-to-end industrial solution. The below diagram represents the functional modules of the platform and its placement within the infrastructure.
The below diagram will represent various components of the Fogwing platform (as per version 1.5.3) and integration with device providers.
Fogwing Enterprise Cloud - Functional Modules
Let's understand each modules, terminologies and usage for better understanding.
Fogwing Cloud Infrastructure: Fogwing IIoT Platform is fully hosted in the Fogwing Cloud Infrastructure managed by Factana. Even thought the cloud infrastructure provided by Microsoft Azure, the entire platform and modules are built as scalable to meet the industrial use cases.
Device Management: This module is the repository of all devices configured in the Fogwing platform. Both Edge devices and LoRaWAN devices are configured in the system to make the validate by the network before accept the data. In order to ensure only secure device are connected to the IoThub network, the devices must be configured in the Edge and Gateway configurations.
Edge - In Fogwing terminology, all wireless devices are considered as Edge devices. Edge device could be capable to sending data to IoThub or Send and Receive instructions from IoThub.
Network (Edge and LPWAN Network): Fogwing IoThub is a Message Broker Service which supports MQTT, MQTTS, UDP and API interfaces for any devices to connect and communicate with Fogwing platform. The IoThub supports two category of device configuration and networking. One is advanced wireless technologies such as Wireless Network (Fogwing terms as Edge Network) via 2G/3G/4G/5G/LTE-M and other one is LPWAN (Low Power Wide Area Network) , LoRaWAN, NB-IoT and Sigfox. LoRaWAN Network support is the comprehensive capabilities required to configure and onboard LoRa Nodes and Gateways through control center. Further details will be covered in IoThub Access and LoRA sections.
Data Aggregator: Once the data received from edge devices in the IoThub, all data is consolidated and validation in the data aggregator layer. Since Fogwing supports to receive data in MQTT, MQTTS, UPD and API interfaces, it is required to consolidate data received from all protocol before processing it. Fogwing user will not experience or handle data aggregator since it is part of the backend engine.
Data Rules Configuration: Before getting into data storage capability, it is important to understand the rules configuration. Fogwing comes with user friendly rules configuration tool to capture the rules against predetermined conditions in the web control center. Rules are defined against application/device, so each data received from the devices will go through rules validation before persisted in the data storage.
Data Processing Engine: All aggregated data are processed by the backend data processing engine which execute the process in following steps.
- Data Qualifier - Validate the data keys such as Device EUI ID and Client-ID (unique id provided for each device) to identify the authenticity of the data. All invalid data will be removed and destroyed at this stage.
- Data Extractor - Once data is authenticated by the qualifier, the payload data will be extracted for further processing. If no other data rules validation required, the extracted data will be stored in the Data Storage.
- Data Rule Checker: If any specific data rule is configured by user for a specific device, such device data will be validated against rules to check the condition. If the condition is satisfied by the data, action will be taken as per the user configuration.
Data Storage: Once after the data is processed by data processing engine, all qualified data will be persisted in the data storage within Fogwing infrastructure. The data storage is SQL based infrastructure where all structured data stored as multi-tenant storage. Each subscription has storage size limitation depending on the subscription plan. The tenant admin and users of the platform will have option to query the data through inbuilt query engine without any SQL knowledge. Also the data can be extracted through API Interface provided as part of the integration capability.
Event Handlers: Event handlers are inbuilt background jobs engine which triggers notification or commands based on the events of data processing engine against data qualifier and rules checker . The event handler can trigger notification events such as Email, SMS, Webhook and Commands. Event handler can also be triggered command center based on the scheduler configuration. Based on the user defined rule or schedule, event jobs are handled by the handlers. All events captured and audited in the notification log repository.
Command Center: One of the advance feature of Fogwing platform is the command execution feature. Regardless of device communication (either LoRaWAN or Cellular Network), fogwing can send instructions or command to edge devices (Cellular Network) which can receive downlink commands. These command should be in JSON format prefixed to trigger at scheduled interval or based on the data. The data driven approach triggers command through MQTT. Each edge device capable of receiving instruction or command from Fogwing should connect to the specific MQTT queue as subscriber to receive it.
IoT devices should not be exposed to accessible through internet due to security reasons, so each device should make outbound call to Fogwing to receive the command. Fogwing does not deliver any command or instruction to devices directly.
Auditing Repo: Fogwing platform comes with inbuilt auditing repository to capture all events of actions as logging. These events are categories as platform events and data events. Platform events are such as CRUD (Create, Read, Update and Delete) operations captured in the audit logging repository for review and auditing. The data events are such as data driven notification and commands captured in the notification logging for review and auditing. Both repository are visible for users through control center. All are predefined auditing events captured by Fogwing by default.
User Management: Fogwing is a multi-tenant and multi user platform where each tenant may add more users into their account for operational purpose. The tenant with admin privilege may add more user in the role of Admin or Viewer depending in the needs. Viewer users will not have rights to add or modify any configurations. Only tenant admin will have privilege to add any configuration. Fogwing is the citizen development tool so there is no developer role by default as per current release.
Please note that if you have subscribed to the Dedicated Environment license, you will have privilege as "Super Admin" who can add multiple tenants to the account. Each business unit can be considered as separate tenant for data isolation and event handling.
Management API: Fogwing platform built on micro services based architecture, so each functions and components are available as API service for external integration. The Control Center is the web layer connected to Fogwing through APIs; All add-on application that available along with Fogwing are integrated with Fogwing through Management APIs. However these APIs are accessible only for dedicated environment customers. In tenant based subscription model, tenants will not have access to the Management APIs due to infrastructure restrictions as per current release.
The Data Storage API Interface and IoT Device connection APIs are two additional interface available for all subscription customers to connect with Fogwing.
Control Center: The Control Center is the primary web interface for Fogwing platform. All user interaction with Fogwing happens through the Control Center. All operational activities from account creation to device provisioning, data rules, command configuration are happening through Control Center web interface. There is no additional IDE (Integration Development Environment) or tool is required to build Fogwing based IoT solution. Everything is easy to use interface based configuration. Admin User may be created by through account registration or viewer user created through user management, both are happening through the control center only.
Cloud Integration: Integration is the key component of any Industrial IoT platform. Many industrial requirements required Industrial IoT platform to send cleansed and clean data to the enterprise application systems such as SAP / Oracle / Salesforce to act on the data generated by devices. Even if the enterprise needs to build Big Data or Artificial Intelligence solution based on the device data, such data should be delivered to the cloud or application environment. Fogwing provides list of cloud integration interfaces through Integration Services module. Depending on the subscription and user privilege, the Control Center provide option for Tenant Admin user to configure and trigger the data deliver to one or many cloud services (AWS S2, SQS, Azure Blob and Azure Eventhub etc).
Cloud Integration Connectors are on-going development effort to keep introducing newer connectors. If you are not seeing specific connector that you are looking to integration, please write your request to support team through Fogwing Support Request page.
All the above components or module of the Fogwing IIoT Platform are explained in more hands-on way in the upcoming topics.