> For the complete documentation index, see [llms.txt](https://edgex-api-advantech.gitbook.io/edgex-api-doc/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://edgex-api-advantech.gitbook.io/edgex-api-doc/master.md).

# EdgeX Foundry Background

**Content**

* EdgeX Foundry's purpose
* EdgeX Foundry service layers
* Exploring EdgeX Foundry's microservices
* Reference

## EdgeX Foundry's Purpose

For IoT edge devices, there are some challenges of edge applications

* heterogeneity of platforms
* variety of cloud platform
* diverse application needs
* protocol of things&#x20;

EdgeX Foundry is an vendor-neutral, open source, loosely-coupled microservices framework providing you the choice to plug and play from a growing ecosystem of available 3rd party offerings or augment with your own proprietary innovations. It addresses the the challenges of IoT edge applications  by

* Build and promote EdgeX as the common open platform unifying edge computing.
* Enable and encourage the rapidly growing community of IoT solutions providers to create an ecosystem of interoperable plug-and-play components

The community builds and maintains common building blocks and APIs for IoT edge applications.

## EdgeX Foundry's Service Layers

![](/files/-Leu_hJMmtwlkIX9hVSG)

EdgeX Foundry's framework is a collection of micro services.

EdgeX data flow

* Sensor data is collected by Device Service from the device
* Data is passed to the Core Services for local persistence
* Data is then passed to Exported Services for transformation, formatting, filtering and can then be sent "north" to enterprise/cloud systems
* Data is then available for edge analysis and can trigger device actuation through Command Service
* Many other services provide the supporting capability that drives this flow

## Exploring EdgeX Microservices

**Device services**

Device Services (DS) are the edge connectors interacting with the devices or IoT objects. Device services may service one or a number of devices, including sensors, actuators, and so forth.

**Core services**

* Offers temporary persistence of edge data and facilitates actuation of the devices
* Collect sensor data
* Understand what sensors/devices are connected how to communicate with them
* Provision facility for new sensors/devices and device services
* Manage device actuation requests to device services/devices
* Provide micro service registry
* Provide micro service configuration

**Supporting services**

* Normal software application duties plus "edge intelligence"
* Logging provides centralized EdgeX logging to location of choice
* Notifications gives the ability for any EdgeX service to send an alert
* Scheduling allows any EdgeX service to put tasks on the clock
* Rules engine provides the means to watch sensor data and trigger local actuation as necessary

**Export services**

* Provides ability to get EdgeX sensor/device dta to other external systems or other EdgeX services
* Export client allows for internal or external clients to register for sensor/device data of interest, and specify the way they want it delivered
* Exported distribution performs the act of delivering the data to registered clients

## Reference

EdgeX Foundry official website: <https://www.edgexfoundry.org/>
