Edge Xpert Architecture
The Edge Xpert architecture is divided into a set of layers, each with individual key areas of functionality. Each layer comprises a set of microservices with their own specific roles within the platform.
The diagram below shows the architecture with the main microservices that are provided at each level:
Device Services
The Device Services layer interacts with the physical edge devices and sensors. The data collected from the devices is delivered to the Core Services layer for normalization and aggregation. The Device Services communicate with devices, sensors, actuators, and other IoT objects using the native protocol of the IoT object.
Device Services are provided for several industry-standard protocols such as Modbus, BACnet, OPC-UA, and many others. Device Service SDKs are available for the C and Go programming languages, allowing you to develop your own Device Services.
Core Services
The Core Services layer separates the Southbound (edge devices) and the Northbound (Cloud or Enterprise system) layers at the edge. Core Services play a crucial role in decoupling the data formats of the other layers and can aggregate data received from different edge devices.
The Core Services are a key component of the EdgeX Foundry architecture, on which Edge Xpert is based. As the Core Service APIs are open and standardized, they allow interoperability between microservices to be maintained. This means that, if microservices are enhanced or replaced by other implementations, the system continues to operate correctly.
Supporting Services
Closely related to the Core Services, the Supporting Services layer comprises a range of data processing microservices that provide the following:
- Edge decision-making, rules and analytics capability
- Time-Series storage capability
- Presentation and dashboard visualization of the edge data
- Scheduling of data collection and other key events
- Alerts and notifications within the platform
Application Services
The Application Services layer provides mechanisms for the Edge Xpert data to be delivered to other external edge, cloud, or IT systems. The data can also be enriched or transformed in a number of ways before it is delivered externally.
Application Services are based on the concept of a Functions Pipeline, a collection of functions that process messages in a specified order. The first function in a pipeline is a trigger to start the functions pipeline. For example, a trigger could be a message arriving in a watched message queue. The next function in the pipeline might apply filtering to the data, and another function in the pipeline may deliver the data to AWS or another cloud platform. The user can chain together several built-in application functions to create many different data-sharing scenarios.
An Application Functions SDK is also provided that allows users to create their own new functions if required.
Security Services
Security Services protect the data and control of devices, sensors, and other IoT objects managed by Edge Xpert.
The Security layer provides critical security features to preserve the safe running of the platform, including the following:
- An API gateway to restrict incoming service requests to only those authorized by the system
- A secret store that can securely manage private information, such as certificates and passwords
System Management
System Management services and associated tooling allow the Edge Xpert users to:
- Start, stop and restart the Edge Xpert services
- Configure the Edge Xpert services
- Obtain system metrics
- Perform health checks
Edge Xpert consists of a set of Docker-based microservices which can be started directly or deployed via third-party tools such as Kubernetes. In addition, IOTech's Edge Builder product provides complete node and application management capability that is specifically configured for Edge Xpert.