...
Delivery: ~June 2018
This main theme for this 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 mission critical / 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 (enabling hard future community extensions in planning for deterministic real time use cases planned through community extensions)
- Improve overall performance and deliver to target performance #’sReduce overall footprint by an order of magnitude through alternative microservice implementations in Go Lang and possibly C
- Provide additional reference connectivity
- Some additional north side connectors Export Services (e.g. AWS/Greengrass)
- Some additional device services Device Services (e.g. OPC-UA)
- An additional Device Service and Export Service SDKs in Go Lang
- Demonstrate Stretch goal: C-based Device Service SDK
- Demonstration of EdgeX in real-world POC/Test Bed test bed, including through collaboration with the IIC
General Release Tasks and Notes
- Expand OS support
- Mac
- Other flavors of Linux
- Mac
- Exploration of implications of RTOS
- Expand hardware support
- Arm
- Provide EdgeX User Interface(s)
...
- Meet all performance targets
- Go services for coreAlternative 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 supporting servicesselect 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
- Implement security & system management API hooks
- Provide additional export capability
- Enrichment services
- How best to facilitate client command requests/actuation
Device Service SDK and Device Service Tasks and Notes
- Provide an alternate language DS SDKalternative 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
...