Eclipse Hono 0.7 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.

Project
Release

0.7

Description

This release focuses on stabilizing and improving the Command & Control functionality that has been introduced as a Technology Preview in Hono 0.6. In particular

  • the MQTT protocol adapter now also supports the Command & Control functionality
  • protocol adapters now support receiving a response from a device in reply to a command that has been sent to the device

Hono now supports the tracing of messages flowing through the system by means of OpenTracing instrumentation. In particular, Hono supports Jaeger tracing as the OpenTracing implementation.

In addition, Hono will include a new experimental protocol adapter for connecting devices that use AMQP 1.0 as the transport protocol.

Architectural Issues

Based on the integration work we have been doing with the enMasse project, we have made an important change to the high level architecture of Hono. Protocol adapters no longer are required to connect to Hono Messaging in order to forward telemetry data and events downstream. Instead, they are now encouraged to directly connect to the AMQP 1.0 Messaging Network that the downstream consumers are connected to. The original intention with Hono Messaging was to have a central point where we could enforce that a protocol adapter has verified a device's registration status before allowing messages being forwarded downstream. However, it turned out that in real life we can achieve the same level of confidence by employing the AMQP 1.0 Network's capability to authorize the protocol adapters' access at the tenant level as well. In paractice, this will result in higher throughput (no more bottleneck in the middle of the processing pipeline) and lower message latency from device to consumer.

Security Issues

no security issues have been reported nor addressed by this release

Non-Code Aspects

The license of Hono has been changed from EPL 1.0 to EPL 2.0 in order to respect the Eclipse Foundation's desire to have all its projects being licensed under the most recent version of the EPL. However, this should not have any practical impact on existing users.

We have split up the contents of the example module into three separate modules to better reflect the nature of the content. The deployment related scripts and resource descriptor files have been moved to the new deploy module whereas the command line consumer has been moved to the new cli module. The example module, as the name suggests, now only contains example code that can serve as a blueprint for integrating your own application with Hono.

Conforms To UI/UX Guidelines
Not verified
Usability Details

The HonoClient component which can be used to access Hono's remote APIs now provides more explicit control over its re-connect behavior in that it allows a user to explicitly specifiy the number of attempts it should make before giving up.

End of Life

We are not (yet) removing the Hono Messaging component altogether from Hono. However, we are deprecating it with this release and we are encouraging users to connect their protocol adapters directly to the AMQP 1.0 Messaging Network instead.

Communities

We are very glad that we have been able to attract a Google Summer of Code student for this release to contribute a first version of an AMQP 1.0 protocol adapter which can be used by devices to upload telemetry data and events using the AMQP 1.0 protocol.