You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »


Delivery:  ~June 2018

This main theme for the California release is to provide a solid open source foundation for deployment in a wide variety of edge use cases including the first implementation of priority APIs and reference services for security and system management.  It will also improve EdgeX ease of use among a larger, more polyglot, development community.

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 which promises to offer a 

Further exploratory work is being done for a message bus as an option to the current REST-based intercommunication between microservices.

Functionality is still being finalized by the TSC but directional themes are detailed below.

Release Themes and Objectives

  • Deliver top priority security and system management APIs and reference implementations of supporting microservices (e.g. key management)
  • Deliver on reliable platform promise
    • Reduce overall footprint by an order of magnitude through alternative microservice implementations in Go Lang and possibly C
    • Near real-time performance (future community extensions in planning for deterministic real time use cases)
    • Improve overall performance and deliver to target performance #’s
  • Provide additional reference connectivity
    • Export Services (e.g. AWS/Greengrass)
    • Device Services (e.g. OPC-UA)
  • Device Service and Export Service SDKs in Go Lang
  • Stretch goal: C-based Device Service SDK
  • Demonstration of EdgeX in real-world POC/test bed, including through collaboration with the IIC

General Release Tasks and Notes

  • Expand OS support
    • Other flavors of Linux
    • Mac
    • Exploration of implications of RTOS
  • Expand hardware support
    • Arm
  • Provide EdgeX User Interface(s)

Core and Supporting Tasks and Notes

  • Meet all performance targets
  • Alternative Go-based Core Services implementation
  • More dynamic configuration
  • Address use of Consul as config/registry?
  • Implement security & system management API hooks
  • Stretch goal: Go-lang based services for select Supporting Services

Application Tasks and Notes

  • Implement security & system management API hooks
  • Define and meet performance metrics
    • Provide better scale in terms of number of clients
    • Improve the number of messages exported/sec
  • Support additional cloud integration(s)
    • Ex:  Watson, AWS/Greengrass, …
  • Support additional export feature(s)
    • Support additional formats (Ex: Haystack, OPC-UA, …)
    • Support additional endpoint types (Ex:  DDS, AMQP, …)
    • Explore potential use of hyperledger
  • Provide additional export capability
    • Enrichment services
    • How best to facilitate client command requests/actuation

Device Service SDK and Device Service Tasks and Notes

  • Provide alternative SDK langauge support in Go Lang and possibly C
  • Provide SDK Tool plugins to facility developers
    • Ex:  Eclipse plugin
    • SDK download (non-github oriented)
  • Provide new and/or updated Device Services
    • Real BACnet or BLE
    • Additional DS (i.e. Zigbee, OPC-UA, CANBus, …)
  • Reduce/optimize Java DS (remove Spring Framework, etc.)
  • Updates to SDK get propagated back out to existing DS via common shared libraries
  • Implement security & system management API hooks

Security and System Management Tasks and Notes

  • The first implementation of
  • Ref Impl security micro services
  • Demonstrate EdgeX management via System Management app of choice
    • Ex:  Pulse IoT Center, System Center, …
  • Secty and Sys Mngmt API hooks in other micro services
  • Security testing framework
  • Demonstrate EdgeX software updates
  • Updates to non-EdgeX components (drivers, end-devices)
  • Root of trust – what defines and how to implement
  • Code signing – how to certify integrity of the system
  • No labels