Christopher Dolan wrote
The most important thing to me is that I any River 2.2.x code I write will be 
able talk to
my Jini 2.1 code.


I've been thinking about the impact of recent changes surrounding ServiceRegistrar and DiscoveryManager, it will be possible to have a binary compatible migration / upgrade path from 2.1 to 2.2.

Reggie's implementation for 2.2.x (currently experimental and subject to change) will be different from earlier versions, existing Jini application code will use the new implementation via a facade if running directly on the Apache River 2.2.x platform.

The impact; while Jini 2.1 nodes exist in a djinn, you will have to use at least one Reggie implementation prior to Apache River 2.2.0, the new nodes can utilise earlier versions of Reggie. Application code (Services and clients) Running on 2.2.x, can use new StreamServiceRegistrar methods, and Apache River 2.2.x will wrap a facade around any existing Jini 2.1 Reggie's, although results will not be available in marshalled form, so there won't be a performance advantage unless you utilise the new Apache River 2.2.x Reggie. The good news is that you can write new application code for the later Reggie version, while using the former (from a 2.2.x node) and then get the performance benefits when you upgrade.

Jini 2.1 nodes won't be able to join any groups that utilise a 2.2.x Reggie.

Existing application code, migrated from Jini 2.1 will work on Apache River 2.2.x and doesn't need an earlier Reggie version, as the platform will provide a facade to access the new Reggie via the old interface.

Best bet; have a look at what I've done so far & raise any concerns, or suggest improvements.

I'll post a javadoc diff in my personal apache web area, time permitting.

Cheers,

Peter.

Reply via email to