Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hono-dev] Apche Camel Hono Component

Hi Marc,

Apache Camel is great for integration tasks, offering a broad choice of protocols. On the other hand, the focus of Hono is more on (high performance) messaging.

That said, I think, Camel may be an option when performance is not an issue and support for a not so common protocol is required.

Kind regards,

Ingo Maas


Bosch Software Innovations GmbH


Schöneberger Ufer 89 - 91

10785 Berlin



Tel. +49 30 726112-156

Fax +49 30 726112-100


Registered office: Berlin, Register court: Amtsgericht Charlottenburg, HRB 148411 B

Executives: Dr.-Ing. Rainer Kallenbach, Michael Hahn

Von: hono-dev-bounces@xxxxxxxxxxx <hono-dev-bounces@xxxxxxxxxxx> im Auftrag von Pellmann Marc (INST/ECS4) <Marc.Pellmann@xxxxxxxxxxxx>
Gesendet: Sonntag, 3. September 2017 15:34
An: hono-dev@xxxxxxxxxxx
Betreff: [hono-dev] Apche Camel Hono Component



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.




Mit freundlichen Grüßen / Best regards


Marc Pellmann


Bosch Software Innovations GmbH


Schöneberger Ufer 89-91

10785 Berlin





Registered office: Berlin, Register court: Amtsgericht Charlottenburg, HRB 148411 B

Executives: Dr. Ing. Rainer Kallenbach, Michael Hahn


Back to the top