Eclipse Kapua 0.3.0 Release Review

Type: 
Release
State: 
Successful
End Date of the Review Period: 

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Wednesday, September 27, 2017
Project: 
Release: 

Eclipse Kapua 0.3.0

Description: 
Description
 
Eclipse Kapua 0.3.0 contains the following feature enhancements.
  • Data Management - Datastore Service stores the device IoT data into an Elasticsearch NoSQL database. With this release, the Datastore Service uses the Elasticsearch REST client connector to connect with Elasticsearch. With this approach, Kapua can connect to hosted Elasticsearch instances.
  • Application Integration - New Kapua REST APIs have been added to perform the following functions:
    • Executes a interaction with a device by sending a request message addressed to a specific device and waiting for the device response synchronously
    • Publishes a message to the messaging service; it's a send and forget interaction as the API call will not wait for a specific message response
    • Stores a message in the data store
  • Web Console - The Kapua Console has received the following enhancements:
    • Tags - A new Tag service has been added in the Kapua Console to group devices by tag
    • Jobs - A new Job service has been added in the Kapua Console to schedule batch device management operations
    • Digital Twin - For Kura devices, the Kapua Console offers introspection on the devices attached to the gateway providing infomation on the data channels and their value for each digital assets modeled in Kura
    • Extensibility - The Kapua Console has been made extensible as future Kapua Services can contribute new management pages in the Console
    • Single sign-on Self-registration: Allows users to self-register when they are logging in with SSO.
  • Platform Administration and Security - The Authentication service has a new option to couple a user identity to a specific device connection and it defines an optional credential expirtation polocy
  • Platform Build - The schema for the SQL backend has been made database independent  through a portable database schema definition which will also simplify the management of the upgrades
  • Gateway Client SDK - Provides an SDK for accessing Kapua as a gateway application.

Eclipse Kapua 0.3.0 is still under Eclipse Incubation status. The Eclipse Kapua team plans to release frequent incremental updates towards the Kapua 1.0 release in the upcoming weeks.

 
Architectural Issues: 

Web Console - The current web console is based on GXT which is GPLv3 and thus cannot be provided by the project as a downloadable component. The re-write of the console using Patternfly is currently under evaluation as we are synchronizing Kapua roadmap with the one of Patternfly. A new version of the Web Console is still planned for a later release. At the moment it is unknown which release this will be.

Database cleanup -  In this release, propagation of deletes across service domain boundaries is addressed assuming a single database deployment. Foreign keys with on-delete cascades are leveraged to keep the database state consistent. In the next Kapua release, Service Events will be introduced to enable orchestration among the Kapua services and as integration tool for external services. Once CQs on the dependencies are approved, Service Events implementation will move to the Kapua develop branch. Service Events is targeted for the next Kapua release. A work-in-progress design document describes the architecture of the service events that is being pursued.
 
Micro services - The current Kapua release assumes a deployment with a single SQL DB and three service containers. The next Kapua release will relax this requirement. It will increase the granularity of micro services and allow for separate databases.
 
Security Issues: 

There are no known security issues.

End of Life: 

While the project is in the incubation phase there is no end-of-life policy.

Standards: 

Kapua makes use of:

  • MQTT
  • HTTP REST APIs

AMQP will be introduced for Service Events in the next release.

Communities: 
  • Kapua is part of the Eclipse IoT testbed effort
  • The project attracted two Google Summer of Code students