[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
Re: [ecf-dev] OSGI Remote Services And Whiteboard Pattern
 | 
On 5/7/2014 10:21 AM, Markus Alexander Kuppe wrote:
On 07.05.2014 16:55, Scott Lewis wrote:
For me, one thought that this discussion has triggered is that it might
ultimately be useful to create/introduce a discovery provider that's
implemented via the shared object API. One thing this could provide
would be to provide reliable discovery *within the context of a
particular pub/sub/distributed group*. This might provide some value for
the general whiteboard use case.
Hi Scott,
can you say more about this use case?
Sure.   It's just been running through my mind, but the idea is this:
What if an discovery provider (i.e. implementing the ECF discovery API) 
was implemented that used the same ECF container instance that was also 
being used by the distribution provider.   This would provide a single 
group context for both discovery and distribution....i.e. some set of 
group members would be either present in the group or not.   Further the 
group membership would be known...as is guaranteed by the shared object API.
I haven't yet convinced myself that this would provide enough 
benefits...for the whiteboard use case and/or others...to spend the 
effort to implement...but I'm thinking about it.   It would provide some 
stronger guarantees of reliability for discovery...via the failure 
detection, but like I said I'm thinking it through.
Right now, it sounds similar to
better failure detection for the shared object provider(s).
The failure detection for the shared object providers is ultimately 
dependent upon the reliability of the supporting transport...e.g. 
server-based tcp connection (hub and spoke topology) can provide 
stronger failure detection than, say multicast.     But the idea above 
is essentially to use the failure detection from the shared object API 
to implement the discovery API.    The layering implied is:
Discovery API  (and Remote Services API and Distributed 
EventAdmin...which already exist as shared objects)
SharedObject API
transport (ECF generic tcp/ssl, JMS, JavaGroups, MQTT, etc)
Another thing that the shared context would provide would be an 
association between the discovery metadata (edef) communication, and the 
remote services/distribution provider communication (i.e. the actual 
marshalling, remote call and response of remote service method calls).   
If one process failed/left the group, all group members would 'know' 
about this...via failure detection.
Again, I'm currentl just thinking about the utility of it...but you 
asked :).
Scott
M.
_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/ecf-dev