Hi All,

Just catching up with my email after the Xmas break and saw this thread. By way of a clarification on where we've got to with RMI/OSGi integration in Newton, here's a short update.

My colleague Rob is in the process of putting together a paper to describe how we can build a specification for RMI and OSGi integration. This is based on our experience of integrating these technologies within Newton. We'll be submitting this for discussion to the OSGi forum in the near future as this is obviously of wider importance for interoperability in the enterprise.

To date we've been working on OSGi/Jini integration within Newton and therefore we've had a lot of time to think about how to make RMI and OSGi work well together. However, our forthcoming paper will be relevant to any RMI/OSGi solution, not just Jini.

Ok so, where are we in terms of code in the Newton project? Currently we have implemented a Jini discovery and remoting layer based on the SCA specification. This entails:

* Discovering services via Java interface from reggie
* Dynamically generating remote codebase annotations (based on OSGi bundle imports and exports) for exported services/data objects * Intercepting classloading for Bundled classes for imported services/data objects to remap into the OSGi peer class loading model.

This allows us to seamlessly publish a remote service, import that service, and marshal and unmarshal data objects across the service interfaces, all based on the OSGi bundle specifications.

Areas where we have more work to do, but have partial solutions include:

* Handling multiple versions
* Dynamic installation of bundles based on unmarshal events
* Garbage collection of dynamically installed bundles

The above point on dynamic installation is required to handle the case where an object is unmarshalled from a remote service but there is currently no bundle installed in the OSGi container to provide the class for that object.

Currently we fall back to the standard RMI model where we download the class from the codebase. However, this can lead to class incompatibilities if that object is stored in a collection of some sort and later a bundle is installed that provides this class.

In the long term we need to be more intelligent about this and trigger the bundle installation lifecycle based on an unmarshal event.

Hope that's of some interest.

Regards,

Dave

Niclas Hedhman wrote:
On Saturday 23 December 2006 09:13, Thor Heinrichs-Wolpert wrote:

It looks to be a very promising project http://newton.codecauldron.org/

Yes, I know that. In fact, even went over to visit Richard, David and the gang in Londion a few weeks ago, for a first hand demo.

Apparently, they have overcome some of the difficulties, but I got the impression that they still struggle to do complete transparency and auto-resolution of classes in the MarshalledObject. If David Savage is on this list, perhaps he could elaborate what works and what could be improved on each side of the fence...


Cheers
Niclas

________________________________________________________________________
This email has been scanned by both Message Labs and Paremus internal systems for viruses and inappropriate attachments. Email suspected of carrying a virus payload or inappropriate attachment will not be delivered to you, and the sender will receive an appropriate warning notice.

Paremus Limited.
107-111 Fleet Street, London EC4A 2AB.  Phone number +44 20 7936 9098
________________________________________________________________________


________________________________________________________________________
The information transmitted is intended only for the person(s) or entity
to which it is addressed and may contain confidential and/or privileged
material. Any review, retransmission, dissemination or other use of, or
taking of any action in reliance upon, this information by persons or
entities other than the intended recipient is prohibited. If you
received this in error, please contact the sender and delete the
material from any computer.
Paremus Limited.
107-111 Fleet Street, London EC4A 2AB.  Phone number +44 20 7936 9098
________________________________________________________________________
_______________________________________________
OSGi Developer Mail List
[email protected]
http://www2.osgi.org/mailman/listinfo/osgi-dev

Reply via email to