Asynchronous Remote Services - choices, choices
Join the DZone community and get the full member experience.
Join For FreeIn ECF's Helios release, we released an implementation of the OSGi remote services standard specification (chapter 13 in compendium).
In addition to the full spec implementation...which is based upon synchronous remote service proxies...we added support for asynchronous remote services.
This provides non-blocking access to remote OSGi services. This gives
remote service consumers choices...allowing them to invoke remote
services synchronously (i.e. by making a blocking method call on the
proxy), and/or asynchronously (with a guarantee that the calling thread
will not block).
I think that one nice thing about this approach is that the service host implementer has to do exactly nothing to make these consumer choices available. The implementation of the service host is exactly the same.
There are two styles of asynchronous access supported: an asynchronous callback (like GWT), and a future result, from the Actor model
of computation. These two styles of of asynchronous access...along
with the specified synchronous proxy...provides remote services
consumers with some useful choices for creating reliable distributed
systems and applications.
From http://eclipseecf.blogspot.com/2010/09/asynchronous-remote-services-choices.html
Opinions expressed by DZone contributors are their own.
Comments