Current release: 1.0.0.RC4
Remote Services for OSGi runs as an OSGi bundle and facilitates distribution for arbitrary OSGi framework implementations.
All that a service provider framework has to do is registering a service for remote access. Subsequently, other peers can connect to the service provider peer and get access to the service. Remote services are accessed in an entirely transparent way. For every remote service, a local proxy bundle is generated that registers the same service. Local service clients can hence access the remote service in the same way and without regarding distribution.
Additionally, Remote Services for OSGi can interact with the EventAdmin service. Frameworks receive all events from connected peers that match one of their EventHandler subscriptions. For R3 frameworks (which do not feature an EventAdmin service), we have implemented an event admin backport as part of Concierge.
Even though Remote Services for OSGi is a sophisticated middleware for OSGi frameworks, it uses a very efficient network protocol and
has a small footprint.
This makes it ideal for small and embedded devices with limited memory and network bandwidth. The service runs on every OSGi-compliant environment.
Remote Services for OSGi has been tested with Eclipse Equinox, Knopflerfish, and Oscar / Apache Felix, as well as with our own lightweight OSGi implementation Concierge. Our test platforms include a variety of different devices, hardware architectures and Java VMs.
In performance measurements, Remote Services for OSGi did not only outperform UPnP by an average factor of 280, but also performed even slightly better than RMI for many cases.
To see Remote Services for OSGi in action, have a look at our Lego Mindstorms Robots being remote-controlled through Remote Services for OSGi.
Jan S. Rellermeyer, Saurabh Bagchi: Dependability as a Cloud Service - A Modular Approach. In: Proceedings of the 2nd International Workshop on Dependability of Clouds, Data Centers, and Virtual Machine Technology (DCDV'12, in conjunction with DSN 12), Boston, MA, June 2012
Jan S. Rellermeyer, Oriana Riva, Gustavo Alonso: AlfredO: An Architecture for Flexible Interaction with Electronic Devices. In: Proceedings of the ACM/IFIP/USENIX 9th International Middleware Conference (Middleware 2008), Leuven, Belgium, December 2008
Jan S. Rellermeyer, Michael Duller, Gustavo Alonso: Consistently Applying Updates to Compositions of Distributed OSGi Services. In: Hot Topics on Software Updates (HotSWUp) Workshop (in conjunction with OOPSLA 08), Nashville, TN, October 2008
Jan S. Rellermeyer, Michael Duller, Ken Gilmer, Damianos Maragkos, Dimitrios Papageorgiou, Gustavo Alonso: The Software Fabric for the Internet of Things. In: Proceedings of the 1st International Conference on the Internet of Things (IoT 2008), Zurich, Switzerland, 2008
Jan S. Rellermeyer, Gustavo Alonso, Timothy Roscoe: R-OSGi: Distributed Applications through Software Modularization. In: Proceedings of the ACM/IFIP/USENIX 8th International Middleware Conference Conference (Middleware 2007), Newport Beach, CA, 2007
Jan S. Rellermeyer, Gustavo Alonso, Timothy Roscoe: Ready for Distribution? Turning Modular into Distributed Applications with the R-OSGi Deployment Tool (Demo). In: Companion Proceedings of the ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages and Applications (OOPSLA 07), Montreal, Canada, 2007.
Jan S. Rellermeyer, Gustavo Alonso, Timothy Roscoe: Building, Deploying, and Monitoring Distributed Applications with Eclipse and R-OSGi. In: Eclipse Technology eXchange (ETX 07) Workshop (in conjunction with OOPSLA 07), Montreal, Canada, 2007
Thanks to all who attended our talk at EclipseCon 2007: Services Everywhere: OSGi in Distributed Environments. Both the paper and the presentation slides are available on the Eclipsezilla.