Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [hono-dev] CoAP protocol adapter for Hono

Hi Kai,

Am trying to think about the CoAP observe option and how that is suppose to work with a protocol adapter. my understanding is that devices only publish data (telemetry and events) to be consumed on the other side, right? Its more like a one-way traffic (from devices to hono then downstream).

if that is the case, then IMHO, devices should not register an interest to observe state-changes for specific resources. the reason is that even if the state of a resource should  change, its not the devices that should be notified about the changes but rather the consumer applications. is that correct?

kind regards

2018-03-19 16:52 GMT+01:00 Hudalla Kai (INST/ECS4) <kai.hudalla@xxxxxxxxxxxx>:

On Mon, 2018-03-19 at 15:20 +0100, Alfusainey Jallow wrote:
> Hi Kai,
>
> oh yes definitely. I am interested to work on the coap protocol adapter support
> for hono. I already started writing the proposal and have until march 27th to
> submit it.
>
That's great.

> I will like to have a rough feedback on the proposal, to further refine it,
> before I finally submit it. Can i please send you the proposal to get an
> initial feedback from you before the deadline?
>
AFAIK you can simply add it on the GSoC page and mark it as a draft so that
people can provide feedback for it.

> kind regards
>
> 2018-03-19 8:19 GMT+01:00 Hudalla Kai (INST/ECS4) <kai.hudalla@xxxxxxxxxxxx>:
> > Hi Alfu,
> >
> > not that the "official" proposal period of GSoC has started, I was wondering
> > if
> > you are still interested in working on one of the Hono ideas?
> >
> > --
> > Mit freundlichen Grüßen / Best regards
> >
> > Kai Hudalla
> > Chief Software Architect
> >
> > Bosch Software Innovations GmbH
> > Ullsteinstr. 128
> > 12109 Berlin
> > GERMANY
> > www.bosch-si.com
> >
> > Registered Office: Berlin, Registration Court: Amtsgericht Charlottenburg;
> > HRB
> > 148411 B
> > Chairman of the Supervisory Board: Dr.-Ing. Thorsten Lücke; Managing
> > Directors:
> > Dr. Stefan Ferber, Michael Hahn
> >
> >
> > On Thu, 2018-03-08 at 16:55 +0100, Alfusainey Jallow wrote:
> > > Hi Kai,
> > >
> > > Thank you! Its really clear now. Do we have a component view for one of the
> > > protocol adapters of Hono (similar to what is described here[1])?
> > Otherwise, I
> > > can create class diagrams directly from the code
> > >
> > > [1] https://www.eclipse.org/hono/architecture/component-view/component-view
> > /
> > >
> > > cheers
> > >
> > > 2018-03-08 16:06 GMT+01:00 Hudalla Kai (INST/ECS4) <kai.hudalla@xxxxxxxxxxx
> > m>:
> > > > On Thu, 2018-03-08 at 15:31 +0100, Alfusainey Jallow wrote:
> > > > > Hi Kai,
> > > > >
> > > > > Thanks much for the response!
> > > > >
> > > > > > I think I do not understand the question. Can you be a little more
> > > > specific?
> > > > >
> > > > > I was just wondering what coap-base back-end system will the coap
> > adapter
> > > > > communicate with. Assume we have a coap device A that wants to send
> > > > telemetry
> > > > > data downstream, do we have the ff. flow:
> > > > >
> > > > > A -> coap Adapter -> Hono Messaging -> coap-base server -> business
> > > > > application. Will Hono messaging send the data through a coap-base
> > network
> > > > down
> > > > > to the business apps?
> > > > >
> > > > No, the protocol adapters' purpose is to normalize all messages to AMQP
> > 1.0.
> > > > Thus, the flow of messages through the system is as follows:
> > > >
> > > > A -> CoAP Adapter -> Hono Messaging -> AMQP 1.0 Messaging Network ->
> > business
> > > > application.
> > > >
> > > > Note that it is analogous to any other protocol adapter, e.g. for the
> > MQTT
> > > > adapter we get:
> > > >
> > > > A -> MQTT Adapter -> Hono Messaging -> AMQP 1.0 Messaging Network ->
> > business
> > > > application.
> > > >
> > > > This way, a downstream business application does not need to bother about
> > the
> > > > particular transport protocol used by the device. It will always consume
> > > > messages
> > > > using AMQP 1.0.
> > > >
> > > > > > as long as it uses the API as intended, right?
> > > > >
> > > > >
> > > > > Yes, that makes perfect sense!
> > > > >
> > > > > cheers
> > > > >
> > > > > 2018-03-08 8:37 GMT+01:00 Hudalla Kai (INST/ECS4) <kai.hudalla@bosch-si
> > .com
> > > > >:
> > > > > > Hi Alfusainey,
> > > > > >
> > > > > > thanks for your interest in contributing to the Hono project :-)
> > > > > >
> > > > > > I have made some inline comments below
> > > > > >
> > > > > > --
> > > > > > Mit freundlichen Grüßen / Best regards
> > > > > >
> > > > > > Kai Hudalla
> > > > > > Chief Software Architect
> > > > > >
> > > > > > Bosch Software Innovations GmbH
> > > > > > Ullsteinstr. 128
> > > > > > 12109 Berlin
> > > > > > GERMANY
> > > > > > www.bosch-si.com
> > > > > >
> > > > > > Registered Office: Berlin, Registration Court: Amtsgericht
> > > > Charlottenburg;
> > > > > > HRB
> > > > > > 148411 B
> > > > > > Chairman of the Supervisory Board: Dr.-Ing. Thorsten Lücke; Managing
> > > > > > Directors:
> > > > > > Dr. Stefan Ferber, Michael Hahn
> > > > > >
> > > > > > On Wed, 2018-03-07 at 12:10 +0100, Alfusainey Jallow wrote:
> > > > > > > Hi hono-devs,
> > > > > > >
> > > > > > > I am interested to provide CoAP protocol adapter support for Hono
> > as
> > > > part
> > > > > > of
> > > > > > > GSoC '18. I am a PhD student (in the preparatory phase) at Saarland
> > > > > > University
> > > > > > > (Germany).
> > > > > > >
> > > > > > > I have an interest in contributing to opensource and started doing
> > so
> > > > for
> > > > > > the
> > > > > > > Apache Jackrabbit project in 2014. The reason for choosing an
> > Eclipse
> > > > > > project
> > > > > > > for my GSoC is that I have been using the Eclipse IDE for all my
> > Java
> > > > > > projects
> > > > > > > and want to use this opportunity to contribute back to the
> > community.
> > > > > > >
> > > > > > > For Apache Jackrabbit, I implemented a missing feature within the
> > > > client-
> > > > > > > server-based implementation of JSR 283[1] present with Apache
> > > > > > Jackrabbit[2].
> > > > > > > While the reference implementation already provided support for
> > access
> > > > > > control
> > > > > > > management, as defined by the specification (JSR 283), this was
> > > > outstanding
> > > > > > in
> > > > > > > the "JCR Remoting"[3]. My contribution was to fill that gap and the
> > end
> > > > > > result
> > > > > > > was appreciated by the community[4].
> > > > > > >
> > > > > > > I have forked the Hono and Californium repositories and already
> > have my
> > > > > > > development environment setup. I looked at the Hono Protocol
> > Adapter
> > > > base
> > > > > > class
> > > > > > > and studied how the Http protocol adapter was implemented as an
> > > > extension
> > > > > > to
> > > > > > > the base protocol adapter. Concretely, I looked at how the
> > > > implementation
> > > > > > was
> > > > > > > tested by going through the
> > > > > > >
> > org.eclipse.hono.adapter.http.AbstractVertxBasedHttpProtocolAdapterTest
> > > > and
> > > > > > >
> > org.eclipse.hono.adapter.http.vertx.VertxBasedHttpProtocolAdapterTest
> > > > unit
> > > > > > > tests.
> > > > > > >
> > > > > > well done
> > > > > >
> > > > > > > I also spent sometime experimenting with a custom HTTP protocol
> > adapter
> > > > as
> > > > > > > described in [5]. For californium, I started the HelloWorldServer
> > and
> > > > use
> > > > > > the
> > > > > > > copper firefox add-on as a client to interract with the server.
> > > > > > >
> > > > > > > I just have few questions:
> > > > > > > 1. Should the coap adapter be built on top of Californium i.e use
> > it as
> > > > a
> > > > > > > library?
> > > > > >
> > > > > > Yes, absolutely. We would also like the protocol adapter be built on
> > > > vert.x,
> > > > > > i.e.
> > > > > >  derived from AbstractProtocolAdapterBase
> > > > > >
> > > > > > > 2. Who will be the consumer of the API exposed by the coap adapter,
> > IoT
> > > > > > devices
> > > > > > > only?
> > > > > >
> > > > > > At least, that's what we have in mind for the protocol adapters.
> > However,
> > > > we
> > > > > > cannot really determine whether the client is an IoT device or not,
> > as
> > > > long
> > > > > > as it
> > > > > > uses the API as intended, right?
> > > > > >
> > > > > > > 3. Where on the stack will the CoAP server sit on? Or do we not
> > care?
> > > > > > >
> > > > > >
> > > > > > I think I do not understand the question. Can you be a little more
> > > > specific?
> > > > > >
> > > > > > > I look forward to this fun project and any further advice/tips on
> > what
> > > > I
> > > > > > should
> > > > > > > do next would be appreciated.
> > > > > > >
> > > > > > > [1] https://jcp.org/en/jsr/detail?id=283
> > > > > > > [2] http://jackrabbit.apache.org/jcr/index.html
> > > > > > > [3] https://issues.apache.org/jira/browse/JCR-2113
> > > > > > > [4] http://jackrabbit.510166.n4.nabble.com/ANN-Master-Thesis-by-Alf
> > usai
> > > > ney-
> > > > > > Jall
> > > > > > > ow-on-Apache-Jackrabbit-td4662126.html
> > > > > > > [5] https://www.eclipse.org/hono/dev-guide/custom_http_adapter/
> > > > > > >
> > > > > > >
> > > > > > > Kind regards
> > > > > > _______________________________________________
> > > > > > hono-dev mailing list
> > > > > > hono-dev@xxxxxxxxxxx
> > > > > > To change your delivery options, retrieve your password, or
> > unsubscribe
> > > > from
> > > > > > this list, visit
> > > > > > https://dev.eclipse.org/mailman/listinfo/hono-dev
> > > > >
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > hono-dev mailing list
> > > > > hono-dev@xxxxxxxxxxx
> > > > > To change your delivery options, retrieve your password, or unsubscribe
> > > > from
> > > > > this list, visit
> > > > > https://dev.eclipse.org/mailman/listinfo/hono-dev
> > > > _______________________________________________
> > > > hono-dev mailing list
> > > > hono-dev@xxxxxxxxxxx
> > > > To change your delivery options, retrieve your password, or unsubscribe
> > from
> > > > this list, visit
> > > > https://dev.eclipse.org/mailman/listinfo/hono-dev
> > >
> > >
> > >
> > > _______________________________________________
> > > hono-dev mailing list
> > > hono-dev@xxxxxxxxxxx
> > > To change your delivery options, retrieve your password, or unsubscribe
> > from
> > > this list, visit
> > > https://dev.eclipse.org/mailman/listinfo/hono-dev
> > _______________________________________________
> > hono-dev mailing list
> > hono-dev@xxxxxxxxxxx
> > To change your delivery options, retrieve your password, or unsubscribe from
> > this list, visit
> > https://dev.eclipse.org/mailman/listinfo/hono-dev
>
>
>
> _______________________________________________
> hono-dev mailing list
> hono-dev@xxxxxxxxxxx
> To change your delivery options, retrieve your password, or unsubscribe from
> this list, visit
> https://dev.eclipse.org/mailman/listinfo/hono-dev
_______________________________________________
hono-dev mailing list
hono-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/hono-dev



--
alfu

Back to the top