Skip to content

Overview

The Application Service layer provides capability to process and deliver data to external systems such as:

  • Analytics and AI/ML packages
  • Enterprise and other on-premise applications
  • Cloud systems such as Azure IoT, AWS IoT

Data can also be prepared and translated before being sent to your chosen endpoint. Examples of preparing data include transforms, enrichment or filtering. Examples of data translation include formatting, compressing and encryption.

Note

In earlier versions of Edge Xpert the Export Services provided similiar functionality. Application Services have replaced the Export Services.

The diagram below illustrates the technical architecture of the Edge Xpert Application Service which adds additional functionality to the base EdgeX Application Service capability. technical architecture diagram

Application Service Basics

Application Services are based on the idea of a "Functions Pipeline", which is a collection of functions that process messages in a specified order. The first function in a pipeline is a trigger to start the pipeline flow. For example, a trigger could be a message arriving in the Edge Xpert message bus.

There are two main ways to deploy an Application Service and more details will be given below.

  • Run the configurable Application Service
  • Build a custom Application Service

Configurable Application Service

Edge Xpert provides a pre-built and configurable Application Service which make it easy to get started processing data. You can simply configure the required function pipelines. A number of built-in functions are provided to simplify export data to various northbound platforms.

Edge Xpert's configurable Application Service supports delivering data to the following endpoints:

  • AWS IoT Core
  • Azure IoT Hub
  • InfluxDB
  • HTTP endpoints
  • MQTT endpoints
  • Apache Kafka
  • Postgres

The preloaded configuration files make it easy to get started. You just need to edit the files so that the specific details (e.g. the AWS IoT Core endpoint URL and related security credentials) are correctly set. The example configuration files can also be modified to use additional built-in functions for processing and transformation of data, as required.

Note

For Edge Xpert v2.3, since Google Cloud IoT Core will be retired on August 16, 2023 and the jwt lib contains security vulnerability which used for connecting the Google Cloud IoT Core, sending data to Google Cloud IoT Core is no longer supported.

Custom Application Service

The Application Service SDK allows you to create custom Application Services that provide additional capability compared to the built-in functions. Users can implement their own specific pipeline functions to replace or supplement the built-in functions that are provided.

The supported language for the Application Service SDK is Go.

Bidirectional Data Flow

Edge Xpert Application Services support the concept of bidirectional data flow allowing for data to be sent both to and from the Cloud, for example. The Application Service pipelines have been enhanced to support triggering from multiple endpoints and run independent pipelines in the same Application Service. For further information on configuring multiple pipelines, see Multiple Pipelines.

For further information on Application Services and their configuration, refer to the Application Services section of the EdgeX Foundry.