Current release: 1.0.0.RC2
R-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, R-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 R-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.
R-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, R-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 R-OSGi in action, have a look at our Lego Mindstorms Robots being remote-controlled through R-OSGi.
R-OSGi is part of the flowSGi project, which is an ongoing research project in the Department of Computer Science , ETH Zurich .
Recent publications:
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
.