NOTE: Barcelona has been released. See the release page for details of this release.
Table of Contents
Delivery: late October 2017
This first EdgeX release is focused on delivering a minimum viable product (MVP) for further accelerating community contributions. It is the hope of the EdgeX community that with the Barcelona release, the shape of the architecture, APIs, etc. are such that the larger IoT development community will feel comfortable exploring and contributing to EdgeX and begin planning integration of the EdgeX foundation with their own IoT projects and offerings.
Release Themes & Objectives
- Stabilize the original seed code for the EdgeX platform
- Establish dev ops practices, build environment and versioning
- Build community understanding of the platform and code base
- General majority agreement on the architecture
- General majority agreement on micro services and APIs
- General agreement on longer-term performance targets and technology choices
- Progress towards the definition of unified APIs for security and system management
Key Features
- Stabilization of key APIs
- Better code quality, fit and finish
- More than double the test coverage across EdgeX microservices
- Addition of reference Device Services supporting BACNet, Modbus, Bluetooth Low Energy (BLE), MQTT, SNMP and Fischertechnik
- Extra “north side” Export Service interfaces that provide connectors to Azure IoT Suite and Google IoT Core as well as support for connections via MQTTS and HTTPS
...
Application Layer (export services and the rules engine micro servicemicroservice) Tasks and Notes
- Harden as defined above
- Provide Azure IoT Hub integration (improve/clean up functionality in the original seed code) and support for Google IoT Core
- Provide routing to endpoints by device ID
- Support MQTTS and HTTPS for endpoint distribution
- No additional formats/transformations/filters/etc. will be provided beyond what already exist in the export services today
- Provide guidance on number of simultaneous clients that can be supported (to address any potential scale problems with the export services)
- Stretch Goal: binary message format distribution (picking one to start)
Core &
...
Supporting Services Tasks and Notes
- Harden as defined above
- Fix known bugs (logging OOM, …)
- Remove/clean up unfinished features (Device Manager)
- Complete at least one full replacement Core Service in Go Lang to feed estimates on performance trajectory
...
- No implementation provided with this release
- Build the longer term roadmap – the EdgeX security story
- Agree on what application-level overall security requirements for EdgeX
- Agree on what security features are going to be in EdgeX and what’s going to be provided by the platform that EdgeX runs on (example: the underlying platform must have a keystore)
- Agree on overall security requirements
- Define Further definition on what EdgeX security service(s) need to be eventually implemented Define (e.g. modules for data protection, identity and access and operational security)
- Further definition on what security hooks need to be added to the existing microservices (e.g. APIs)
- Define what Further definition on standards, protocols, etc. that are going to be adhered to and followed by EdgeX (ex: IIC specs, OAuth tokens, etc.)
- Provide guidance Guidance on how security features can/should be tested
...
- No implementation provided with this release
- Agree on overall requirements
- Agree on what features are going to be in EdgeX and what is reserved for OS, 3rd party systems, other open source systems, etc.
- Define what system management services need to be implemented as part of EdgeX (if any)
- Define what system management hooks need to be implemented
- Define any system management standards that will be followed/used in system management implementations (ex: LWM2M)
- Stretch goal: add some simple system manage hooks/capability into BaseService of EdgeX micro services – based on Dell Fuse work (for service start, stop …)
...
- Unit and integration tests for all micro services microservices (all public methods)
- Implement Blackbox testing
- Select and/or implement black box test framework
- Testing must occur on all supported MVP platforms
- Setup performance tests for capturing performance metrics of a micro service or combination of services
- Have check styles in build process
- Setup Bug tracking system
...