Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [iot-wg] LWM2M over MQTT w/OSGi and/or Docker in future ?

For the server/client communication you might look at ECF's implementation of OSGi Remote Services/RSA [1]. Remote Services is a part of the OSGi specification that standardizes an API for exposing/exporting arbitrary OSGi services for out-of-process access. ECF's implementation is built such that any transport can be used to provide the distribution, and ECF has created and supports multiple providers based upon tcp, http/https/jaxrs, JMS, and MQTT (paho), and others [2]. New providers based upon other protocols are easily created as well [3]. Because it's standards-based, it works on any R5+ framework (Equinox, Felix, and now Concierge) and coexists/interoperates with the Main components you list below.

ECF's implementation is spec compliant and CT-tested, meaning that if you wish you may replace it at any time with other RS/RSA implementations.

I don't know much about it at this point, but I'm also peripherally aware of some efforts to create Docker distributions including some of the OSGi components that you list.

Scott

[1] http://wiki.eclipse.org/ECF#OSGi_Remote_Services
[2] http://wiki.eclipse.org/Distribution_Providers
[3] http://wiki.eclipse.org/Tutorial:_Using_REST_and_OSGi_Standards_for_Micro_Services

On 10/25/2015 10:05 PM, Shigeru Ishida wrote:
Hi all,

We need the framework to manage devices and any applications for IoT/M2M edges lightweightly.
So and we are developping IoT/M2M device and software management system which based on LWM2M over MQTT on OSGi.
Main components are based below:
- Java
   + client<edge> - JavaSE Embedded 8 compact 1 (* important requirement for us)
   + server, bootstrap server - Full JRE
- LWM2M over MQTT - https://github.com/sathipal/lwm2m_over_mqtt
- Leshan (2015.07.12 version) - https://github.com/eclipse/leshan
- Apache Felix 4.6.1 (OSGi framework) - http://felix.apache.org/
- MQTT Paho 1.0.2 - http://www.eclipse.org/paho/
- PostgreSQL 9.4 - http://www.postgresql.org/
- Apache HTTPd for the purpose of downloading firmware and application-bundles - https://httpd.apache.org/

Specification (currnet snapshot):
- LWM2M management objects - server(/1/0), device(/3/0), firmwareUpdate(/5/0), softwareManagement(/9/*, multiple instances).
- command server (udp loopback bind) locally in edge for the purpose of processing IoT/M2M edge-dependent managements
   by use of shell scripts.
- software managemnet supports OSGi bundle format only.
- server offers device and software-management raw level api to DMA portal (servlet-request and mqtt-response asynchronously)
   + OSGi HTTP Service (backend Jetty)
- original bootstrap mechanism for the purpose of sharding many clients in multiple servers.
- client, server and bootstrap server (all based on OSGi (felix)).

   client<edge> ---> bootstrap server
       |
       |<----------- server

- server and bootstrap information stored using OSGi JDBC Service (actually uses backend PostgreSQL).
- server and bootstrap server watched by OSGi JMX Management Model (actually uses Apache Aries).

Now I am thinking whether supporting Docker in software managemnet or not. For examples, if there is "application format" resource ID
in LWM2M software management object, will set "OSGi-bundle" or "Docker-image" to application format.

In the first place is it strange that dealing with different format applications in one way ?
and what about LWM2M over MQTT in future ?

Regards,

--Shigeru
_______________________________________________
iot-wg mailing list
iot-wg@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/iot-wg



Back to the top