Hi Matteo,
Since Kura is built on OSGi, I encourage Kura to adopt the OSGi R7
Remote Services[1] and RSA [2] specifications via ECF's
implementation[3]. Doing so is completely compatible with your
'generic cloud services' approach, as it's quite possible to
create new distribution providers [4] that are based upon
existing transports, including your/other's transports based upon
mqtt. For example: [5].
Like with [5], using Kura's CloudPublisher and CloudSubscriber to
create a RS distribution provider would be a straightforward
technical effort.
With the OSGi R7 addition of Async Remote Services [6] the
building of loosely coupled, cross-transport remote services is
made much easier.
Also, we now have a Python-implementation of ECF RSA, that
supports asynchronous (and synchronous) remote services between
Python and Java [7]. These providers enable Java<->Python
analytics that can reuse Python and/or Java libraries...or both in
appropriate combination. This capability could be desirable for
Kura's consumers.
Note: I'm not suggesting that (async or sync) remote services is
the *only* higher-level usage of your publish/subscribe
framework...only that it's a useful/important one for many
developers.
Scott
[1]
https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteservices.html
[2]
https://osgi.org/specification/osgi.cmpn/7.0.0/service.remoteserviceadmin.html
[3]
http://eclipseecf.blogspot.com/2018/04/ecf-photon-supports-osgi-r7.html
[4]
https://wiki.eclipse.org/Distribution_Providers
[5]
https://github.com/ECF/Mqtt-Provider
[6]
http://eclipseecf.blogspot.com/2018/05/ecf-photon-supports-osgi-async-intent.html
[7]
https://github.com/ECF/Py4j-RemoteServicesProvider
On 6/7/2018 4:42 AM, Maiero, Matteo wrote:
Hello,
In order to enable Kura to be used with a wider
range of cloud providers, in the past few weeks we started a
refactoring and improvement process that is currently ongoing in
the enh_cloudPublishers branch [1].
We tried to explain the technical choices taken in a
wiki document available at [2]. It tries to give a general
overview of the proposed architecture, providing a textual
description as well as some schemas (UML-like) to describe the
concepts and the abstractions created.
At the bottom of the page you can also find some UI
mockups that are proposals to enrich the current UI and provide
a more convenient way to interact with the new Publisher and
Subscriber abstractions.
Note that the provided branch implements fully the
proposed API changes (apart for the dedicated UI changes) and
provides also a new bundle named org.eclipse.kura.cloud.mqtt.eclipseiot [3]
that implements the so-called “Berlin namespace” or "Eclipse IoT
WG Messaging Protocol” and allows to connect and communicate
with the Hono MQTT adapter.
Every feedback and suggestion is more than welcome!
Best regards,
Matteo
--
Matteo
Maiero
Senior
Software Engineer
direct: +39 0433
485 902
EUROTECH
Imagine.Build.Succeed.
HEADQUARTERS
EUROTECH
S.p.A. – Via Fratelli Solari, 3/a | 33020
Amaro UD | Italy | Tel. +39. 0433 485411
| Fax +39. 0433
485499 |
Cap.
Soc. 8.878.946,00 € I.V. | P.IVA / C.F.: IT
01791330309 | REA Udine 196115
www.eurotech.com
____________________________________
Il
presente messaggio ed ogni suo allegato sono
da intendersi inviati esclusivamente agli
effettivi destinatari e potrebbero essere
soggetti a restrizioni legali. Se avete
ricevuto questo messaggio per errore vi
invitiamo a darne immediata notifica al
mittente e cancellarlo dal vostro sistema.
Qualsiasi altro uso di questo messaggio da
parte vostra e' strettamente proibito.
This e-mail,
and any file attached to it, is meant only for
the intended recipient of the transmission and
may be a communication privileged by law. If
you have received it in error, please notify
the sender immediately and delete the original
from your system. Any other use of this e-mail
by you is strictly forbidden.
_______________________________________________
kura-dev mailing list
kura-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/kura-dev