Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Implement a performance test harness

    To establish a baseline of performance characteristics that can be used to understand EdgeX resource utilization, data throughput, etc.

  • Support binary data

    Allow the EdgeX system (from device services through export services) to support binary data such as images, chunks of video or audio.  This will require device services, core data, and the export distribution to appropriately handle this type of data.  Local edge analytics may be fed binary data and create intelligence from it to allow for actuation at the edge based on the binary data (example: examine an image an detect the presence of a person of interest).

  • Explore the use of Swagger to document the EdgeX REST API
    EdgeX currently uses RAML to disseminate information on microservice APIs.  Swagger offers more fidelity while also offering better code generation going forward.
  • Provide an initial EdgeX user interface
    This Javascript-based user interface will allow users to explore the sensor data collected by EdgeX as well as provide some provisioning and management capability.  Used for prototyping, demonstration and management of small clusters of EdgeX instances.
  • Update all services to return proper HTTP status codes on HTTP requests
  • Add tracing to all services, which will allow better debugging and support
  • Establish a Wiki page to point EdgeX users to extensions, modules, add-ons, etc. offered by the community or 3rd parties, but that are not managed or incorporated by EdgeX Foundry.

Core & Supporting Services Tasks and Notes

  • Replace any Java microserices that still exist.

  • Implement hierarchical config organization
    Replace the simple key/value pair organization of service configuration with more structured and hierarchical configuration as supported by Consul

  • Upgrade Consul and improve the configuration seed
    Implement a process to move the latest configuration into the config-seed through the CI process
  • Refactor the core and supporting services (inclusive of export services as necessary)

    Refactor the services to implement data drive design, improves structure and organization of the code, improves ability to abstract infrastructure needs (database, messaging, etc.) to allow for replacements later, and allow services to bootstrap without artificial sleep mechanisms.  Separates the domain model from the contract model.

...