Delivery:  ~June 2018

The main theme for the California release of EdgeX is to provide a solid open source foundation for commercialization and deployment in a wide variety of Industrial IoT edge use cases. 

Key to this is the first implementation of priority APIs and reference microservices for security and manageability.  Another key theme for the California release is improving overall performance and lowering the baseline footprint of the code base.  Work is currently underway for drop-in alternatives for key microservices (e.g. Core Services, Export and Device Services) based in Go Lang with a stretch goal being select implementations in C.  Overall, the California release will improve EdgeX ease of use among a larger, more polyglot, development community.  

Planned features to be delivered (as of January 2018 TSC Face-to-Face meeting).

Release Themes and Objectives

General Release Tasks and Notes

Micro Service Tasks and Notes

Device Service SDK and Device Service Tasks and Notes

Security Tasks and Notes

System Management Tasks and Notes

Target Performance

In the export distribution service (Java or Go), facilities to provide endpoints with EdgeX data are statically programmed into the pipeline of this service today.  That is, when data comes to export distribution, based on a client’s registration, it is filtered, transformed/formatted, compressed, and then encrypted.  Some options are provided (like allowing formatting in JSON versus XML), but these options are again statically build into the export distribution pipe.  If a user wishes to add new filters, new transformations (example adding a CSV format), new encryption or compression routines, then the user must get the export-distro code base, fork it and make their own copy.  Is there a way to create plugins or modules into the pipe-filter architecture of the export-distro so that it is more flexible to meet new needs going forward?  Is it possible to make some sort of SDK for the export-distro service so users can essentially create a custom export facility with the options for filtering, transforming, enriching, etc. the EdgeX data as they see fit without having to fork and rebuild the entire micro service on their own?