Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [kura-dev] Cloud-related APIs refactoring

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



Back to the top