Hi,
I created a first prototype version of an Apache Camel component for Hono. I think this could help a lot on both sides – adapters and solutions.
In theory this could also be done with the JMS based AMQP component – but this is not easy – especially on the adapter side, e.g. with the assertion mechanism. Also
the overhead of JMS is not ideal and with a component based directly on Hono it will be easy to encapsulate future additions.
The Camel Component for Hono makes it very easy to integrate protocols on the adapter side, which are already available as Camel components. As an example I used
the PubNub component to forward events to Hono, and also provided the REST endpoints from the REST adapter as a route.
On the consumer/solution side it will be very easy to implement e.g. store and forward semantics or filtering with Camel and also it is less complex to use such
a client for many people.
The producer part is based on the AbstractProtocolAdapterBase and the consumer on the Hono client. So it reuses as much as possible from our existing code. And I
think our asynchronous model fits very well with Camels asynchronous routing engine.
The adapter based on Camel is also very similar to the other adapters in regards to configuration and being a Spring Boot app (and a Docker image). For the example
of the solution app, this is the same, but I think on this side it is important to allow different usages and also different configuration options so it could be used from any Java application.
WDYT?
Mit freundlichen Grüßen / Best regards
Marc Pellmann
Bosch Software Innovations GmbH
INST/ECS4
Schöneberger Ufer 89-91
10785 Berlin
GERMANY
marc.pellmann@xxxxxxxxxxxx
Registered office: Berlin, Register court: Amtsgericht Charlottenburg, HRB 148411 B
Executives: Dr. Ing. Rainer Kallenbach, Michael Hahn