Yesterday David Bosschaert and I gave the first demo of the new design for distributed OSGi, based on the current draft of the Enterprise Expert Group's RFC 119, at the OSGi Community Event in Berlin.
"Demo Dolly" David Explains Distributed OSGi Demo
The goal of distributed OSGi is to extend the OSGi framework for distributed computing capabilities by configuring an existing distributed computing software system (such as Web services, CORBA, or Eclipse ECF) behind an OSGi service. The demo showed a Web services solution using Apache CXF as the distribution software, but the design should work with any distributed computing system.
The demo used Apache Felix for the OSGi framework and shows the configuration and publication of a remote OSGi service and uses CXF facilities to generate a WSDL file and consumer and provider proxies for the service.
The goal of distributed OSGi is to allow a service running in one OSGi framework to invoke a service running in another, potentially remote, OSGi framework (meaning a framework in a JVM). Today the OSGi standard defines how services talk to each other only within a single JVM. Extensions are needed to allow services to talk with each other across multiple JVMs - thus the requirements for distributed OSGi on which the design is based.
We did not want to invent a new distributed computing system, since so many already exist. (In fact we had pretty strong feedback on that point!) The design introduces some new OSGi properties to identify a service as remote and a discovery service through which a local service can find a remote service and obtain the metadata necessary to interact with that remote service. The design is intended to support any communication protocol and data format (with some constraints of course, having to do with the use of Java request/response interfaces as the service contract). Another goal of the design is to allow services in an OSGi framework to interact with services external to OSGi, both as client and server.
The design uses SCA intents to express a service's capabilities, and a requester can use these intents as a filter to help discover services with the required capabilities (e.g. security or reliability).
Overall we recieved good feedback, and a lot of questions pertaining to work that still needs to be done. We hope to be able to publish the code to Apache and publish a draft of the design doc this summer, perhaps in August, after we have a chance to formally review the initial implementation with the EEG membership, and get their blessing (no doubt there will be some changes as well since this is just the start).

Comments (3)
Eric,
Think the title "First Ever Demo of Distributed OSGi" is slightly misleading.
As you will be aware Paremus have been demonstrating distributed OSGi - the Newton project at www.codecauldron.org since summer 2006.
Regards
Richard
Posted by Richard Nicholson | June 11, 2008 7:40 PM
Posted on June 11, 2008 19:40
Richard,
You are right. A more correct title would have been "First Demo of Distributed OSGi Design Spec Implementation" or something like that.
I do know that many prior demos have been given of distributed computing capabilities on OSGi.
As you know, we have been working on standardizing Distributed OSGi in the Enterprise Expert Group (for which effort Paremus contributed some very helpful requirements). The milestone here is in the context of that effort, but I suppose the title could have been clearer.
Eric
Posted by Eric Newcomer | June 12, 2008 5:20 PM
Posted on June 12, 2008 17:20
Eric
No problem. Flagged to me by a couple of customers whom already running distributed OSGi systems. Honor satisfied :)
Cheers
Richard
p.s. Hope Berlin went well. Shame we couldn't get over there.
Posted by Richard Nicholson | June 12, 2008 5:44 PM
Posted on June 12, 2008 17:44