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